Commit Graph

127 Commits (511a05f18ec5b677117ebf66014b90eb4cb40306)

Author SHA1 Message Date
Evan Hemsley 5bcde8bb96 fix crash where overwriting an existing component on the same frame as an entity was being destroyed would cause the component to not be destroyed 2019-08-22 20:07:41 -07:00
Evan Hemsley 4a7f65f2f5 more write conflict checks 2019-08-21 17:54:43 -07:00
Evan Hemsley 971a663cf9 write priority system and require read declaration for entity lookups by component 2019-08-21 15:13:48 -07:00
thatcosmonaut 9813c260ae started the component write priority system 2019-08-20 19:25:59 -07:00
thatcosmonaut b8d3d706ad fix crash when entity is added and removed same frame 2019-08-20 15:44:01 -07:00
thatcosmonaut d084286c83 delayed message system 2019-08-19 19:05:18 -07:00
Evan Hemsley 8fd2307fbb fix pending component type and id lookups 2019-08-11 11:47:12 -07:00
Evan Hemsley 162dbe52a2 fix broken entity ID lookup on pending components 2019-08-11 11:26:31 -07:00
Evan Hemsley c1e206ef49 allow only one component per type per entity 2019-08-10 17:34:00 -07:00
Evan Hemsley dbe6cc4f53 accidentally destroyed every pooled dictionary when an entity was destroyed LOOOL 2019-08-01 23:09:41 -07:00
Evan Hemsley 5dd923e07a ReadComponent should no longer throw 2019-08-01 16:48:02 -07:00
Evan Hemsley d86c002305 optimize component message system 2019-08-01 16:24:57 -07:00
Evan Hemsley ec3b0df585 rework EntityRenderer to OrderedRenderer 2019-08-01 15:06:19 -07:00
Evan Hemsley d6c84b950a remove activation concept from components and entities 2019-07-31 10:35:17 -07:00
Evan Hemsley c7cae0d9d1 bring back ReadsPending attribute 2019-07-23 10:17:53 -07:00
Evan Hemsley 41c81a0aa0 addcomponent optionally sends pending component message 2019-07-22 22:52:51 -07:00
Evan Hemsley fd8a0b1b00 read existing or pending components automagically based on attribute declarations 2019-07-20 14:10:06 -07:00
thatcosmonaut fea5c57860 update engine generator 2019-07-19 17:50:13 -07:00
thatcosmonaut 89154f21d7 introduce concept of pending component 2019-07-19 16:15:48 -07:00
Evan Hemsley 1845d5f766 read new and existing component system 2019-07-19 12:47:17 -07:00
Evan Hemsley 80effc06dc fix componentmessage self-cycle and rename WorldBuilder.EmitMessage 2019-07-18 21:07:26 -07:00
Evan Hemsley 0639eef118 rename EmitMessage to SendMessage and add special case for component self-cycle 2019-07-18 20:31:31 -07:00
Evan Hemsley c8c5a8c7c4 change attributes 2019-07-18 18:20:38 -07:00
Evan Hemsley 3deff94dfe all component reads use ComponentMessage now 2019-07-18 17:50:38 -07:00
thatcosmonaut a42123f58d the big ComponentMessage rework 2019-07-18 14:02:57 -07:00
thatcosmonaut a62153730f component updates at end of frame 2019-07-17 18:53:31 -07:00
thatcosmonaut f960712f57 component writes moved back to end of frame 2019-07-17 18:12:29 -07:00
Evan Hemsley 949c3aa26d adds read check to HasComponent and HasComponent and SomeComponent to Renderer 2019-07-17 13:15:15 -07:00
Evan Hemsley 918621db73 adds SomeComponent to Engine and renames Some to SomeMessage 2019-07-17 11:46:54 -07:00
Evan Hemsley 64f6e13216 move all methods off of Entity 2019-07-17 11:24:21 -07:00
Evan Hemsley 9b58473ae8 engines must declare component reads + validation for Reads and Writes arguments 2019-07-16 11:17:07 -07:00
Evan Hemsley 7ab512e522 started reworking component mutation 2019-07-16 09:47:58 -07:00
Evan Hemsley 2d929e4665 adds EntityExists method + fixes crash when destroying an entity that has no components 2019-07-12 17:37:31 -07:00
Evan Hemsley 751d36a844 fix crash when removing a specific component from an entity the same frame the entity is destroyed 2019-07-10 18:22:08 -07:00
Evan Hemsley caac238ff9 fix issue where ReadComponents would read inactive components 2019-07-10 09:53:38 -07:00
Evan Hemsley 8d39c27b7f fix engine ordering issue with Spawner 2019-06-28 22:57:18 -07:00
Evan Hemsley ca0781fc56 Merge branch 'master' of github.com:thatcosmonaut/encompass-cs 2019-06-28 22:08:09 -07:00
Evan Hemsley a9d774a43f add Spawner engine type 2019-06-28 22:07:48 -07:00
Evan Hemsley 87c5a785c7 changing KeyValueTuple component returns to ValueTuple 2019-06-27 16:55:12 -07:00
Evan Hemsley 148d629e51 AddEntityRenderer and AddGeneralRenderer take initialized renderers 2019-06-24 16:49:26 -07:00
Evan Hemsley 29179e0ad6 fix borked tests 2019-06-24 12:40:40 -07:00
thatcosmonaut c7a4297cff
Merge pull request #1 from encompass-ecs/special_engines
Detectors and some API Changes
2019-06-24 12:35:32 -07:00
Evan Hemsley 9bb8fbda25 change WorldBuilder.AddEngine to take an instantiated Engine 2019-06-24 12:26:19 -07:00
Evan Hemsley b4347f4085 implement Detector and change World and Engine update to use double 2019-06-24 12:14:37 -07:00
Evan Hemsley 88248a962c rename some engine methods for consistency 2019-06-21 17:50:01 -07:00
Evan Hemsley e964055ec1 add some convenience methods to Engines 2019-06-21 17:44:07 -07:00
Evan Hemsley fde3cfe9e3 fix null lookup bug in message manager 2019-06-21 17:23:52 -07:00
Evan Hemsley 987b30ceae fix cast bug in Entity.GetComponents 2019-06-20 12:38:19 -07:00
Evan Hemsley 5e161e2254 update csproj files again 2019-06-19 23:22:47 -07:00
Evan Hemsley 8bfbd91450 update csproj files 2019-06-19 23:10:01 -07:00
Evan Hemsley 4a54a5544c refactor rendering to not use layer property 2019-06-19 22:38:56 -07:00
Evan Hemsley dd75a94d18 misc backend fixes + more tests 2019-06-19 20:37:46 -07:00
Evan Hemsley 116f424262 more entity tests 2019-06-19 18:10:39 -07:00
Evan Hemsley 1375adf63d general renderer read tests 2019-06-19 18:01:08 -07:00
Evan Hemsley cf6d59bb5b draw layer manager and final entity renderer tests 2019-06-19 17:40:01 -07:00
Evan Hemsley 5941029927 initial rendering implementation 2019-06-19 14:14:44 -07:00
Evan Hemsley 8501b0670b rearrange project 2019-06-19 11:19:18 -07:00
Evan Hemsley 5bd21c631e more component read tests 2019-06-17 12:12:07 -07:00
Evan Hemsley 7c787290eb refactor so entity and components use GUID 2019-06-17 11:33:38 -07:00
Evan Hemsley e8a8488dbb test undeclared some 2019-06-16 18:16:45 -07:00
Evan Hemsley 0e3c775bc5 Some method 2019-06-16 18:11:35 -07:00
Evan Hemsley c2abd4b292 fix message add 2019-06-16 18:03:57 -07:00
Evan Hemsley cfc5ca178f world builder structure 2019-06-16 17:56:36 -07:00
Evan Hemsley c1aa6a07c9 start on message stuff 2019-06-15 18:55:35 -07:00
Evan Hemsley 32523d2d2d remove debug print 2019-06-15 16:45:33 -07:00
Evan Hemsley 9a14461a2f cycle detector 2019-06-15 16:44:22 -07:00
Evan Hemsley cb60c4ebd3 started on directed graph implementation 2019-06-15 14:47:55 -07:00
Evan Hemsley 700f10f31e formatting 2019-06-15 12:32:56 -07:00
Evan Hemsley d9756e0c3d update component uses a callback now 2019-06-15 11:40:42 -07:00
Evan Hemsley cb872b7c42 component update mechanism 2019-06-15 00:39:08 -07:00
Evan Hemsley 4b9610762a read component tests 2019-06-14 18:13:24 -07:00
Evan Hemsley 40763d2559 initial engine 2019-06-14 17:51:06 -07:00
Evan Hemsley f88870e2d8 world builder 2019-06-14 17:03:56 -07:00
Evan Hemsley e4b4e47327 changing everything to structs 2019-06-13 22:15:15 -07:00
Evan Hemsley f3fa440583 more tests 2019-06-13 20:41:21 -07:00
Evan Hemsley d94d6bc8f3 some basic entity and component structure 2019-06-13 20:28:26 -07:00
Evan Hemsley d6c50a7778 initial commit 2019-06-12 19:51:36 -07:00