Commit Graph

113 Commits (6858ec1b0fdd5c7505f5ce45e72235219ceead54)

Author SHA1 Message Date
Evan Hemsley 0293263684 fix component updates 2019-12-05 15:14:28 -08:00
Evan Hemsley 5513402573 removed all component ID stuff 2019-12-05 14:59:55 -08:00
Evan Hemsley a4c3040239 start removing component ID system 2019-12-05 12:10:33 -08:00
Evan Hemsley 506aee8c37 started rewriting managers to not reference interfaces 2019-12-04 20:50:08 -08:00
Evan Hemsley 1195f03fb2 Merge branch 'master' of github.com:thatcosmonaut/encompass-cs 2019-11-22 16:43:10 -08:00
Evan Hemsley 038b3aceee SetComponent should not require Reads 2019-11-22 16:43:07 -08:00
thatcosmonaut f05b7f725d remove time dilation priority system in favor of averaging 2019-11-22 13:14:36 -08:00
thatcosmonaut d45295ae87 messages with time dilation system 2019-11-21 14:22:10 -08:00
thatcosmonaut fc50bf9b81 implementation of time dilation system for engines 2019-11-21 13:53:33 -08:00
Evan Hemsley 83b180fadb system for changing drawable component layer 2019-11-20 19:26:44 -08:00
Evan Hemsley d53bf043db replace IDrawComponent with IDrawableComponent and remove SetDrawComponent 2019-11-20 19:16:44 -08:00
Evan Hemsley 62dfdb758a remove exposed GUIDs from the API 2019-11-20 19:01:29 -08:00
Evan Hemsley b8d66e7642 adds Engine.RemoveComponent<TComponent>(Entity) 2019-11-17 10:48:39 -08:00
Evan Hemsley c994e9d7fe add component reader methods that include entities 2019-11-13 20:08:11 -08:00
thatcosmonaut 3b6d473aeb implement runtime type GetComponent 2019-11-13 13:24:20 -08:00
thatcosmonaut 591cd980d9 runtime type HasComponent 2019-11-13 13:15:43 -08:00
Evan Hemsley 790e36b2d3 graph logic depends on MoonTools.Core.Graph 2019-10-24 13:13:43 -07:00
Evan Hemsley 85f99a565c adds some convenience methods and doc comments 2019-10-24 12:48:36 -07:00
Evan Hemsley 27c3fa1058 explicitly require IDrawComponent interface on SetDrawComponent 2019-09-26 13:34:56 -07:00
Evan Hemsley dd22c00072 fix crash on multiple write declarations 2019-08-21 19:21:55 -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
thatcosmonaut 0447610b23 fix crash when components are added to an entity that will be destroyed 2019-08-19 18:11:15 -07:00
thatcosmonaut 1b30f3bd39 caching more info in ComponentMessageManager 2019-08-19 17:30:31 -07:00
Evan Hemsley 1ce6e0e907 fix issue with reading pending component 2019-08-10 18:17:52 -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 efb47c2879 adds pooled dictionary to componentmanager lookup 2019-08-01 18:56:52 -07:00
Evan Hemsley 5e2ae80518 optimize componentmanager and renderer 2019-08-01 16:44:29 -07:00
Evan Hemsley d86c002305 optimize component message system 2019-08-01 16:24:57 -07:00
Evan Hemsley d6c84b950a remove activation concept from components and entities 2019-07-31 10:35:17 -07:00
Evan Hemsley ed965d43a3 unparameterized SendMessage 2019-07-28 22:25:34 -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 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 d5a196b298 read write lookups use hashset 2019-07-17 11:31:18 -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 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
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 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 366f9ba03f roslynator stuff 2019-06-20 10:46:15 -07:00
Evan Hemsley dd75a94d18 misc backend fixes + more tests 2019-06-19 20:37:46 -07:00
Evan Hemsley 8501b0670b rearrange project 2019-06-19 11:19:18 -07:00