402 Commits

Author SHA1 Message Date
8d49fb467c fix: sprite batcher not collecting drawables 2025-06-01 18:36:20 +03:00
2caa042317 feat: basic MonoGame integration implementations added 2025-06-01 15:02:25 +03:00
fe8bde855d fix: draw and update call orders being reverted 2025-06-01 14:45:28 +03:00
ac620264b1 refactor: removed unnecessary overrides from Behaviour class 2025-06-01 14:31:05 +03:00
f31b84f519 refactor: renamed sort comparer names to be more readable 2025-06-01 14:18:50 +03:00
efb7cc7452 refactor: moved behaviour shortcut properties to base 2025-06-01 14:18:25 +03:00
7a3202a053 chore: simplified type names on physics engine 2D 2025-06-01 10:26:38 +03:00
86c9ed2ba9 feat: parameterless Event type 2025-05-31 20:24:45 +03:00
56321864fb fix: tween manager not returning the cancelled tweens back into the pool 2025-05-31 12:10:57 +03:00
6adc002f1a chore: renamed tween manager queue to pool for better readability 2025-05-31 12:08:44 +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
996e61d0ad perf: tween manager pooling 2025-05-30 23:53:18 +03:00
b1b5af94d3 perf!: behaviour controller memory allocation issues fixed by removing the enumerable interface 2025-05-30 13:04:09 +03:00
b0f8b0dad6 refactor: behaviour collector Count and indexer accessors added 2025-05-29 23:17:11 +03:00
67d7f401b8 refactor: memory leaks caused by behaviour collectors fixed 2025-05-29 22:34:01 +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
1b0f25e854 perf: update manager list precache 2025-05-29 10:30:30 +03:00
61a7f685c1 perf: delegate InvokeSafe method allocations are lowered 2025-05-29 00:16:00 +03:00
feb2a05aa3 feat: additive transform tweens added 2025-05-28 16:55:48 +03:00
cd30047e4a feat: GetOrAddBehaviour with fallback type added 2025-05-28 16:55:38 +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
d3fb612904 feat: extension methods for parent & children behaviour list search 2025-05-27 13:36:42 +03:00
8f8558a262 docs: added performance warnings to find methods 2025-05-25 13:56:59 +03:00
2df41e1881 docs: added universe and universe object extension documentation comments 2025-05-25 13:28:36 +03:00
114fa82b9d feat: Find & FindRequired for general type search 2025-05-25 12:59:37 +03:00
bcce427376 feat: added GetUniverseObject/InChildren/InParent to UniverseObjectExtensions 2025-05-25 12:20:37 +03:00
6a750f8ce0 refactor: organized extension methods 2025-05-25 12:05:02 +03:00
3e02ee7b6f refactor: changed concrete list arguments to interface list arguments 2025-05-25 11:43:05 +03:00
6b9020bd24 fix: update manager not calling first frame methods once 2025-05-24 19:56:22 +03:00
832514ba7d docs: added documentation to draw & update interfaces 2025-05-24 13:59:36 +03:00
877a004a13 refactor: added pre, regular & post physics update interfaces 2025-05-24 13:59:07 +03:00
b1970d93f9 refactor: draw & update managers to use active & sorted by priority collector 2025-05-23 22:39:32 +03:00
e7bd924494 refactor: update & draw calls have been refactored into systems 2025-05-22 23:51:08 +03:00
37b87f0f85 feat: added post, regular & post events for Update and Draw 2025-05-22 23:10:47 +03:00
3b6a93d37a refactor: behaviour factory universe object parameter removed 2025-05-18 00:38:49 +03:00
0bf38234c6 feat: async serializer methods 2025-05-04 19:00:54 +03:00
ed6969c16a feat: progression trackers added 2025-05-04 18:57:26 +03:00
b0b421151f refactor: TypeFactory ReloadTypes made multithread friendly 2025-05-04 18:57:01 +03:00
41c5def097 refactor: renamed DelegateHelpers to DelegateExtensions 2025-05-04 18:52:47 +03:00
fbbdfb07fa chore: bumped .netcore version to 9 2025-05-04 18:46:21 +03:00
bf283d804c chore: updated Shape2D tween to look more aesthetic by choosing more linearly distributed vertices instead of the last vertex 2025-05-03 23:31:06 +03:00
063ea08707 feat: added RoundToInt RoundMode for midway values 2025-05-03 23:30:02 +03:00
fd11a94ddf refactor: easings have a singleton base so we don't create an unnecessary instance or cache everytime 2025-05-03 22:38:40 +03:00
be2295b92d feat: added engine member tween extensions 2025-05-03 22:23:52 +03:00
a93e55619c refactor: extracted interface from TweenManager 2025-05-03 22:23:28 +03:00
48ae24af47 chore: added safeguard value clamps for color operations 2025-05-03 22:21:58 +03:00
1366a417f1 feat: added Math.OneMinus method 2025-05-03 22:16:14 +03:00