Advertisement
shadowplaycoding

P031_TurnManager

Sep 16th, 2018
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.20 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5.  
  6. public class TurnManager : MonoBehaviour {
  7.  
  8.     public static TurnManager turnManagerInstance;
  9.  
  10.     public FleetManager fm;
  11.  
  12.     public Button endTurnButton;
  13.     public Text turnText;
  14.  
  15.     int turnNumber;
  16.  
  17.     void Awake()
  18.     {
  19.         turnManagerInstance = this;
  20.     }
  21.  
  22.     // Use this for initialization
  23.     void Start () {
  24.         turnNumber = 0;
  25.         UpdateResourceText();
  26.     }
  27.  
  28.     public void EndTurn()
  29.     {
  30.         endTurnButton.interactable = false;
  31.  
  32.         UpdateTurnText();
  33.  
  34.         ApplyProduction();
  35.         ApplyResources();
  36.  
  37.         UpdateResourceText();
  38.  
  39.         endTurnButton.interactable = true;
  40.     }
  41.  
  42.     void UpdateTurnText()
  43.     {
  44.         turnNumber += 1;
  45.  
  46.         turnText.text = "Turn: " + turnNumber;
  47.     }
  48.  
  49.     void ApplyProduction()
  50.     {
  51.         for(int i = 0; i < PlayerManager.PlayerManagerInstance.ownedPlanets.Count; i++)
  52.         {
  53.             Planet planet = PlayerManager.PlayerManagerInstance.ownedPlanets[i];
  54.  
  55.             Debug.Log(PlayerManager.PlayerManagerInstance.ownedPlanets[i].planetName);
  56.  
  57.             Debug.Log("Current Production Is: " + planet.starBase.currentProduction);
  58.  
  59.             if (planet.starBase != null && planet.starBase.buildCue.Count !=0)
  60.             {
  61.                 planet.starBase.currentProduction += planet.production;
  62.  
  63.                 if (planet.starBase.currentProduction >= planet.starBase.buildCue[0].productionValue)
  64.                 {
  65.                     float difference = planet.starBase.currentProduction - planet.starBase.buildCue[0].productionValue;
  66.                     planet.starBase.currentProduction = difference;
  67.  
  68.                     fm.BuildShip(planet.starBase.buildCue[0]);
  69.                     planet.starBase.buildCue.Remove(planet.starBase.buildCue[0]);
  70.                     GUIManagementScript.GUIManagerInstance.RemoveButtonFromCue();
  71.                 }
  72.  
  73.                 GUIManagementScript.GUIManagerInstance.UpdateShipProductionUI();
  74.             }
  75.         }
  76.  
  77.     }
  78.  
  79.     void ApplyResources()
  80.     {
  81.         for(int i = 0; i < PlayerManager.PlayerManagerInstance.ownedPlanets.Count; i++)
  82.         {
  83.             Planet planet = PlayerManager.PlayerManagerInstance.ownedPlanets[i];
  84.  
  85.             PlayerManager.PlayerManagerInstance.playerResources.AddResource(ResourceType.Food, planet.planetResources.food);
  86.             PlayerManager.PlayerManagerInstance.playerResources.AddResource(ResourceType.Minerals, planet.planetResources.minerals);
  87.             PlayerManager.PlayerManagerInstance.playerResources.AddResource(ResourceType.Credits, planet.planetResources.credits);
  88.  
  89.             Debug.Log("Credits: " + PlayerManager.PlayerManagerInstance.playerResources.credits
  90.                 + " Minerals: " + PlayerManager.PlayerManagerInstance.playerResources.minerals
  91.                 + " Food: " + PlayerManager.PlayerManagerInstance.playerResources.food);
  92.         }
  93.     }
  94.  
  95.     public void UpdateResourceText()
  96.     {
  97.         UIResourceManager.instance.UpdateText(UIResourceManager.instance.creditsText, PlayerManager.PlayerManagerInstance.playerResources.credits);
  98.         UIResourceManager.instance.UpdateText(UIResourceManager.instance.mineralsText, PlayerManager.PlayerManagerInstance.playerResources.minerals);
  99.         UIResourceManager.instance.UpdateText(UIResourceManager.instance.foodText, PlayerManager.PlayerManagerInstance.playerResources.food);
  100.     }
  101.  
  102.     /*
  103.     Copyright Shadowplay Coding 2018 - see www.shadowplaycoding.com for licensing details
  104.     Removing this comment forfits any rights given to the user under licensing.
  105.     */
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement