Skip to content

Commit

Permalink
Updated release notes and fixed typo in readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
sschmid committed Apr 23, 2015
1 parent 1d2663d commit 2c42c0f
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 15 deletions.
73 changes: 62 additions & 11 deletions Entitas upgrade guide.txt → EntitasUpgradeGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,60 @@ https://bugzilla.xamarin.com/show_bug.cgi?id=25360
Please be aware of that issue and use any other text editor for that task.


# Entitas 0.12.0 upgrade guide

Entitas 0.12.0 generates prefixed matchers based on the PoolAttribute and introduces some
API changes. In your existing project with a Entitas version < 0.12.0 manually rename the
following classes and methods.

## Before installing Entitas 0.12.0

#### Rename

pool.CreateSystem() -> pool.CreateExecuteSystem()

Now that you're prepared for integrating the latest version, delete your existing version
of Entitas, EntitasCodeGenerator and EntitasUnity.

#### Delete

Entitas
EntitasCodeGenerator
EntitasUnity

## Install Entitas 0.12.0

#### Setup Entitas Preferences

Open the Unity preference panel and select Entitas. Check and update the path to the folder where
the code generator will save all generated files. If you are using the `PoolAttribue` in your components,
add all custom pool names used in your application. Make sure that all existing custom PoolAttribues call
the base constructor with the same name as the class (without 'Attribute').
If you are not using the `PoolAttribue` in your components, you can skip this process.

```cs
using Entitas.CodeGenerator;

public class CoreGameAttribute : PoolAttribute {
public CoreGameAttribute() : base("CoreGame") {
}
}
```

#### Code Generator

Use the code generator and generate

#### Update API

Click the MenuItem "Entias/Update API". All occurrences of the old `Matcher` will be updated
to the new version, which is prefixed based on the `PoolAttribute`.

#### Delete

Delete all custom PoolAttributes


# Entitas 0.10.0 upgrade guide

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

## Before installing Entitas 0.10.0

# RENAME
#### Rename

EntityRepository -> Pool
EntityRepository.GetCollection() -> Pool.GetGroup()
Expand All @@ -32,34 +87,30 @@ classes and methods.
IReactiveSubEntitySystem -> IReactiveSystem
ReactiveEntitySystem -> ReactiveSystem


# DELETE
#### Delete

EntityWillBeRemovedEntityRepositoryObserver -> DELETE
IReactiveSubEntityWillBeRemovedSystem -> DELETE
ReactiveEntityWillBeRemovedSystem -> DELETE


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

# DELETE
#### Delete

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


Now add Entitas 0.10.0 and EntitasCodeGenerator.

## Install Entitas 0.10.0

# FIX REMAINING ISSUES
#### Fix remaining issues

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

#### Code Generator

# CODE GENERATOR

Use the code generator again
Use the code generator and generate

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ After you've read the readme, take a look at the [example project](https://githu
### Entity
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.

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`.
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`.
```cs
entity.AddPosition(0, 0, 0);
entity.AddHealth(100);
Expand Down Expand Up @@ -58,7 +58,7 @@ foreach (var e in entities) {
```

### Group
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.
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.
```cs
pool.GetGroup(Matcher.Position).GetEntities();
```
Expand Down
41 changes: 39 additions & 2 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,43 @@
# 0.12.0

##### Important
- 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)

##### General
- Added IStartSystem and pool.CreateStartSystem() extension
- Renamed pool.CreateSystem() to pool.CreateExecuteSystem()
- Added pool.CreateStartSystem()
- Added EntitasUpdater to automatically update the introduced matcher API changes

##### Visual Debugging
- Fixed null exceptions
- Added support for multi dimensional and jagged arrays
- Removed Debug.Log

##### Code Generator
- Added Code Generator PreferenceItem
- set generated folder path
- define multiple pools

![entitas-preferences](https://cloud.githubusercontent.com/assets/233700/7296726/8d74bb5a-e9c2-11e4-8324-10a0db7191ff.png)
- Added PoolAttributeGenerator
- Generated Matcher is now prefixed based on PoolAttribute (e.g. UIMatcher)
- Generating ToString() for matchers to print component name instead of index
- IndicesLookupGenerator generates indices ordered alphabetically
- Added TypeGenerator to streamline string generation from types
- Added support for nested classes

##### Other
- Added Properties and CodeGeneratorConfig to serialize Entitas preferences to file
- Removed warning in AbstractCompoundMatcher
- buildPackage.sh only builds when all tests are passing
- buildPackage.sh deletes meta files before creating zip archive


# 0.11.0

##### Reminder
- 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
- 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

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


# 0.10.0

##### Important
- 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)
- Entitas 0.10.0 includes lots of renaming. Please follow the [Entitas upgrade guide](https://github.com/sschmid/Entitas-CSharp/blob/master/EntitasUpgradeGuide.md)

##### General
- Added empty ISystem and IExecuteSystem for more flexibility
Expand Down
Binary file modified bin/Entitas.zip
Binary file not shown.

0 comments on commit 2c42c0f

Please sign in to comment.