Commit Graph

196 Commits

Author SHA1 Message Date
Lynix f137a75267 (NDK) Added Listener component and system
Former-commit-id: 0553c4ad9a7e33608e9ab91bd4ca8812272a6293
2015-04-12 19:38:38 +02:00
Lynix f290b8d886 (NDK) Added Application class
Let's try something


Former-commit-id: ebace85e2b050b1fbb994a61a644b60b85cc5a30
2015-04-07 17:41:17 +02:00
Lynix 1bd45731cd (NDK) Added NodeComponent
Former-commit-id: 61b970c31a12a1b128e72c4754590528b6c1b4d6
2015-04-07 17:39:45 +02:00
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 cdd3e9e8f2 (World) Fixed dirty entity bitset not being cleared
Former-commit-id: 28fbfe2d21807db7eba249118e35fb087db4ddb9
2015-03-18 13:01:40 +01: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 0d8f7546a9 Fixed copyright notices
Former-commit-id: d5ccaa115ad229def2925099f82540ffa91c2297
2015-03-01 19:48:01 +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 5fb728d0be (World) Added DOC comments
Former-commit-id: 211735ec2cf553b991f95b210af5e7e451ab4f1f
2015-02-08 16:30:23 +01:00
Lynix 266da016ad (World) Added clear method
Former-commit-id: 54789542144a382c134042fa8050d06d3a80ca5d
2015-02-08 15:45:42 +01:00
Lynix 12824deba2 (World) Fixed entity killing
Former-commit-id: 180cd3c163cb2c6595a6710ce9302bcb83923870
2015-02-08 15:43:27 +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