Skip to content

Commit 2c42c0f

Browse files
committed
Updated release notes and fixed typo in readme.
1 parent 1d2663d commit 2c42c0f

File tree

4 files changed

+103
-15
lines changed

4 files changed

+103
-15
lines changed

Entitas upgrade guide.txt renamed to EntitasUpgradeGuide.md

Lines changed: 62 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,60 @@ https://bugzilla.xamarin.com/show_bug.cgi?id=25360
55
Please be aware of that issue and use any other text editor for that task.
66

77

8+
# Entitas 0.12.0 upgrade guide
9+
10+
Entitas 0.12.0 generates prefixed matchers based on the PoolAttribute and introduces some
11+
API changes. In your existing project with a Entitas version < 0.12.0 manually rename the
12+
following classes and methods.
13+
14+
## Before installing Entitas 0.12.0
15+
16+
#### Rename
17+
18+
pool.CreateSystem() -> pool.CreateExecuteSystem()
19+
20+
Now that you're prepared for integrating the latest version, delete your existing version
21+
of Entitas, EntitasCodeGenerator and EntitasUnity.
22+
23+
#### Delete
24+
25+
Entitas
26+
EntitasCodeGenerator
27+
EntitasUnity
28+
29+
## Install Entitas 0.12.0
30+
31+
#### Setup Entitas Preferences
32+
33+
Open the Unity preference panel and select Entitas. Check and update the path to the folder where
34+
the code generator will save all generated files. If you are using the `PoolAttribue` in your components,
35+
add all custom pool names used in your application. Make sure that all existing custom PoolAttribues call
36+
the base constructor with the same name as the class (without 'Attribute').
37+
If you are not using the `PoolAttribue` in your components, you can skip this process.
38+
39+
```cs
40+
using Entitas.CodeGenerator;
41+
42+
public class CoreGameAttribute : PoolAttribute {
43+
public CoreGameAttribute() : base("CoreGame") {
44+
}
45+
}
46+
```
47+
48+
#### Code Generator
49+
50+
Use the code generator and generate
51+
52+
#### Update API
53+
54+
Click the MenuItem "Entias/Update API". All occurrences of the old `Matcher` will be updated
55+
to the new version, which is prefixed based on the `PoolAttribute`.
56+
57+
#### Delete
58+
59+
Delete all custom PoolAttributes
60+
61+
862
# Entitas 0.10.0 upgrade guide
963

1064
Beside features, Entitas 0.10.0 includes lots of renaming. If your current Entitas
@@ -13,8 +67,9 @@ to speed up the integration of the latest version of Entitas.
1367
In your existing project with a Entitas version < 0.10.0 manually rename the following
1468
classes and methods.
1569

70+
## Before installing Entitas 0.10.0
1671

17-
# RENAME
72+
#### Rename
1873

1974
EntityRepository -> Pool
2075
EntityRepository.GetCollection() -> Pool.GetGroup()
@@ -32,34 +87,30 @@ classes and methods.
3287
IReactiveSubEntitySystem -> IReactiveSystem
3388
ReactiveEntitySystem -> ReactiveSystem
3489

35-
36-
# DELETE
90+
#### Delete
3791

3892
EntityWillBeRemovedEntityRepositoryObserver -> DELETE
3993
IReactiveSubEntityWillBeRemovedSystem -> DELETE
4094
ReactiveEntityWillBeRemovedSystem -> DELETE
4195

42-
4396
Now that you're prepared for integrating the latest version, delete your existing version
4497
of Entitas, EntitasCodeGenerator and ToolKit.
4598

46-
# DELETE
99+
#### Delete
47100

48101
Entitas
49102
EntitasCodeGenerator
50103
ToolKit (unless you use classes from ToolKit. The new version of Entitas doesn't depend on ToolKit anymore)
51104

52105

53-
Now add Entitas 0.10.0 and EntitasCodeGenerator.
54-
106+
## Install Entitas 0.10.0
55107

56-
# FIX REMAINING ISSUES
108+
#### Fix remaining issues
57109

58110
IReactiveSubEntityWillBeRemovedSystem
59111
- Consider implementing ISystem & ISetPool and use group.OnEntityWillBeRemoved += foobar;
60112

113+
#### Code Generator
61114

62-
# CODE GENERATOR
63-
64-
Use the code generator again
115+
Use the code generator and generate
65116

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ After you've read the readme, take a look at the [example project](https://githu
2525
### Entity
2626
You can imagine an entity as a container holding data to represent certain objects in your application. You can add, replace or remove data from entities in form of `IComponent`. Entities have corresponding events to let you know if components were added, replaced or removed.
2727

28-
Here's how you can interact with an entity. To enjoy a more natural and more readable API, simply use the code generator that comes with Entitas (see [Code Generator](#Code-Generator)). In this example you can see some generated methods for `PositionComponent`, `HealthComponent`, `MovableComponent`.
28+
Here's how you can interact with an entity. To enjoy a more natural and more readable API, simply use the code generator that comes with Entitas (see [Code Generator](#code-generator)). In this example you can see some generated methods for `PositionComponent`, `HealthComponent`, `MovableComponent`.
2929
```cs
3030
entity.AddPosition(0, 0, 0);
3131
entity.AddHealth(100);
@@ -58,7 +58,7 @@ foreach (var e in entities) {
5858
```
5959

6060
### Group
61-
Groups enables super quick filtering on all the entities in the pool. They are continuously updated when entities change and can return groups of entities instantly. You have thousands of entities and want only those who have a `PositionComponent`? Just ask the pool for this group, it already has the result waiting for you in no time.
61+
Groups enable super quick filtering on all the entities in the pool. They are continuously updated when entities change and can return groups of entities instantly. You have thousands of entities and want only those who have a `PositionComponent`? Just ask the pool for this group, it already has the result waiting for you in no time.
6262
```cs
6363
pool.GetGroup(Matcher.Position).GetEntities();
6464
```

RELEASE_NOTES.md

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,43 @@
1+
# 0.12.0
2+
3+
##### Important
4+
- Entitas 0.12.0 generates prefixed matchers based on the PoolAttribute and introduces some API changes. Please follow the [Entitas upgrade guide](https://github.com/sschmid/Entitas-CSharp/blob/master/EntitasUpgradeGuide.md)
5+
6+
##### General
7+
- Added IStartSystem and pool.CreateStartSystem() extension
8+
- Renamed pool.CreateSystem() to pool.CreateExecuteSystem()
9+
- Added pool.CreateStartSystem()
10+
- Added EntitasUpdater to automatically update the introduced matcher API changes
11+
12+
##### Visual Debugging
13+
- Fixed null exceptions
14+
- Added support for multi dimensional and jagged arrays
15+
- Removed Debug.Log
16+
17+
##### Code Generator
18+
- Added Code Generator PreferenceItem
19+
- set generated folder path
20+
- define multiple pools
21+
22+
![entitas-preferences](https://cloud.githubusercontent.com/assets/233700/7296726/8d74bb5a-e9c2-11e4-8324-10a0db7191ff.png)
23+
- Added PoolAttributeGenerator
24+
- Generated Matcher is now prefixed based on PoolAttribute (e.g. UIMatcher)
25+
- Generating ToString() for matchers to print component name instead of index
26+
- IndicesLookupGenerator generates indices ordered alphabetically
27+
- Added TypeGenerator to streamline string generation from types
28+
- Added support for nested classes
29+
30+
##### Other
31+
- Added Properties and CodeGeneratorConfig to serialize Entitas preferences to file
32+
- Removed warning in AbstractCompoundMatcher
33+
- buildPackage.sh only builds when all tests are passing
34+
- buildPackage.sh deletes meta files before creating zip archive
35+
36+
137
# 0.11.0
238

339
##### Reminder
4-
- Entitas 0.10.0 included lots of renaming. Please follow the [Entitas upgrade guide](https://github.com/sschmid/Entitas-CSharp/blob/master/Entitas%20upgrade%20guide.txt) if you are on < v0.10.0
40+
- Entitas 0.10.0 included lots of renaming. Please follow the [Entitas upgrade guide](https://github.com/sschmid/Entitas-CSharp/blob/master/EntitasUpgradeGuide.md) if you are on < v0.10.0
541

642
##### General
743
- Added AllOfCompoundMatcher
@@ -32,10 +68,11 @@
3268
- Moved and renamed some folders
3369
- Added buildPackage.sh which creates a bin/Entitas.zip with all necessary source files
3470

71+
3572
# 0.10.0
3673

3774
##### Important
38-
- Entitas 0.10.0 includes lots of renaming. Please follow the [Entitas upgrade guide](https://github.com/sschmid/Entitas-CSharp/blob/master/Entitas%20upgrade%20guide.txt)
75+
- Entitas 0.10.0 includes lots of renaming. Please follow the [Entitas upgrade guide](https://github.com/sschmid/Entitas-CSharp/blob/master/EntitasUpgradeGuide.md)
3976

4077
##### General
4178
- Added empty ISystem and IExecuteSystem for more flexibility

bin/Entitas.zip

2.79 KB
Binary file not shown.

0 commit comments

Comments
 (0)