Christian Treffs
|
ed182eb425
|
Make string hash functions return UInt64 based.
- These are used to produce a stable hash, so we want all platforms to produce the same hash value, therefore we use UInt64
|
2020-07-09 22:25:10 +02:00 |
Christian Treffs
|
259643cd8e
|
Cleanups
|
2020-07-09 22:23:12 +02:00 |
Christian Treffs
|
65caa8ac70
|
Extend platform architecture support
|
2020-07-09 22:20:54 +02:00 |
Christian Treffs
|
4a995e9083
|
Fix type requirements of UnorderedSparseSet
|
2020-07-09 17:15:49 +02:00 |
Christian Treffs
|
1ad4d883f5
|
Type entity id
|
2020-07-09 17:15:06 +02:00 |
Christian Treffs
|
63c09cf7fa
|
Refine UnorderedSparseSet
|
2020-07-09 17:10:00 +02:00 |
Liam Don
|
d30a3bec3b
|
Fix key-index in UnorderedSparseSet
|
2020-07-08 23:31:30 -07:00 |
Liam Don
|
0454e29e45
|
Use UInt64 for StableId
|
2020-07-08 20:57:02 -07:00 |
Liam Don
|
e1b9f7b467
|
Don't check overflow in singer_djb2 hash function
|
2020-07-08 20:53:45 -07:00 |
Christian Treffs
|
da7277b5e1
|
Add all components sequence to entity
|
2020-05-26 15:03:31 +02:00 |
Christian Treffs
|
09dd6d2645
|
Fix typos and cleanup
|
2020-05-08 14:59:55 +02:00 |
Christian Treffs
|
041d556dc9
|
Revert family removal
|
2020-04-30 22:18:46 +02:00 |
Christian Treffs
|
23435523b9
|
Re-introduce ManagedContiguousArray
|
2020-04-30 22:07:33 +02:00 |
Christian Treffs
|
a070b907c2
|
Lint
|
2020-04-30 20:04:07 +02:00 |
Christian Treffs
|
66f5bfc0c6
|
Lint
|
2020-04-30 20:00:19 +02:00 |
Christian Treffs
|
a79df79bf9
|
Delete empty families & fix event delegate
|
2020-04-30 19:59:10 +02:00 |
Christian Treffs
|
6600cba5ae
|
Rework conformances
|
2020-04-30 19:56:30 +02:00 |
Christian Treffs
|
81cbb0f2b4
|
Rework component identifier handling
|
2020-04-30 19:54:18 +02:00 |
Christian Treffs
|
e1ac76513c
|
Remove abandoned code
|
2020-04-30 19:50:46 +02:00 |
Christian Treffs
|
53621234d7
|
Make Nexus fully codable
|
2019-10-05 22:38:49 +02:00 |
Christian Treffs
|
c3d84b4f12
|
Refactor component and entity identifier
|
2019-10-05 22:38:28 +02:00 |
Christian Treffs
|
fa1ebe0193
|
Update sparse set
|
2019-10-05 22:37:29 +02:00 |
Christian Treffs
|
893cfaee74
|
Conform UnorderedSparseSet to Sequence
|
2019-10-05 15:07:15 +02:00 |
Christian Treffs
|
d3ab0d96be
|
Make components codable
|
2019-10-05 14:56:28 +02:00 |
Christian Treffs
|
61d407e5db
|
Optimize and cleanup Nexus
|
2019-10-05 14:55:52 +02:00 |
Christian Treffs
|
589a8c2ec1
|
Optimize UnorderedSparseSet
|
2019-10-05 14:55:30 +02:00 |
Christian Treffs
|
98f2ff5d20
|
Optimize ManagedContiguousArray
|
2019-10-05 14:54:15 +02:00 |
Christian Treffs
|
031db2c1e3
|
Conform Component + Entity Identifier to Identifiable protocol
|
2019-10-05 10:03:08 +02:00 |
Christian Treffs
|
99d08c5139
|
Add nexus events
|
2019-10-01 08:13:05 +02:00 |
Christian Treffs
|
4a2ad80dd6
|
Extend scene graph implementation
|
2019-10-01 07:59:09 +02:00 |
Christian Treffs
|
0d9d1100dc
|
Extend nexus equality check
|
2019-10-01 07:15:54 +02:00 |
Christian Treffs
|
bc7c00f2a8
|
Add documentation
|
2019-10-01 07:12:09 +02:00 |
Christian Treffs
|
71a319fe27
|
Finish basic scene graph implementation
|
2019-10-01 07:06:00 +02:00 |
Christian Treffs
|
8958d96687
|
Implement first draft of parent child relation storage
|
2019-09-30 23:17:59 +02:00 |
Christian Treffs
|
f312f9335e
|
Extend child API
|
2019-09-30 22:16:37 +02:00 |
Christian Treffs
|
dbf82389e0
|
Add basic scene graph API
|
2019-09-30 21:54:19 +02:00 |
Christian Treffs
|
2657faff34
|
Cleanups
|
2019-09-30 21:01:19 +02:00 |
Christian Treffs
|
29cd66b947
|
Fix swiftlint warnings
|
2019-09-30 20:50:12 +02:00 |
Christian Treffs
|
1ed0e24585
|
Swiftlint
|
2019-09-30 20:37:03 +02:00 |
Christian Treffs
|
2084e04257
|
Fix build for Swift 5.0.1
|
2019-08-22 13:45:08 +02:00 |
Christian Treffs
|
ec8a59f03b
|
Fix trait set validation
|
2019-08-22 09:10:41 +02:00 |
Christian Treffs
|
81b254480b
|
Add component documentation
|
2019-08-21 14:12:22 +02:00 |
Christian Treffs
|
bd20408bf6
|
Naming and optimizations
|
2019-08-21 14:09:17 +02:00 |
Christian Treffs
|
c4d213a4e2
|
Implement entity and component lookup for different family sizes
|
2019-08-21 13:48:04 +02:00 |
Christian Treffs
|
af3864701e
|
Rework TypedFamilies to Family
|
2019-08-21 13:17:07 +02:00 |
Christian Treffs
|
f56faaace5
|
Remove UniformStorage protocol
|
2019-08-21 07:15:49 +02:00 |
Christian Treffs
|
cde6e94b35
|
Refactor family member iteration to while with iterator
|
2019-08-20 17:08:23 +02:00 |
Christian Treffs
|
00026ad85a
|
Cleanup nexus event delegate handling
|
2019-08-20 17:04:17 +02:00 |
Christian Treffs
|
b692d5de92
|
Optimize Nexus storage
|
2019-08-20 17:00:56 +02:00 |
Christian Treffs
|
d68b935e2e
|
Cleanup typealiases
|
2019-08-20 16:49:56 +02:00 |
Christian Treffs
|
b62cf7464b
|
Refactor EntityIdentifier
|
2019-08-20 16:36:45 +02:00 |
Christian Treffs
|
89f0a92557
|
Cleanup entity implementation
|
2019-08-20 15:43:15 +02:00 |
Christian Treffs
|
7c98d5af88
|
Refactor ComponentIdentifier, remove TypeIdentifiable
|
2019-08-20 15:28:15 +02:00 |
Christian Treffs
|
a1617ce390
|
Refactor entity creation + entity naming
|
2019-08-20 15:09:12 +02:00 |
Christian Treffs
|
ccf18f6945
|
Refactor NexusDelegate to own file and rename to NexusEventDelegate
|
2019-08-20 15:07:28 +02:00 |
Christian Treffs
|
ab785d666d
|
Move typealiases to own file
|
2019-08-20 15:06:30 +02:00 |
Christian Treffs
|
9252a0b76e
|
Upate license
|
2019-08-01 07:10:22 +02:00 |
Christian Treffs
|
181d8cac51
|
Add access control for components
|
2019-06-25 08:10:19 +02:00 |
Christian Treffs
|
85c7e2296b
|
Refactor sparse component identifier set out
|
2019-03-08 17:57:47 +01:00 |
Christian Treffs
|
209c19fa2f
|
Unconform sparse set to collection, since index collision problem occurs
|
2019-03-08 17:57:01 +01:00 |
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
|
e0cb8bfc62
|
Remove demo
|
2017-11-06 18:49:44 +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 |