Post by Admin on Jul 16, 2016 3:12:28 GMT
|
Post by Admin on Jul 16, 2016 3:13:13 GMT
Simon Schmid @sschmid Aug 12 2015 01:28 You can now easily share and use components in multiple pools [MetaGame, CoreGame] public class PositionComponent : IComponent { ... } You could extend and use your own code generators before, but this release makes it more obvious by exposing all existing generators in the preference panel. You can now easily disable the default ones or add your own ones
|
Post by Admin on Jul 16, 2016 3:14:42 GMT
Christian Schuster @chrischu Aug 12 2015 02:37 Hi! I just noticed there might be a problem with the project "Tests" Apparently its target framework is set to v3.5 and not every other project is. So actually the problem lies with Entitas.Migration That project does not have a target framework set so it apparently defaults to 4.0 and then it does not work well with the Tests project. At least VisualStudio is not happy about it
|
Post by Admin on Jul 16, 2016 3:14:54 GMT
Brandon Catcho @bcatcho Aug 12 2015 02:42 Ah. I didn't find any issue with it, though I deleted it after realizing I didn't need to upgrade from an old version of Entitas. You should open an issue for this
|
Post by Admin on Jul 16, 2016 3:15:02 GMT
Christian Schuster @chrischu Aug 12 2015 02:55 I will .
|
Post by Admin on Jul 16, 2016 3:15:12 GMT
Christian Schuster @chrischu Aug 12 2015 03:05 Issue created and pull request submitted.
|
Post by Admin on Jul 16, 2016 3:15:23 GMT
Christian Schuster @chrischu Aug 12 2015 05:05 Btw: Have you guys thought about changing the release method from source code to assemblies? Why not? Not that it is, a big issue for me, I'm just curious for your reasons behind using source code .
|
Post by Admin on Jul 16, 2016 3:15:33 GMT
Christian Schuster @chrischu Aug 12 2015 05:15 Oh and is it also on purpose that the solution for Entitas does not contain the Editor projects? I must really say you guys don't make it terribly easy to contribute via pull requests .
|
Post by Admin on Jul 16, 2016 3:15:45 GMT
Simon Schmid @sschmid Aug 12 2015 05:23 see #4, which explains, why we don't ship dlls
|
Post by Admin on Jul 16, 2016 3:15:58 GMT
Simon Schmid @sschmid Aug 12 2015 05:23 see #4, which explains, why we don't ship dlls Quote "Pool, Entity and Matcher are partial classes. If you use the code generator, which is adding functionality to the Pool, Entity and Matcher, you have to use the Entitas sources and not the dll. Partial classes are a purely language feature. When an assembly is compiled, the files are combined to create the type. It isn't possible to spread the files out into different assemblies"
|
Post by Admin on Jul 16, 2016 3:16:10 GMT
Christian Schuster @chrischu Aug 12 2015 06:42 Haha, now I feel really dumb .
|
Post by Admin on Jul 16, 2016 3:16:17 GMT
Simon Schmid @sschmid Aug 12 2015 06:45 I'd actually prefer to ship dlls, but I didn't find a way yet...
|
Post by Admin on Jul 16, 2016 3:16:27 GMT
Brandon Catcho @bcatcho Aug 12 2015 11:11 I updated to 0.20.0 without too much effort. It's neat that components can now be in multiple pools. I'll be trying that out next weekend and will monitor its usefulness. I did find the breaking change odd however. Mostly because I had an IExecuteSystem, ISetPool` with a matcher like this:
public void SetPool(Pool pool) { _group = pool.GetGroup(Matcher.AllOf(LockStepPoolMatcher.Targeter, Matcher.NoneOf(LockStepPoolMatcher.Target))); }
I fixed it by ensuring entity.hasTarget is false when looping through the entities. But that's not my issue...
|
Post by Admin on Jul 16, 2016 3:18:35 GMT
Brandon Catcho @bcatcho Aug 12 2015 11:19 My issue comes back to how the framework should be used. I could use an IReactiveSystem and IExculdeComponents to make sure I am only operating on entities that can target but don't have one. With this method I would have to do a entity.ReplaceTargeter on every frame where it didn't have a target to keep it in the reactive pool. This feels like a bad practice. A lot of overhead to do nothing. Another option is to have a Targeting component. I could remove the Targeting component once I have found a target. But I really am weary of small components that indicate a state of an overall concept. It feels like a slippery slope and a potential waste of memory (if there are lots of these).
This feels like a really common problem even for a small project and it would be interesting to hear @sschmid and @mzaks thoughts on it since you two have no doubt run across this.
|