tanghai 2 лет назад
Родитель
Сommit
240e3d0c76

+ 2 - 7
Unity/Assets/Scripts/Model/Share/LockStep/LSEntity.cs

@@ -2,11 +2,6 @@ using System;
 
 namespace ET
 {
-    public interface IRegisterLSEntitySystem
-    {
-        void RegisterSystem(LSEntity entity);
-    }
-    
     [EnableMethod]
     public class LSEntity: Entity
     {
@@ -56,7 +51,7 @@ namespace ET
 
         protected override void RegisterSystem()
         {
-            IRegisterLSEntitySystem iRegisterLsEntitySystem = (IRegisterLSEntitySystem)this.IScene;
+            LSWorld lsWorld = (LSWorld)this.IScene;
             TypeSystems.OneTypeSystems oneTypeSystems = LSEntitySystemSingleton.Instance.GetOneTypeSystems(this.GetType());
             if (oneTypeSystems == null)
             {
@@ -65,7 +60,7 @@ namespace ET
 
             if (oneTypeSystems.QueueFlag[LSQueneUpdateIndex.LSUpdate])
             {
-                iRegisterLsEntitySystem.RegisterSystem(this);
+                lsWorld.RegisterSystem(this);
             }
         }
     }

+ 41 - 1
Unity/Assets/Scripts/Model/Share/LockStep/LSWorld.cs

@@ -26,7 +26,7 @@ namespace ET
     [EnableMethod]
     [ChildOf]
     [ComponentOf]
-    public class LSWorld: LSEntity, IAwake, IScene, IRegisterLSEntitySystem
+    public class LSWorld: Entity, IAwake, IScene
     {
         public LSWorld()
         {
@@ -71,5 +71,45 @@ namespace ET
         {
             this.updater.Add(entity);
         }
+        
+        public new K AddComponent<K>(bool isFromPool = false) where K : LSEntity, IAwake, new()
+        {
+            return this.AddComponentWithId<K>(this.GetId(), isFromPool);
+        }
+
+        public new K AddComponent<K, P1>(P1 p1, bool isFromPool = false) where K : LSEntity, IAwake<P1>, new()
+        {
+            return this.AddComponentWithId<K, P1>(this.GetId(), p1, isFromPool);
+        }
+
+        public new K AddComponent<K, P1, P2>(P1 p1, P2 p2, bool isFromPool = false) where K : LSEntity, IAwake<P1, P2>, new()
+        {
+            return this.AddComponentWithId<K, P1, P2>(this.GetId(), p1, p2, isFromPool);
+        }
+
+        public new K AddComponent<K, P1, P2, P3>(P1 p1, P2 p2, P3 p3, bool isFromPool = false) where K : LSEntity, IAwake<P1, P2, P3>, new()
+        {
+            return this.AddComponentWithId<K, P1, P2, P3>(this.GetId(), p1, p2, p3, isFromPool);
+        }
+
+        public new T AddChild<T>(bool isFromPool = false) where T : LSEntity, IAwake
+        {
+            return this.AddChildWithId<T>(this.GetId(), isFromPool);
+        }
+
+        public new T AddChild<T, A>(A a, bool isFromPool = false) where T : LSEntity, IAwake<A>
+        {
+            return this.AddChildWithId<T, A>(this.GetId(), a, isFromPool);
+        }
+
+        public new T AddChild<T, A, B>(A a, B b, bool isFromPool = false) where T : LSEntity, IAwake<A, B>
+        {
+            return this.AddChildWithId<T, A, B>(this.GetId(), a, b, isFromPool);
+        }
+
+        public new T AddChild<T, A, B, C>(A a, B b, C c, bool isFromPool = false) where T : LSEntity, IAwake<A, B, C>
+        {
+            return this.AddChildWithId<T, A, B, C>(this.GetId(), a, b, c, isFromPool);
+        }
     }
 }