From 520eb0b597bd77af0fdc7874f542324afb10aa6d Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sat, 17 Jun 2023 20:02:10 +0800 Subject: [PATCH] add set world component method --- src/EcsWorld.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/EcsWorld.cs b/src/EcsWorld.cs index 86c1329..0f89937 100644 --- a/src/EcsWorld.cs +++ b/src/EcsWorld.cs @@ -158,6 +158,21 @@ namespace DCFApixels.DragonECS } return (TExecutor)result; } + #endregion + + #region WorldComponents + public void Set(T component) where T : class + { + int index = WorldMetaStorage.GetWorldComponentID(_worldTypeID); + if (index >= _components.Length) + Array.Resize(ref _components, _components.Length << 1); + if (component == null) + { + _components[index] = component; + if (component is IEcsWorldComponent intr) + intr.Init(this); + } + } public T Get() where T : class, new() { int index = WorldMetaStorage.GetWorldComponentID(_worldTypeID);