public SetCell ( |
||
cell | ||
return | FightActionResultEnum |
/// <summary> /// /// </summary> /// <param name="fighter"></param> /// <param name="cellId"></param> public void FighterPlacementChange(AbstractFighter fighter, int cellId) { AddMessage(() => { if (State != FightStateEnum.STATE_PLACEMENT) { fighter.Dispatch(WorldMessage.BASIC_NO_OPERATION()); return; } var cell = GetCell(cellId); if (cell != null) { if (cell.CanWalk) { fighter.SetCell(cell); Dispatch(WorldMessage.FIGHT_COORDINATE_INFORMATIONS(fighter)); } } }); }
/// <summary> /// /// </summary> /// <param name="fighter"></param> /// <param name="team"></param> /// <param name="cellId"></param> public FightActionResultEnum SummonFighter(AbstractFighter fighter, FightTeam team, int cellId) { fighter.JoinFight(this, team); fighter.TurnReady = true; var result = fighter.SetCell(GetCell(cellId)); if (result != FightActionResultEnum.RESULT_NOTHING) return result; var message = new StringBuilder("+"); fighter.SerializeAs_GameMapInformations(OperatorEnum.OPERATOR_ADD, message); if (fighter.Invocator != null) Dispatch(WorldMessage.GAME_ACTION(fighter.StaticInvocation ? EffectEnum.InvocationStatic : EffectEnum.Invocation, fighter.Invocator.Id, message.ToString())); else Dispatch("GM|" + message.ToString()); switch(State) { case FightStateEnum.STATE_PLACEMENT: // implicit turnready after start fighting break; case FightStateEnum.STATE_FIGHTING: fighter.TurnReady = true; TurnProcessor.SummonFighter(fighter); Dispatch(WorldMessage.FIGHT_TURN_LIST(TurnProcessor.FighterOrder)); break; } return result; }