Commit Graph

281 Commits (main)

Author SHA1 Message Date
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 3e04e7ad03 0.13.0 2019-09-26 13:29:25 -07:00
Evan Hemsley 5f72bef256 DefaultWritePriority attribute for engines 2019-09-26 13:26:48 -07:00
thatcosmonaut 5872e916ac
Merge pull request #3 from thatcosmonaut/component_write_priority
Component write priority
2019-09-26 12:33:51 -07:00
Evan Hemsley ddbfd492d3 ordered renderer now requires IDrawComponent interface 2019-09-26 12:29:59 -07:00
Evan Hemsley 2ff1396664 0.13.0-rc7 2019-08-22 20:11:05 -07:00
Evan Hemsley 44e01fbfc1 fix another related issue lol 2019-08-22 20:10:41 -07:00
Evan Hemsley 0873761bc7 0.13.0-rc6 2019-08-22 20:08:20 -07:00
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 f26cd48afd 0.13.0-rc5 2019-08-22 15:27:52 -07:00
Evan Hemsley fa6958ed95 more helpful ID lookup error messages 2019-08-22 15:20:10 -07:00
Evan Hemsley 0a2cc2527a 0.13.0-rc4 2019-08-21 19:22:14 -07:00
Evan Hemsley dd22c00072 fix crash on multiple write declarations 2019-08-21 19:21:55 -07:00
Evan Hemsley 4a7f65f2f5 more write conflict checks 2019-08-21 17:54:43 -07:00
Evan Hemsley 46d742fe49 0.13.0-rc3 2019-08-21 15:14:53 -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 5429783633 0.13.0-rc2 2019-08-20 15:44:27 -07:00
thatcosmonaut b8d3d706ad fix crash when entity is added and removed same frame 2019-08-20 15:44:01 -07:00
thatcosmonaut 524548ea0e 0.13.0-rc1 2019-08-19 19:07:13 -07:00
thatcosmonaut d084286c83 delayed message system 2019-08-19 19:05:18 -07:00
thatcosmonaut 6a51ceb590 0.12.1-rc9 2019-08-19 18:11:59 -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 3e7bba1e4c 0.12.1-rc8 2019-08-19 17:39:56 -07:00
thatcosmonaut 1b30f3bd39 caching more info in ComponentMessageManager 2019-08-19 17:30:31 -07:00
Evan Hemsley bea247e896 0.12.1-rc7 2019-08-11 11:47:40 -07:00
Evan Hemsley 8fd2307fbb fix pending component type and id lookups 2019-08-11 11:47:12 -07:00
Evan Hemsley 37a27ee739 0.12.1-rc6 2019-08-11 11:27:25 -07:00
Evan Hemsley 162dbe52a2 fix broken entity ID lookup on pending components 2019-08-11 11:26:31 -07:00
Evan Hemsley ccf243ad2d 0.12.1-rc5 2019-08-10 18:18:12 -07:00
Evan Hemsley 1ce6e0e907 fix issue with reading pending component 2019-08-10 18:17:52 -07:00
Evan Hemsley df27c78e02 0.12.1-rc4 2019-08-10 17:41:54 -07:00
Evan Hemsley c1e206ef49 allow only one component per type per entity 2019-08-10 17:34:00 -07:00
Evan Hemsley 314a064b4e 0.12.1-rc3 2019-08-09 20:04:54 -07:00
Evan Hemsley 583776dd53 remove nested pooled collections 2019-08-09 20:04:11 -07:00
Evan Hemsley bde0c0437e 0.12.1-rc2 2019-08-09 19:29:34 -07:00
Evan Hemsley fc36d0ace7 more hashset pools 2019-08-09 19:29:08 -07:00
Evan Hemsley e808565342 0.12.1-rc1 2019-08-08 22:39:27 -07:00
Evan Hemsley fa7d1eeb77 change sets inside pooled dictionaries to be pooled 2019-08-08 22:38:48 -07:00
Evan Hemsley 5c5c62cfcd 0.12.0 2019-08-05 18:46:55 -07:00
Evan Hemsley e4d1baf170 0.12.0-rc11 2019-08-01 23:11:56 -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 60662dc80b 0.12.0-rc10 2019-08-01 18:59:09 -07:00
Evan Hemsley efb47c2879 adds pooled dictionary to componentmanager lookup 2019-08-01 18:56:52 -07:00
Evan Hemsley 062b31dfb8 adds pooled dictionary to component message manager 2019-08-01 18:53:44 -07:00
Evan Hemsley 26aeb46cb8 todo note on componentmessagemanager 2019-08-01 17:34:54 -07:00
Evan Hemsley 6dbc82c5fc 0.12.0-rc9 2019-08-01 17:05:53 -07:00
Evan Hemsley 8b9a778bfd fix bug when doing pending and existing read 2019-08-01 17:05:36 -07:00
Evan Hemsley 8097c4433b 0.12.0-rc8 2019-08-01 16:44:58 -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 ec3b0df585 rework EntityRenderer to OrderedRenderer 2019-08-01 15:06:19 -07:00
Evan Hemsley 2fd054d8e0 0.12.0-rc5 2019-07-31 12:08:16 -07:00
Evan Hemsley ef7847ecf0 entity and component type index 2019-07-31 12:07:13 -07:00
Evan Hemsley 186ea66c7c 0.12.0-rc4 2019-07-31 10:48:50 -07:00
Evan Hemsley d6c84b950a remove activation concept from components and entities 2019-07-31 10:35:17 -07:00
Evan Hemsley 71e5d286ed 0.11.1 2019-07-28 22:28:35 -07:00
Evan Hemsley bd7c316ea8 message improvements 2019-07-28 22:27:50 -07:00
Evan Hemsley ed965d43a3 unparameterized SendMessage 2019-07-28 22:25:34 -07:00
Evan Hemsley 27c5a9e73e 0.11.0 2019-07-25 13:15:36 -07:00
Evan Hemsley 3d3301dfe9 0.11.0-rc7 2019-07-23 10:18:59 -07:00
Evan Hemsley c7cae0d9d1 bring back ReadsPending attribute 2019-07-23 10:17:53 -07:00
Evan Hemsley c6192d5b4c 0.11.0-rc6 2019-07-22 22:53:18 -07:00
Evan Hemsley 41c81a0aa0 addcomponent optionally sends pending component message 2019-07-22 22:52:51 -07:00
Evan Hemsley 7c6b77c7ab 0.11.0-rc5 2019-07-20 14:14:24 -07:00
Evan Hemsley faefa3d687 better RepeatUpdateComponentException message 2019-07-20 14:13:11 -07:00
Evan Hemsley fd8a0b1b00 read existing or pending components automagically based on attribute declarations 2019-07-20 14:10:06 -07:00
thatcosmonaut 911f766cfa 0.11.0-rc4 2019-07-19 17:50:36 -07:00
thatcosmonaut fea5c57860 update engine generator 2019-07-19 17:50:13 -07:00
thatcosmonaut 573657fd39 0.11.0-rc3 2019-07-19 16:16:54 -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 42a9934d65 0.11.0-rc2 2019-07-18 20:31:49 -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 44614c796a 0.11.0-rc1 2019-07-18 18:24:03 -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 0b2ef55634 reverse lookup optimization 2019-07-17 18:56:02 -07:00
thatcosmonaut a62153730f component updates at end of frame 2019-07-17 18:53:31 -07:00
thatcosmonaut ca82fa82cf 0.10.0 2019-07-17 18:18:12 -07:00
thatcosmonaut f960712f57 component writes moved back to end of frame 2019-07-17 18:12:29 -07:00
Evan Hemsley 1016f05d42 0.9.1 2019-07-17 13:16:44 -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 4c82337362 0.9.0 2019-07-17 12:15:34 -07:00
Evan Hemsley 918621db73 adds SomeComponent to Engine and renames Some to SomeMessage 2019-07-17 11:46:54 -07:00
Evan Hemsley c344ab0c67 project structure cleanup 2019-07-17 11:34:29 -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 ff21ebcee0 0.8.1 2019-07-14 20:45:26 -07:00
Evan Hemsley 016e2c5612 change entities marked for destroy list to a hashset 2019-07-14 20:43:24 -07:00
Evan Hemsley 0f44d6c544 0.8.0 2019-07-12 21:48:30 -07:00
Evan Hemsley ff3be9636b adds GetEntityIDByComponentID and GetEntityByComponentID to Renderer 2019-07-12 21:48:08 -07:00
Evan Hemsley c946251302 0.7.0 2019-07-12 17:40:00 -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 5ec8c4da82 0.6.3 2019-07-10 18:23:10 -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 0b07e146ac 0.6.1 2019-06-28 22:58:02 -07:00
Evan Hemsley 8d39c27b7f fix engine ordering issue with Spawner 2019-06-28 22:57:18 -07:00
Evan Hemsley dc99f58334 0.6.0 2019-06-28 22:11:37 -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 53ec91d64f fix cycle detector exception string printing backwards 2019-06-28 21:48:04 -07:00
Evan Hemsley d6fd469563 0.5.0 2019-06-27 16:59:52 -07:00
Evan Hemsley 87c5a785c7 changing KeyValueTuple component returns to ValueTuple 2019-06-27 16:55:12 -07:00
Evan Hemsley 51c014eb1e 0.4.1 2019-06-24 16:53:54 -07:00
Evan Hemsley 148d629e51 AddEntityRenderer and AddGeneralRenderer take initialized renderers 2019-06-24 16:49:26 -07:00
Evan Hemsley 87570445e8 0.4.0 2019-06-24 12:36: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 f8d8a08c92 0.3.0 2019-06-21 17:53:00 -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 a2171e9915 bump version number 2019-06-20 12:39:43 -07:00
Evan Hemsley 987b30ceae fix cast bug in Entity.GetComponents 2019-06-20 12:38:19 -07:00
Evan Hemsley 366f9ba03f roslynator stuff 2019-06-20 10:46:15 -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 cf6d59bb5b draw layer manager and final entity renderer tests 2019-06-19 17:40:01 -07:00
Evan Hemsley f010b39c3c entity tracker system 2019-06-19 16:13:02 -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