예제 #1
0
 public void OnFixedUpdate()
 {
     //TODO: Не нравится обращение к контейнеру каждый кадр
     if (_target != null)
     {
         ManagerContainer.Get <SpawnManager>().SpawnedEnemies.ForEach(x =>
         {
             if (x.gameObject.activeInHierarchy)
             {
                 x.SetDestination(_target);
             }
         });
     }
 }
예제 #2
0
        /// <summary>
        /// Удалить менеджер из списка
        /// </summary>
        /// <param name="updatable">Менеджер</param>
        public static void Remove(BaseManager updatable)
        {
            //Это статический метод, поэтому сначала вытаскиваем из контейнера экземпляр менеджера
            var updManager = ManagerContainer.Get <UpdateManager>();

            if (updatable is IUpdate)
            {
                if (updManager._updateNeedy.Contains(updatable as IUpdate))
                {
                    updManager._updateNeedy.Remove(updatable as IUpdate);
                }
            }

            if (updatable is IFixedUpdate)
            {
                if (updManager._fixedUpdateNeedy.Contains(updatable as IFixedUpdate))
                {
                    updManager._fixedUpdateNeedy.Remove(updatable as IFixedUpdate);
                }
            }
        }