//observer code public override void stateUpdate(GameState gameState, UpdateType code) { Console.WriteLine("UPDATING STATE"); if (!init) { Initialize(); } if (code==UpdateType.HAND_UPDATE) { leftButton.setEnabled(true); showhand = false; updateHands(); updateScroll(); if (gameState.getTurn() != 1 || gameState.getAge() != 1) { updateLast(gameState); showLastTurn = true; } } if (code == UpdateType.PLAYER_UPDATE) { updatePlayed(gameState); updateResources(gameState); updatePlayers(gameState); } if (code == UpdateType.END_UPDATE) { hand.Clear(); //<-- bit of a hack showScore = true; baseVisuals["Scorehead"].setVisible(true); foreach (Player p in gameState.getPlayers().Values) { baseVisuals["name" + p.getSeat()].setVisible(true); baseVisuals["conflict" + p.getSeat()].setString(p.getScoreNum(Score.CONFLICT).ToString()).setVisible(true); baseVisuals["coin" + p.getSeat()].setString(p.getScoreNum(Score.COIN).ToString()).setVisible(true); baseVisuals["stages" + p.getSeat()].setString(p.getScoreNum(Score.STAGES).ToString()).setVisible(true); baseVisuals["blue" + p.getSeat()].setString(p.getScoreNum(Score.VICTORY_BLUE).ToString()).setVisible(true); baseVisuals["commerce" + p.getSeat()].setString(p.getScoreNum(Score.COMMERCE).ToString()).setVisible(true); baseVisuals["guild" + p.getSeat()].setString(p.getScoreNum(Score.GUILD).ToString()).setVisible(true); baseVisuals["science" + p.getSeat()].setString(p.getScoreNum(Score.SCIENCE).ToString()).setVisible(true); baseVisuals["sum" + p.getSeat()].setString(p.getScoreNum(Score.VICTORY).ToString()).setVisible(true); } quit.setVisible(true); } }
public void updateResources(GameState gameState) { for (int i = 0; i < NUMRESOURCES; i++) { baseVisuals["east" + i].setString(east.getResourceNum((Resource) i) + ""); baseVisuals["west" + i].setString(west.getResourceNum((Resource)i) + ""); baseVisuals["self" + i].setString(player.getResourceNum((Resource)i) + ""); } foreach (Player p in gameState.getPlayers().Values) { baseVisuals["gear" + p.getSeat()].setString(p.getScoreNum(Score.GEAR).ToString()); baseVisuals["tablet" + p.getSeat()].setString(p.getScoreNum(Score.TABLET).ToString()); baseVisuals["compas" + p.getSeat()].setString(p.getScoreNum(Score.COMPASS).ToString()); baseVisuals["victory" + p.getSeat()].setString(p.getScoreNum(Score.VICTORY_BLUE).ToString()); baseVisuals["army" + p.getSeat()].setString(p.getScoreNum(Score.ARMY).ToString()); seatVisuals[p.getSeat()]["conflict"].setString(p.getScoreNum(Score.CONFLICT).ToString()); if (p.getBoard().getStagesBuilt() > 0) seatVisuals[p.getSeat()]["stages"].setTexture("stage" + p.getBoard().getStagesBuilt() + p.getBoard().getSide().getStageNum()).setVisible(true); } baseVisuals["Age"].setTexture("age" + gameState.getAge()); baseVisuals["discard"].setString(gameState.getDiscards().Count+"");//get actual number of discards }
// Effects to be applied during the last turn of every age // Dependant on Wonders public static void ApplyEndAge(GameState gameState) { foreach (KeyValuePair<long, Player> player in gameState.getPlayers()) { Player curr = player.Value; foreach (Effect effect in curr.getBoard().getSide().getStageEffects(gameState.getAge())) { if (effect.type.Equals(Effect.TypeType.LASTCARD)) { } } // End Loop for Wonder Effects } // End Player Loop }