示例#1
0
        //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);
            }
        }
示例#2
0
        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
        }
示例#3
0
        // 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
        }