Пример #1
0
    public void processTurnAdmin()
    {
        Debug.Log("Begin Process Turn Admin");
        // State.setCurrentTurnOrderIndex(0);
        State.setCurrentPlayer(0);
        // MyEnum.GamePhase currentPhase = State.GetPhase();
        App    app         = UnityEngine.Object.FindObjectOfType <App>();
        int    playerIndex = app.GetHumanIndex();
        Nation humanPlayer = State.getNations()[playerIndex];

        State.currentPlayer = 0;
        Nation currentPlayer = State.getNations()[0];
        // PlayerCollector.collectForPlayer(player);

        // Debug.Log("Count of getTurnOrder: " + State.getTurnOrder().Count);
        bool first = true;

        while (currentPlayer.getIndex() != 0 || first == true)
        {
            first = false;
            // Debug.Log("Current Turn Order Index: " + State.currentTurnOrderIndex);
            //   Debug.Log("Current player is index: " + currentPlayer.getIndex());
            if (humanPlayer.getIndex() == currentPlayer.getIndex())
            {
                currentPlayer = State.getNextPlayer();
            }
            // EarlyGameAdminstration.mainEarlyAdminLoop(currentPlayer);
            //------------------------------------------------------------------
            currentPlayer.getAI().processAdminstrationPhase(currentPlayer);
            // PlayerProcessor.processSignals(currentPlayer);
            //  maintenancePayer.payMaintenance(currentPlayer);
            PlayerCollector.collectForPlayer(currentPlayer);
            currentPlayer = State.getNextPlayer();
            Debug.Log("New current player is: " + currentPlayer.getName() +
                      " " + currentPlayer.getIndex());

            Queue <int> newRailroads = currentPlayer.getAI().NewRailRoads;
            while (newRailroads.Count > 0)
            {
                int nextProvIndex            = newRailroads.Dequeue();
                assemblyCsharp.Province prov = State.getProvinces()[nextProvIndex];
                railPlacer.drawRailroadOnMap(prov, currentPlayer);
            }
        }



        //  State.advanceGamePhase();
        Debug.Log(State.GetPhase());

        return;
    }
Пример #2
0
    private void Turn_Button()
    {
        if(State.turn >= demoTurnLimit)
        {
            endGameMessage.SetActive(true);
            return;
        }
        turnButton.interactable = false;
        Debug.Log("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
        Debug.Log("Begin turn processing...");
        Debug.Log("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
        Debug.Log("Current phase: " + State.GetPhase());
        //  blockPlayerFromActing();
        //turnPopUpEnter.Play();
        App app = UnityEngine.Object.FindObjectOfType<App>();
        int playerIndex = app.GetHumanIndex();
        Nation player = State.getNations()[playerIndex];
        //State.turn++;
        PlayerProcessor.processSignals(player);
           // MarketHelper.resetBidsAndOffers();
          //  maintenancePayer.payMaintenance(player);
        PlayerCollector.collectForPlayer(player);

        // Texting ======================================================================================
        turnHandler.processTurnAdmin();
        State.advanceGamePhase();
        State.tradeHandler.handleTrades();

        WorldBank bank = State.bank;
        Debug.Log("Banking           Banking                     Banking");
        bank.collectInterest();
        bank.distributeCollectedInterest();
        Debug.Log("Finished Banking - should not proceed to Trade Results");
        showTradeResults(player);
        TradeResults.SetActive(true);
         tradeResultsEnter.Play();
        //turnPopUpExit.Play();
           // payCoalMaintaince(player);
        updateHeaderValues();
        if (State.turn == 40)
        {
            eraUpdater.swichEra();
        }
        if (State.turn == 80)
        {
            eraUpdater.swichEra();

        }
    }