public void OnFixedUpdate() { //TODO: Не нравится обращение к контейнеру каждый кадр if (_target != null) { ManagerContainer.Get <SpawnManager>().SpawnedEnemies.ForEach(x => { if (x.gameObject.activeInHierarchy) { x.SetDestination(_target); } }); } }
/// <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); } } }