Commit Graph

148 Commits

Author SHA1 Message Date
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