public void FinishBattle()
        {
            if (_battle.State.Data.Status == BattleStatus.Running)
            {
                _battle.State.Data.Status = BattleStatus.Leave;
                LogicLog.SetBattle(LogBattleType.Leave, _explorer.State.LastInteractiveId, _explorer.State.RoomId, _explorer.CurrentStage);
            }
            var status = _battle.State.Data.Status;

            _battleLogic.ClearBattle();
            if (status == BattleStatus.Win)
            {
                _impactLogic.ExecuteImpact(_contextLogic.ImpactWin);
                LogicLog.SetBattle(LogBattleType.Win, _explorer.State.LastInteractiveId, _explorer.State.RoomId, _explorer.CurrentStage);
            }
            else
            {
                _impactLogic.ExecuteImpact(_contextLogic.ImpactLose);
                LogicLog.SetBattle(LogBattleType.Lose, _explorer.State.LastInteractiveId, _explorer.State.RoomId, _explorer.CurrentStage);
            }
        }