summaryrefslogtreecommitdiffhomepage
path: root/CHANGELOG.mdown
blob: 5e922dd04984676fb37bfc0332e100eb8ceb3d6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# ChangeLog

###### [major.minor.bugfix] - year-month-day

![Fixed](https://img.shields.io/badge/-Fixed-blue)
![Added](https://img.shields.io/badge/-Added-brightgreen)
![Changed](https://img.shields.io/badge/-Changed-yellow)
![Deprecated](https://img.shields.io/badge/-Deprecated-orange)
![Removed](https://img.shields.io/badge/-Removed-red)


## [5.0.1](https://github.com/realtradam/FelFlame/releases/tag/5.0.1) - 2022-02-03
![Added](https://img.shields.io/badge/-Added-brightgreen)
- Added a method to the Entity Manager which allows grouping entities by components and then execute a block for each one.
```ruby
FelECS::Entities.group(@component_manager_one, @component_manager_two).do |cmp1, cmp2, ent|
# do stuff with the components and entity
end
```

## [5.0.0](https://github.com/realtradam/FelFlame/releases/tag/5.0.0) - 2022-02-02
![Changed](https://img.shields.io/badge/-Changed-yellow)
- Renamed to FelECS

![Fixed](https://img.shields.io/badge/-Fixed-blue)
- Trigger on attr_changed was fixed to now trigger the system after the attr value is changed.

## [4.0.0](https://github.com/realtradam/FelFlame/releases/tag/4.0.0) - 2021-12-30
![Removed](https://img.shields.io/badge/-Removed-red)
- Removed all ids as they were not used

![Changed](https://img.shields.io/badge/-Changed-yellow)
- Scenes now have their own priority attribute
- Stages now sort and execute by Scenes, rather then the net Systems in the Scenes
- Component method `.attrs` was renamed to `.to_h`
- Renamed the `data` accessor to `._data`
- Various arrays are automatically compacted

![Added](https://img.shields.io/badge/-Added-brightgreen)
	- Classes and Modules which used a data array now have the entire set of array methods available to their respective Classes and Modules
- Convenience methods for accessing a single entity in a component(`@component.entity`) and accessing a single entity in a component(`@entity.component[@component_manager]`)
	- `FelFlame::Order` class which can set the order of your Scenes and Systems

	![Fixed](https://img.shields.io/badge/-Fixed-blue)
	- Replaced all instances of `sort_by!` with `sort_by` for compatibility with mruby
	- Minor optimizations such as less array duplication

## [3.0.0](https://github.com/realtradam/FelFlame/releases/tag/3.0.0) - 2021-07-12
	![Changed](https://img.shields.io/badge/-Changed-yellow)
	- The Scene alias was changed from ```FelFlame::Sce``` to ```FelFlame::Scn``` as it is more intuitive.

## [2.0.0](https://github.com/realtradam/FelFlame/releases/tag/2.0.0) - 2021-07-10
	![Changed](https://img.shields.io/badge/-Changed-yellow)
	- Entities and Components now reference each other using the objects themselves rather then their id's
	```ruby
# before:
	@entity.components[@component_manager].each do |component_id|
# iterate over id's, usually would need to do a lookup to get the component itself
	end

# after:
	@entity.components[@component_manager].each do |component|
# iterate over the components themselves! No need for lookup anymore
	end
	```
	```ruby
# same for components referencing entities
# before:
	@component.entities.each do |entity_id|
#iterate over id's
	end

# after:
	@component.entities.each do |entity|
# directly iterate over entities themselves!
	end
	```


## [1.0.2](https://github.com/realtradam/FelFlame/releases/tag/1.0.2) - 2021-07-09
	![Fixed](https://img.shields.io/badge/-Fixed-blue)
	- Stripped superflous files shrinking gem size significantly

## [1.0.1](https://github.com/realtradam/FelFlame/releases/tag/1.0.1) - 2021-07-09
	![Fixed](https://img.shields.io/badge/-Fixed-blue)
	- Defining attributes in components are no longer allowed to overwrite methods

## [1.0.0](https://github.com/realtradam/FelFlame/releases/tag/1.0.0) - 2021-07-09
	![Added](https://img.shields.io/badge/-Added-brightgreen) 
	- Initial release