public override void PhaseStart()
        {
            _arg = Argument as Arg;

            // なにもないときは終了する
            if (!Scene.ProcessContainer.Exists(_arg.ActionProcessType))
            {
                Change(Phase.EnemyTink);
                return;
            }

            _player = _charaManager.Player;
        }
Esempio n. 2
0
        /// <summary>
        /// 前のプロセスが終了したときに呼び出される
        /// </summary>
        protected override void ProcessStartInternal()
        {
            _player = _charaManager.Player;

            var tileDataMap = _mapManager.CurrentTileDataMap;
            var tileFlag    = tileDataMap.GetTileFlag(_player.Model.CellPosition.Value);

            // 下り階段
            if (tileFlag.HasStepDown())
            {
                SetNext <ProcessConfirmStepDown>();
            }

            ProcessFinish();
        }
Esempio n. 3
0
        /// <summary>
        /// シーンが開始される時
        /// </summary>
        public override void StartScene()
        {
            _player = _charaManager.Player;

            if (!_player.IsSetuped)
            {
                // Playerの準備が整った時に通知を受ける
                _player.OnSetuped
                .Subscribe(_ => {}, onCompleted: () => Setup());
            }
            else
            {
                Setup();
            }
        }
        public override void PhaseStart()
        {
            _player = _charaManager.Player;
            _player.SetFollowCameraEnable(false);

            _targets.Clear();

            // プレイヤーの向きから攻撃先を決める
            // (武器によって範囲変えたり)
            var position  = _player.Model.CellPosition;
            var dir       = _player.Model.Dir;
            var targetPos = position.Value + dir.Value;

            SearchTargetUnit(targetPos);

            var attackProcess = _player.AddAttackProcess <Chara.Process.ProcessAttack>();

            attackProcess.SetChara(_player, ignoreIfNoTarget: true, targetPos: targetPos);
            attackProcess.SetTargets(_targets);

            _player.ExecuteAttackProcess();
        }
Esempio n. 5
0
 public void Setup()
 {
     _player = _charaManager.Player;
     _player.SetFollowCameraEnable(false);
 }