internal BattleGUI(ScreenConstants screen, GUIManager manager, Dialog messageFrame, MessageBox messageBox, IMenuWidget<MainMenuEntries> mainWidget, IMenuWidget<Move> moveWidget, IMenuWidget<Pokemon> pokemonWidget, IMenuWidget<Item> itemWidget, IBattleStateService battleState, BattleData data) { this.battleState = battleState; playerId = data.PlayerId; ai = data.Clients.First(id => !id.IsPlayer); this.moveWidget = moveWidget; this.itemWidget = itemWidget; this.mainWidget = mainWidget; this.pokemonWidget = pokemonWidget; this.messageBox = messageBox; this.messageFrame = messageFrame; InitMessageBox(screen, manager); InitMainMenu(screen, manager); InitAttackMenu(screen, manager); InitItemMenu(screen, manager); InitPKMNMenu(screen, manager); }
public BattleGraphicController(ScreenConstants screen, PlayerPokemonDataView playerView, AIPokemonDataView aiView, PokemonSprite playerSprite, PokemonSprite aiSprite, BattleData data) { var player = data.PlayerId; var ai = data.Clients.First(id => !id.IsPlayer); playerSprite.IsPlayer = true; aiSprite.IsPlayer = false; dataViews[player] = playerView; dataViews[ai] = aiView; sprites[player] = playerSprite; sprites[ai] = aiSprite; foreach (var view in dataViews.Values) view.OnHPUpdated += delegate { OnHPSet(this, null); }; foreach (var sprite in sprites.Values) sprite.OnPokemonAppeared += delegate { OnPokemonSet(this, null); }; initAIGraphic(aiView, aiSprite, screen); initPlayerGraphic(playerView, playerSprite, screen); }
public BattleGUI(ScreenConstants screen, GUIManager manager, Dialog messageFrame, MessageBox messageBox, MainMenuWidget mainWidget, MoveMenuWidget moveWidget, PokemonMenuWidget pokemonWidget, ItemMenuWidget itemWidget, IBattleStateService battleState, BattleData data) : this(screen, manager, messageFrame, messageBox, (IMenuWidget<MainMenuEntries>)mainWidget, moveWidget, pokemonWidget, itemWidget, battleState, data) {}
public void Init(BattleData data) { commands.Clear(); IsDone = false; foreach (var c in data.Clients) commands[c] = null; clientCnt = commands.Count; }
public override void Update(BattleData data) { executer.Data = data; var commands = ScheduleCommands(data); commands.ForEach(c => c.Execute(executer)); data.ClearCommands(); IsDone = true; }
public void Update(BattleData data) { if (clientCnt != 0) return; foreach (var c in commands) data.SetCommand(c.Key, c.Value); commands.Clear(); IsDone = true; }
public override void Init(BattleData data) { IsDone = false; clients = data.Clients .Where(id => NeedsPokemon(data, id)) .ToDictionary(id => id, id => (Pokemon)null); clientsLeft = clients.Count; IsDone = (clientsLeft == 0); }
internal BattleStateComponent(BattleData data, IBattleState actionState, IBattleState characterSetState, IBattleState executionState, IEventCreator eventCreator) { actionState.CheckNull("actionState"); characterSetState.CheckNull("characterSetState"); executionState.CheckNull("executionState"); eventCreator.CheckNull("eventCreator"); ActionState = actionState; CharacterSetState = characterSetState; ExecutionState = executionState; this.eventCreator = eventCreator; this.data = data; }
public override void Update(BattleData data) { if (clientsLeft != 0) return; foreach (var c in clients) { var pokemon = data.GetPokemon(c.Key); pokemon.Pokemon = c.Value; eventCreator.SetPokemon(c.Key, pokemon); } IsDone = true; }
public abstract void Update(BattleData data);
public virtual void Init(BattleData data) { }
public BattleStateComponent(BattleData data, WaitForActionState actionState, WaitForCharState characterSetState, ExecuteState executionState, IEventCreator eventCreator) : this(data, (IBattleState)actionState, characterSetState, executionState, eventCreator) { }
private WaitForCharState CreateWaitForCharState(BattleData battleData) { var state = CreateWaitForCharState(); state.Init(battleData); return state; }
public override void Init(BattleData data) { IsDone = false; }
private bool NeedsPokemon(BattleData data, ClientIdentifier id) { var pkmn = data.GetPokemon(id); return pkmn.Pokemon == null || pkmn.Condition == StatusCondition.KO; }
private List<ICommand> ScheduleCommands(BattleData data) { scheduler.ClearCommands(); scheduler.AppendCommands(data.Commands); return scheduler.ScheduleCommands().ToList(); }
public TestFactory() { PlayerID = new ClientIdentifier(); AIID = new ClientIdentifier(); BattleData = new BattleData(PlayerID, AIID); }