コード例 #1
0
 public CommandExecutor(AbstractEnemyModel model, MoveComponent move, Transform player, Rigidbody self)
 {
     _model  = model;
     _player = player;
     _self   = self;
     _move   = move;
 }
コード例 #2
0
        public EnemyController(AbstractEnemyModel model, CollisionView view, Transform player, Rigidbody self) : base(model)
        {
            Model = model;
            View  = view;

            _moveComponent = new MoveComponent(model);
            _moveComponent.Init(self);
            _executor = new CommandExecutor(model, _moveComponent, player, self);
            _executor.Execute();
            Subscribe();
        }
コード例 #3
0
        private void DestroyEnemy(AbstractEnemyModel model)
        {
            var controller = GetEnemyController(model);

            controller.PlayerCollision -= OnPlayerCollision;
            controller.Die             -= OnEnemyDie;
            controller.Destroy();

            var poolManager = CoreManager.Instance.GetData <PoolManager>();

            poolManager.ReturnItem <EnemyType>((int)controller.Model.EnemyType, controller.View);

            _count--;
        }
コード例 #4
0
 private void OnEnemyDie(AbstractEnemyModel model)
 {
     DestroyEnemy(model);
 }
コード例 #5
0
 private void OnPlayerCollision(AbstractEnemyModel model)
 {
     PlayerCollision.SafeInvoke(model);
 }
コード例 #6
0
 private EnemyController GetEnemyController(AbstractEnemyModel model)
 {
     return(_enemy.FirstOrDefault(x => x.Model == model));
 }
コード例 #7
0
 private void OnEnemyDie(AbstractEnemyModel model)
 {
 }