Commit Graph

189 Commits

Author SHA1 Message Date
Lynix 46d125d205 (NDK) Added explicit initialisation
Components and systems just can't be initialized at startup, so we need
some kind of explicit initialisation. I followed the same layout as the
others modules by adding a core class (Ndk::Sdk) which will initialize
components and systems, and Nazara's modules.

This is starting to get serious, I like it.


Former-commit-id: 263500e8d16db70ef7f92047b8a7e3235c08bcd0
2015-04-07 17:39:20 +02:00
Lynix a1280a6af3 (World) Renamed internal method Mark(All)AsDirty
To Invalidate


Former-commit-id: 62e62d82258227d652711c3933a816845a076e53
2015-04-07 15:50:43 +02:00
Lynix ebc651dec8 (World) Added GetEntities() method
Former-commit-id: 14095df977d566b3a3c306542bd4d83bd11392d1
2015-04-07 15:38:08 +02:00
Lynix 7351ce46fb Removed useless space
Former-commit-id: 8eefc03bf288bf24df61b6d5ac4f2f38b69e1c18
2015-04-05 16:35:43 +02:00
Lynix 8421a543fb Changed component index variable name
From CamelCase to camelCase (since I use camelCase for the variables)


Former-commit-id: 3382295dda75378e40835c23040bd2738736a210
2015-04-05 16:19:45 +02:00
Lynix 6a99b38be1 (NDK) Modified component/system registration interface
Let's hope it's the last time I do this


Former-commit-id: 75f8e63e90e067a7d21efa6a1226ae4bbe050ab9
2015-04-05 15:57:24 +02:00
Lynix 28b0e26a88 (EntityHandle) Fixed hashs
Former-commit-id: f5d23d81a5b46dfbf90d2004dfeb9595f30c2df2
2015-03-31 02:20:30 +02:00
Lynix c25f824f65 (NDK) Fixed compilation error
Former-commit-id: c762dbf34c0141882df0ce43509277877c5c559e
2015-03-30 14:17:25 +02:00
Lynix 1903cbda8d (NDK) Minor changes
Added some asserts and comments,


Former-commit-id: 805246f0276aac157c66cbf346c392ab57934e84
2015-03-30 04:36:56 +02:00
Lynix 6d1ac4fe18 Re-remade component and system ids
Former-commit-id: 98b76695cca904c55c7333801c3cdf693da15086
2015-03-30 04:18:44 +02:00
Lynix be8f6edeb4 Improved interface
EntityHandle are no longer required to pass Entity as arguments
World::CreateEntity() now returns a const EntityHandle&

Former-commit-id: 6fc53ce5759a2a508094bdc61b4471f13f0844ec
2015-03-18 00:49:44 +01:00
Lynix e91313b62d Added systems
It's now officially an ECS, yay!


Former-commit-id: e2aacaa5c9fd362921cf3d064e346d11f942bd59
2015-03-17 19:55:39 +01:00
Lynix bc40fbb02f Remade component ids
No longer based on incrementing counter


Former-commit-id: b875e17781d8bcda48ea9ada523adf0823b22a8b
2015-03-17 19:53:59 +01:00
Lynix 0ba034f7e9 (Entity) Added components bits
Moved [Add/Remove]Component implementation to .cpp


Former-commit-id: e61e8c57911c2e106e6c0959b692a006b8f58c40
2015-03-17 12:34:03 +01:00
Lynix 03ef0f9f50 (World) GetEntity now returns a const reference
Former-commit-id: 179139a21c639bbb2c96058095a82f3be76de5c1
2015-03-16 22:16:35 +01:00
Lynix 3694857d30 (World) Optimized entities handling a lot
Former-commit-id: f05f3bb7bf321d30fd51f504ace95aa0ea9f7f8d
2015-03-16 22:14:18 +01:00
Lynix b30298b6ab (World) Removed useless forward-declaration
Former-commit-id: e4a3a34326f9e2d6afdbae062274e2ef63da898d
2015-03-16 22:05:03 +01:00
Lynix 7bac245a0f (Entity) GetComponent no longer throw
Former-commit-id: 8efd0f5aba9c49d7f06ba290425f9e55c2f1eba3
2015-03-14 16:53:26 +01:00
Lynix a16582d20d Removed useless includes
Former-commit-id: 2343f21e70621f194213085b6f83b10d958be09c
2015-03-14 16:52:44 +01:00
Lynix 6bd6039051 (Entity) Fixed typo in method name
Former-commit-id: 40588d78fe38b2ec9ca9998e0c7ce4c73af3b27b
2015-03-14 13:53:10 +01:00
Lynix 40727cc0ca (World) Fixed EntityHandle passed by value
Former-commit-id: c4b4b5cbb4d84110416a4493fc09e7b95e137bc6
2015-03-14 13:21:29 +01:00
Lynix fb148c1aa0 Removed useless include/declaration
Former-commit-id: 7ad1c9940aee9ce00000ba8c31ac05117d2b6c31
2015-03-09 19:05:47 +01:00
Lynix c818ef7d4b (EntityHandle) Fixed swap
Former-commit-id: 735dd9d2c3080d202306ef9cfb1bb130639e93cd
2015-03-09 19:05:32 +01:00
Lynix c71c050831 (Entity) Added non-template version of components handling
Former-commit-id: 0f9795a0b130e6e5ebb26782459d79bde1b0efa1
2015-03-01 13:42:17 +01:00
Lynix 7c73407fa4 (Component) Fixed Clone method
Former-commit-id: afa38a9b684f045dc3cf0d072736ebb6c47e4bd7
2015-03-01 13:41:44 +01:00
Lynix 99bf3d95f7 (BaseComponent) Renamed GetComponentId to GetId
Former-commit-id: 9cc5a3d86755f0b9928ef697e0e0c16c068819bc
2015-03-01 13:41:15 +01:00
Lynix 9c0c991fe0 (Component) Added clone virtual method
Replaced Component<C>::GetId by GetComponentId<C>()


Former-commit-id: 4fae3f73c7fad0a5c36dae16e49b6f12c8bf6ae2
2015-03-01 11:21:58 +01:00
Lynix 8b77825fb8 (Entity) Changed template name from C to ComponentType
Former-commit-id: 780c96238f5f976b9caa86ec982bec7b5fd9ee8a
2015-03-01 11:19:54 +01:00
Lynix 699b580516 Added Components
Former-commit-id: 02f9e9892b58a725697b83e7b75127db5b3a27f4
2015-03-01 01:53:49 +01:00
Lynix ba127ef7b2 (Entity) Fixed handles not being cleared after destruction
Also updated some comments


Former-commit-id: 86b23fca0806c637fbe007df4c7edfb52b95f8e1
2015-02-24 16:15:17 +01:00
Lynix 6201183572 (World) Replaced pointers to Entity by EntityHandle
Former-commit-id: b29aaaa7362c0c816dc270e15ba5f8253717c457
2015-02-19 23:51:17 +01:00
Lynix 924d10e61c (Entity) Changed handle storage from a set to a vector
For performances reasons (creating handles no longer require any memory
allocation)


Former-commit-id: 76d705997c7fa3be78b063c6d602b09c7c20b2fd
2015-02-19 23:35:15 +01:00
Lynix 86fbb310c3 Fixed some files encoding (wasn't UTF-8)
Former-commit-id: cabceea2588d390da5d52a06517754ba97721efc
2015-02-19 23:24:56 +01:00
Lynix 3a18035989 Remade Entities
Former-commit-id: 25f7bc84279fdf58b44cf78e2d94b4cbb78a8410
2015-02-19 22:06:57 +01:00
Lynix 1d79efeb7f (World) Optimized CreateEntities method
Former-commit-id: 99b89aad500ebaa18fb733ad04a94010728e8370
2015-02-08 22:26:28 +01:00
Lynix 32951deed8 (World) Inlined some methods
Former-commit-id: eab086bdde8b11cc261faf2cb5d161bbfcebdc73
2015-02-08 17:47:41 +01:00
Lynix d5a8bdca12 (Entity) Inlined most code
Former-commit-id: 287c7c557263497ba89451dd2d640fcd8522ef3a
2015-02-08 17:39:06 +01:00
Lynix 266da016ad (World) Added clear method
Former-commit-id: 54789542144a382c134042fa8050d06d3a80ca5d
2015-02-08 15:45:42 +01:00
Lynix 5067767074 (NDK) First commit
-Still missing a build file
-This is an Entity Component System, without any component nor system,
so this is an Entity. Yay.


Former-commit-id: f04d2fdfe8819826f940469c2618140a26afa637
2015-02-06 13:56:27 +01:00