void Owner_TurnEnd(Fighter fighter)
        {
            ControlableMonsterFighter nextControlable = GetNextControlable(1);

            if (nextControlable == this)
            {
                SwitchContext();
                this.Owner.Character.SwapFighter(this);
            }
        }
        void ControlableMonsterFighter_TurnEnd(Fighter fighter)
        {
            ControlableMonsterFighter nextControlable = GetNextControlable(1);

            if (nextControlable != null)
            {
                nextControlable.SwitchContext();
                this.Owner.Character.SwapFighter(nextControlable);
            }
            else
            {
                this.Owner.Character.SwapFighterToMaster();
            }
        }
        void ControlableMonsterFighter_OnDead(Fighter fighter, bool recursiveCall)
        {
            Owner.OnTurnEndEvt -= Owner_TurnEnd;

            ControlableMonsterFighter controlable = GetNextControlable(1);

            if (controlable != null)
            {
                this.Owner.Character.SwapFighter(controlable);
            }
            else
            {
                this.Owner.Character.SwapFighterToMaster();
            }
        }