Пример #1
0
        public static void Create()
        {
            var obj = new GameObject("ActorsUpdate");

            DontDestroyOnLoad(obj);
            Default = obj.AddComponent <ProcessorUpdate>();
        }
Пример #2
0
 public static void InitializeObject(object obj)
 {
     if (obj is IAwake awakeble)
     {
         awakeble.OnAwake();
     }
     ProcessorUpdate.Add(obj);
 }
Пример #3
0
        public static void InitializeObject(object obj)
        {
            var awakeble = obj as IAwake;

            if (awakeble != null)
            {
                awakeble.OnAwake();
            }
            ProcessorUpdate.Add(obj);
        }
Пример #4
0
        void Awake()
        {
            if (ProcessorUpdate.Default == null)
            {
                ProcessorUpdate.Create();
            }

            BindScene();
            // ProcessorScene.Default.Setup(scenesToKeep, sceneDependsOn, this);
        }
Пример #5
0
        void Awake()
        {
            if (ProcessorUpdate.Default == null)
            {
                ProcessorUpdate.Create();
            }

            OnAwake();

            if (!typesBinded)
            {
                var asmFramework = Assembly.GetExecutingAssembly();
                var asmDataRaw   = Framework.Settings.Namespace;
                RegisterAttributeComponents(asmFramework.GetTypes());

                var q = asmFramework.GetTypes()
                        .Where(t => t.IsSubclassOf(typeof(Storage)) && !t.ContainsGenericParameters);

                foreach (var item in q)
                {
                    Activator.CreateInstance(item);
                }

                var asmData = default(Assembly);
                if (asmDataRaw != string.Empty)
                {
                    asmData = Assembly.Load(asmDataRaw);
                    RegisterAttributeComponents(asmData.GetTypes());
                    q = asmData.GetTypes()
                        .Where(t => t.IsSubclassOf(typeof(Storage)) && !t.ContainsGenericParameters);

                    foreach (var item in q)
                    {
                        Activator.CreateInstance(item);
                    }
                }
                else
                {
                    var types = AppDomain.CurrentDomain.GetAssemblies().Where(asm => asm != asmFramework)
                                .SelectMany(t => t.GetTypes());
                    RegisterAttributeComponents(types);
                    q = types.Where(t => t.IsSubclassOf(typeof(Storage)) && !t.ContainsGenericParameters);
                    foreach (var item in q)
                    {
                        Activator.CreateInstance(item);
                    }
                }

                typesBinded = true;
            }


            ProcessorScene.Default.Setup(ScenesToKeep, SceneDependsOn, this);
        }
Пример #6
0
        protected Processor()
        {
            if (Framework.Processors.length == Framework.Processors.storage.Length)
            {
                Array.Resize(ref Framework.Processors.storage, Framework.Processors.length << 1);
            }

            Framework.Processors.storage[Framework.Processors.length++] = this;
            ProcessorUpdate.AddProc(this);
            ProcessorGroups.Setup(this);
            Toolbox.disposables.Add(this);
        }
Пример #7
0
        void Awake()
        {
            if (ProcessorUpdate.Default == null)
            {
                ProcessorUpdate.Create();
            }


            for (var i = 0; i < pluggables.Count; i++)
            {
                pluggables[i].Plug();
            }
        }
Пример #8
0
 void Awake()
 {
     Default = this;
 }
Пример #9
0
 public void Dispose()
 {
     ProcessorUpdate.RemoveProc(this);
     OnDispose();
 }
Пример #10
0
 public ProcessorTimer()
 {
     ProcessorUpdate.Add(this);
 }