Beispiel #1
0
    /// <summary>
    /// ターン終了時の処理
    /// 死亡判定などを行う
    /// </summary>
    public void TurnEnd()
    {
        EnemyDataModel.Instance.Data.ForEach(battler =>
        {
            DeadCheck(battler);
        });
        MemberDataModel.Instance.GetActorData().ForEach(battler =>
        {
            DeadCheck(battler);
        });

        //タイムラインスケジュールから死んでいるキャラを削除する
        BattleGuiManager.Instance.Timeline.TimelineScheduleRemove().Subscribe(_ =>
        {
            ObservableUtils.Timer(400).Subscribe(__ =>
            {
                //敵がいない場合はリザルト画面に遷移
                if (BattleLogic.AllEnemyDeadCheck())
                {
                    var loots = BattleLogic.BattleResult();
                    BattleGuiManager.Instance.Result.ShowResult(loots).Subscribe(___ =>
                    {
                        End(loots);
                    });
                }
                else
                {
                    TimelineNext();
                }
            });
        });
    }