Commit Graph

154 Commits

Author SHA1 Message Date
Christian Treffs 1a20a9ae30 Add Swift 5 compatibility 2019-03-08 14:03:10 +01:00
Christian Treffs df7f36ea5c Add debug description & make sparse set arrays œusableFromInline 2019-02-21 13:29:45 +01:00
Christian Treffs e83c68a48f Undo chunk size calculation update 2019-02-14 16:36:20 +01:00
Christian Treffs 17102dae0f Improve ManagedContiguousArray growth size 2019-02-14 16:31:27 +01:00
Christian Treffs 5e67067b7d Adhere ManagedContiguousArray to UniformStorage 2019-02-14 16:18:28 +01:00
Christian Treffs 9486e633df Overall improvements to consistency 2019-02-14 16:18:03 +01:00
Christian Treffs ea632606d6 Cleanup Entity 2019-02-14 15:03:55 +01:00
Christian Treffs dc4cb626c6 Improve family update 2019-02-14 14:59:49 +01:00
Christian Treffs 13dc68dc26 Resolve component collision decission 2019-02-14 14:59:27 +01:00
Christian Treffs f7d2a5b3a2 Cleanups 2019-02-14 14:35:07 +01:00
Christian Treffs 4e15ef217e Cleanups 2019-02-14 12:52:07 +01:00
Christian Treffs 83efcfd423 Refactor FamilyTraitSet to remove unused needsAtLeastOne component set 2019-02-14 12:52:00 +01:00
Christian Treffs fee1c2e52e Cleanup and refactor tests 2019-02-14 12:34:42 +01:00
Christian Treffs c1a68300de Introduce unsafe API for performance and refine Single 2019-02-14 10:43:03 +01:00
Christian Treffs ef7859a021 Make entity struct + inline some functions 2019-02-13 18:03:57 +01:00
Christian Treffs 32bf1c3caf Make TypedFamilies structs and nexus reference non weak 2019-02-13 17:44:30 +01:00
Christian Treffs cb248d87cf Introduce single 2019-02-13 17:32:47 +01:00
Christian Treffs 4b3bf150de Fix AnyObject to class 2018-12-24 12:50:51 +01:00
Christian Treffs 18be7f3af3 Fix other lint warnings 2018-12-24 12:48:22 +01:00
Christian Treffs 65e9114205 Fix multiline violations 2018-12-24 12:44:27 +01:00
Christian Treffs a0b541f351 Swiftlint autocorrect 2018-12-24 12:41:08 +01:00
Christian Treffs 72fdc6d119 Resolve inert defers 2018-12-04 08:07:08 +01:00
Christian Treffs 7a5a7974e2 Account for number of components by type in nexus equatable comparison 2018-12-04 08:06:53 +01:00
Christian Treffs 196dd312c7 Conform to Sequence instead of LazySequenceProtocol for typed families 2018-12-04 08:06:15 +01:00
Christian Treffs 69de718637 Remove old Family implementation 2018-09-29 19:00:16 +02:00
Christian Treffs 444ec00224 Extend SpareSet tests 2018-09-29 18:41:49 +02:00
Christian Treffs ee2810bb61 Add entity and component iterables to TypedFamily 2018-09-29 18:18:54 +02:00
Christian Treffs 73948fdb57 Make TypedFamily Equatable 2018-09-29 17:01:35 +02:00
Christian Treffs a360cae142 Deprecate old family implementation 2018-09-29 16:54:30 +02:00
Christian Treffs f034cdd178 Remove FamilyMembers sequence since its unnecessary overhead 2018-09-29 16:45:01 +02:00
Christian Treffs 7f9ab6dcac Brought performance of TypedFamily en par to Family implementation 2018-09-29 16:35:32 +02:00
Christian Treffs f6f8f5e5a2 Fix start index for component iterators 2018-09-29 16:07:59 +02:00
Christian Treffs c64495b4a9 Add TypedFamily5 2018-09-29 15:35:11 +02:00
Christian Treffs f39e271d7e Add TypedFamily4 2018-09-29 15:30:42 +02:00
Christian Treffs af49e97115 Add TypedFamily1 + TypedFamily2 2018-09-29 15:12:44 +02:00
Christian Treffs 883e3e924e Extract TypedFamily protocols 2018-09-29 14:46:45 +02:00
Christian Treffs 8c3301bd1d Add TypedFamily basic implementation 2018-09-29 14:31:13 +02:00
Christian Treffs af2af17433 Cleanups in code 2018-09-27 21:13:21 +02:00
Christian Treffs 664d208284 Add swiftlint rules and fix implications 2018-09-27 21:09:35 +02:00
Christian Treffs c18ca1c681 Open entity 2018-08-01 18:05:24 +02:00
Christian Treffs 8ed57b600d Cleanups & Swiftlint 2018-07-06 09:05:55 +02:00
Christian Treffs 9b4fc5b206 Update to Swift 4.2 2018-06-07 11:16:54 -07:00
Christian Treffs cddb155c5a Upgrade to Swift 4.2 2018-06-04 14:21:20 -07:00
Christian Treffs 4a0ad2f58d Add numComponents and numFamilies 2018-05-10 20:09:32 +02:00
Christian Treffs e0fd2bbeb1 Fix bug in onFamilyDeinit 2018-05-10 19:57:42 +02:00
Christian Treffs 32cf2383d6 Remove dead code 2018-05-10 16:07:35 +02:00
Christian Treffs 03b34aaad6 Rename SparseSet to UnorderedSparseSet 2018-05-10 15:58:41 +02:00
Christian Treffs d8ee72569e Fix major flaws in SparseSet 2018-05-10 15:41:33 +02:00
Christian Treffs 8174315fd3 Cleanups 2018-05-09 19:53:22 +02:00
Christian Treffs 532741b126 Refactor family management 2018-05-09 19:42:13 +02:00
Christian Treffs 7021e6eb30 Refactor iterate 2018-05-09 10:12:23 +02:00
Christian Treffs 4513b5a178 Introduce equality 2018-05-09 07:32:36 +02:00
Christian Treffs 96c956e03c Add SparseSet tests 2018-05-08 18:31:43 +02:00
Christian Treffs 11b47da7bb Cleanups and lint 2018-05-08 17:22:50 +02:00
Christian Treffs ea7be64755 Cleanups 2018-01-02 15:58:08 +01:00
Christian Treffs d9f7f44564 Improved performance of SparseSet by separating Pair into dedicated arrays 2017-11-27 17:17:44 +01:00
Christian Treffs 9a30453e5e Refactored entity storage to sparse set 2017-11-20 22:55:05 +01:00
Christian Treffs 22a9abb882 Refactor component identifier mapping to sparse set 2017-11-20 22:02:13 +01:00
Christian Treffs 05b4115d14 Cleanups and FIXMEs 2017-11-20 21:15:20 +01:00
Christian Treffs 34a75014ab Swiftlint done for now 2017-11-16 23:09:24 +01:00
Christian Treffs cb1ad79ff4 Swiftlint struct rules applied 2017-11-16 23:00:41 +01:00
Christian Treffs 2ec9b1c364 Swiftlint strict first pass 2017-11-16 22:45:01 +01:00
Christian Treffs 525fb31724 Cleanups and small refactorings 2017-11-16 21:53:47 +01:00
Christian Treffs 181c8023bd Linting 2017-11-16 20:49:38 +01:00
Christian Treffs dcea98ff8a Cleanups 2017-11-16 20:49:17 +01:00
Christian Treffs faee5998af Add Haschable and UUID 2017-11-05 12:31:50 +01:00
Christian Treffs 4c48aab814 Cleanups 2017-11-03 08:57:05 +01:00
Christian Treffs a42918501d Fix deinit routines 2017-11-03 08:47:06 +01:00
Christian Treffs 78c248ab0a Fix some reference counting 2017-11-02 17:48:46 +01:00
Christian Treffs 5dd149dd82 SparseSet iterator implementation 2017-11-01 08:11:55 +01:00
Christian Treffs 19cab7af5d Reworked Entitiy storage as SparseSet 2017-11-01 07:44:24 +01:00
Christian Treffs 555e2088bb Cleanups and unification of storage protocol 2017-10-31 12:18:07 +01:00
Christian Treffs 4ada634130 Fix sparse component set performance 2017-10-31 11:32:07 +01:00
Christian Treffs a559387891 Fixed SparseSet - needs optimizations 2017-10-31 10:49:43 +01:00
Christian Treffs a491d457ec Add SparseComponentSet 2017-10-31 00:41:33 +01:00
Christian Treffs e643c7761a Demo refinements 2017-10-30 09:10:20 +01:00
Christian Treffs 7c7b38253b Optimized a lot 2017-10-30 09:02:03 +01:00
Christian Treffs a33281b1fa Fix family assign/remove problem 2017-10-28 13:55:02 +02:00
Christian Treffs 8c38f76e5a performance optimizations 2017-10-25 16:25:27 +02:00
Christian Treffs f3c64d8dac Iteration optimizations 2017-10-23 23:02:20 +02:00
Christian Treffs e07ac8e248 Stabelize API 2017-10-22 12:53:21 +02:00
Christian Treffs 5371107f4f Project ready for testing 2017-10-21 23:54:43 +02:00
Christian Treffs 41745a1fa7 Cleanups 2017-10-21 23:12:13 +02:00
Christian Treffs 00bb739880 Fix family iteration 2017-10-21 22:33:52 +02:00
Christian Treffs 2386fab4c3 Family iteration working 2017-10-20 16:25:29 +02:00
Christian Treffs 9ffcb3d4f7 Add performance test for combine hash 2017-10-18 11:01:12 +02:00
Christian Treffs c11060712b Add combine hash 2017-10-18 08:51:44 +02:00
Christian Treffs 136905e43b Fix hashing 2017-10-16 23:31:31 +02:00
Christian Treffs ca36926975 Cleanups and improvements 2017-10-16 09:33:39 +02:00
Christian Treffs 130a5a8edd Optimized component lookup 2017-10-16 09:22:52 +02:00
Christian Treffs 669fb374d7 Report for entity remove failure 2017-10-15 11:31:07 +02:00
Christian Treffs 5994c37b52 Fix tests and results;
Cleanups
2017-10-15 11:29:20 +02:00
Christian Treffs bf62fde5db Add entity reuse concept;
Add tests for entity creation/deletion & component creation/deletion
2017-10-15 10:59:53 +02:00
Christian Treffs 4e0522aa49 new implementation - first test working 2017-10-15 01:36:18 +02:00
Christian Treffs e16759f9f1 Add Entity and Family storage implementations 2017-10-10 22:18:14 +02:00
Christian Treffs fb2d011c8d Add awesome component handling 2017-10-09 22:23:02 +02:00
Christian Treffs ccdb9545db Add component mapping 2017-10-09 22:03:00 +02:00
Christian Treffs 94d79c9d65 Fix Family behaviour 2017-10-09 20:37:19 +02:00
Christian Treffs f3ace43ca7 Add Family basics 2017-10-09 19:44:41 +02:00
Christian Treffs e6cb5770e0 Add Family basics 2017-10-09 19:43:05 +02:00