public EnvironmentController(AbstractEnvironmentModel model, CollisionView view) : base(model) { Model = model; View = view; Subscribe(); }
private void DestroyEnemy(AbstractEnvironmentModel model) { var controller = GetController(model); controller.PlayerCollision -= OnPlayerCollision; controller.Die -= OnEnemyDie; controller.Destroy(); var poolManager = CoreManager.Instance.GetData <PoolManager>(); poolManager.ReturnItem <EnvironmentType>((int)controller.Model.Type, controller.View); _count--; }
private EnvironmentController GetController(AbstractEnvironmentModel model) { return(_environment.FirstOrDefault(x => x.Model == model)); }
private void OnEnemyDie(AbstractEnvironmentModel model) { DestroyEnemy(model); }
private void OnPlayerCollision(AbstractEnvironmentModel model) { PlayerCollision.SafeInvoke(model); }