988a6f67f2
BREAKING CHANGE: renamed original Behaviour class to BehaviourInternal, and replaced it with BehaviourBase
...
Original Behaviour was using old methods for detecting entering/exiting universe,
they are now all under the same hood and the original is kept for UniverseEntranceManager
because it needs to enter the universe without itself. The internal behaviour kept under
a subnamespace of "Core.Internal" for the purpose that it might come in handy for other use cases.
2025-10-22 16:50:19 +03:00
56d3112e35
chore!: renamed extension method circle.ToProjection to ProjectTo
2025-10-21 18:43:21 +03:00
1d63391975
chore!: renamed AABB to AABB2D
2025-10-19 18:45:48 +03:00
c7d170fad9
perf: significant performance optimizations on ordered behaviour collectors by using a sorted dictionary
2025-10-13 09:58:58 +03:00
e3d4899112
refactor: renamed behaviour collectors from sorted to ordered
2025-10-11 16:05:47 +03:00
3d183b21cd
BREAKING CHANGE: renamed namespace & assembly names
2025-08-05 19:41:35 +03:00
c8bb991865
refactor!: removed noise from class names
...
Renamed classes with names XBehaviour to X
2025-07-09 22:20:42 +03:00
4a3775a0de
perf: double copy in shape collider's world shape field
2025-06-15 14:34:52 +03:00
30ccab1b93
refactor: list pool initial count and capacity parameters added
2025-06-09 20:36:39 +03:00
f56d6a7fc8
chore: standalone physics engine not having pooled lists fixed
2025-06-09 20:27:29 +03:00
152b0e93db
feat: added list pools
2025-06-09 18:33:47 +03:00
6a41407005
feat: added raycasting support for physics engine 2D
2025-06-09 18:11:20 +03:00
f16a7e55c9
chore: fixed record struct arguments' naming
2025-06-08 21:12:16 +03:00
e3b32b3c4a
chore: removed unused variables
2025-06-08 21:11:47 +03:00
45524e474e
refactor: updated systems to use the update interfaces
2025-06-06 20:26:19 +03:00
fbdea47dc7
docs: updated physics interface delta parameter comment
2025-06-05 23:28:08 +03:00
f5fbd4e5ef
feat: IPhysicsIteration interface added
2025-06-05 23:23:34 +03:00
beecefec1c
refactor: switched from universe objects to behaviours on all managers like update, draw & physics etc.
2025-06-03 23:59:40 +03:00
ac620264b1
refactor: removed unnecessary overrides from Behaviour class
2025-06-01 14:31:05 +03:00
7a3202a053
chore: simplified type names on physics engine 2D
2025-06-01 10:26:38 +03:00
1acc8bdb8f
perf!: improved sorted behaviour collector by using binary insertion to reduce performance impact
2025-05-31 12:00:32 +03:00
61e2761580
perf!: events refactored throughout all the project to use Event<> class
...
All delegate events are refactored to use the Event<TSender> and Event<TSender, TArgument> for performance issues regarding delegate events creating garbage, also this gives us better control on event invocation since C# Delegates did also create unnecessary garbage during Delegate.DynamicInvoke
2025-05-31 00:32:58 +03:00
b0f8b0dad6
refactor: behaviour collector Count and indexer accessors added
2025-05-29 23:17:11 +03:00
9bf17cc191
perf: physics engine memory leaks fixed
2025-05-29 22:33:47 +03:00
bf8fbebae3
perf: DelegateExtensions.InvokeSafe marked obsolete for memory allocation reasons, soon to be removed
2025-05-29 21:48:08 +03:00
a3b03efd47
feat: IPhysicsEngine2D.StepIndividual method for individual object simulation
2025-05-27 15:54:07 +03:00
4213b3f8b5
fix: fixed an issue where when there is an inactive collider in the universe messing up the physics engine
2025-05-27 13:52:53 +03:00
877a004a13
refactor: added pre, regular & post physics update interfaces
2025-05-24 13:59:07 +03:00
fbbdfb07fa
chore: bumped .netcore version to 9
2025-05-04 18:46:21 +03:00
3725a3b0fd
feat: added preserver class & method to preserve assembly loading
2025-05-03 20:22:35 +03:00
fc3c1ed1f9
refactor: Shape2D converted into a class as it has a reference type
2025-05-02 12:46:23 +03:00
29f6c83bf0
chore: removed unnecessary partial keyword
2025-04-27 22:28:35 +03:00
8293c58f9f
refactor: removed X.Abstract namespaces and moved StateMachine to under Systems namespace
2025-04-15 23:33:58 +03:00
70c884acfe
refactor!: renamed GameManager to Universe and HierarchyObject to UniverseObject
2025-04-13 21:57:05 +03:00
58eb373c79
feat: safe delegate invocation helper added
2025-04-13 19:08:47 +03:00
86b8cd9b55
feat!: GetRequiredBehaviour/HierarchyObject methods added for cleaner null handling
2025-04-13 12:52:27 +03:00
48710b0a7f
fix: physics engine not progressing properly due to wrong delta time parameter
2025-04-09 23:19:20 +03:00
e3845a2f5c
fix: colliders broken after previous commit
2025-04-09 12:25:56 +03:00
26a80452bc
fix: collider2Ds not updating collider after new assignment
2025-04-08 23:18:33 +03:00
3f7a646bf0
refactor: updated PhysicsEngine2D to be plug & play
2025-04-08 20:30:32 +03:00
f119a23d2b
feat: added IGameManager.OnPreUpdate event
2025-04-08 20:29:53 +03:00
61488aa0e5
fix: physics engines not triggering with correct parameters
2025-04-08 18:22:29 +03:00
66b46e3d36
fix: 2D shape collider parametered constructor not creating a copy of the given shape
2025-04-07 22:37:23 +03:00
d1129c95df
chore!: renamed Shape2D.Box to Square for consistency
2025-04-05 17:25:50 +03:00
d1a289885b
refactor: IGameManager.Enumerable<IHierarchyObject>
2025-03-31 14:25:00 +03:00
e2fdf1f538
chore: added root namespace definitions for projects
2025-03-31 12:48:05 +03:00
b73c9ed0ae
refactor: got rid of the static Time class and implemented EngineTime on IGameManager
2025-03-30 20:27:22 +03:00
f9785462b0
refactor: delegate names updated to have no "On" prefix
2025-03-29 21:51:51 +03:00
4ec1a32db2
refactor!: IGameObject removed
2025-03-28 17:48:31 +03:00
d825bb55d3
refactor!: Transform events now send previous values of their changed fields
2025-03-26 14:19:47 +03:00