Procházet zdrojové kódy

去掉IAddComponentSystem,好像没啥作用,需要自己加吧

tanghai před 2 roky
rodič
revize
123523bc52

+ 0 - 30
Unity/Assets/Scripts/Core/Entity/Entity.cs

@@ -719,11 +719,6 @@ namespace ET
 
             component.ComponentParent = this;
 
-            if (this is IAddComponent)
-            {
-                EntitySystemSingleton.Instance.AddComponent(this, component);
-            }
-
             return component;
         }
 
@@ -740,11 +735,6 @@ namespace ET
             EntitySystemSingleton entitySystemSingleton = EntitySystemSingleton.Instance;
             entitySystemSingleton.Awake(component);
 
-            if (this is IAddComponent)
-            {
-                entitySystemSingleton.AddComponent(this, component);
-            }
-
             return component;
         }
 
@@ -762,11 +752,6 @@ namespace ET
             EntitySystemSingleton entitySystemSingleton = EntitySystemSingleton.Instance;
             entitySystemSingleton.Awake(component);
 
-            if (this is IAddComponent)
-            {
-                entitySystemSingleton.AddComponent(this, component);
-            }
-
             return component as K;
         }
 
@@ -784,11 +769,6 @@ namespace ET
             EntitySystemSingleton entitySystemSingleton = EntitySystemSingleton.Instance;
             entitySystemSingleton.Awake(component, p1);
 
-            if (this is IAddComponent)
-            {
-                entitySystemSingleton.AddComponent(this, component);
-            }
-
             return component as K;
         }
 
@@ -806,11 +786,6 @@ namespace ET
             EntitySystemSingleton entitySystemSingleton = EntitySystemSingleton.Instance;
             entitySystemSingleton.Awake(component, p1, p2);
 
-            if (this is IAddComponent)
-            {
-                entitySystemSingleton.AddComponent(this, component);
-            }
-
             return component as K;
         }
 
@@ -828,11 +803,6 @@ namespace ET
             EntitySystemSingleton entitySystemSingleton = EntitySystemSingleton.Instance;
             entitySystemSingleton.Awake(component, p1, p2, p3);
 
-            if (this is IAddComponent)
-            {
-                entitySystemSingleton.AddComponent(this, component);
-            }
-
             return component as K;
         }
 

+ 0 - 27
Unity/Assets/Scripts/Core/Entity/EntitySystemSingleton.cs

@@ -118,33 +118,6 @@ namespace ET
             }
         }
         
-        // AddComponentSystem
-        public void AddComponent(Entity entity, Entity component)
-        {
-            List<object> iAddSystem = this.TypeSystems.GetSystems(entity.GetType(), typeof (IAddComponentSystem));
-            if (iAddSystem == null)
-            {
-                return;
-            }
-
-            foreach (IAddComponentSystem addComponentSystem in iAddSystem)
-            {
-                if (addComponentSystem == null)
-                {
-                    continue;
-                }
-
-                try
-                {
-                    addComponentSystem.Run(entity, component);
-                }
-                catch (Exception e)
-                {
-                    Log.Error(e);
-                }
-            }
-        }
-
         public void Awake(Entity component)
         {
             List<object> iAwakeSystems = this.TypeSystems.GetSystems(component.GetType(), typeof (IAwakeSystem));

+ 0 - 39
Unity/Assets/Scripts/Core/Entity/IAddComponentSystem.cs

@@ -1,39 +0,0 @@
-using System;
-
-namespace ET
-{
-	public interface IAddComponent
-	{
-	}
-	
-	public interface IAddComponentSystem: ISystemType
-	{
-		void Run(Entity o, Entity component);
-	}
-
-	[EntitySystem]
-	public abstract class AddComponentSystem<T> : IAddComponentSystem where T: Entity, IAddComponent
-	{
-		void IAddComponentSystem.Run(Entity o, Entity component)
-		{
-			this.AddComponent((T)o, component);
-		}
-
-		Type ISystemType.SystemType()
-		{
-			return typeof(IAddComponentSystem);
-		}
-
-		int ISystemType.GetInstanceQueueIndex()
-		{
-			return InstanceQueueIndex.None;
-		}
-
-		Type ISystemType.Type()
-		{
-			return typeof(T);
-		}
-
-		protected abstract void AddComponent(T self, Entity component);
-	}
-}