Advertisement
shadowplaycoding

P030_TurnManager

Jul 21st, 2018
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.69 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.     }
  26.  
  27.     public void EndTurn()
  28.     {
  29.         endTurnButton.interactable = false;
  30.  
  31.         UpdateTurnText();
  32.  
  33.         ApplyProduction();
  34.         ApplyResources();
  35.  
  36.         endTurnButton.interactable = true;
  37.     }
  38.  
  39.     void UpdateTurnText()
  40.     {
  41.         turnNumber += 1;
  42.  
  43.         turnText.text = "Turn: " + turnNumber;
  44.     }
  45.  
  46.     void ApplyProduction()
  47.     {
  48.         for(int i = 0; i < PlayerManager.PlayerManagerInstance.ownedPlanets.Count; i++)
  49.         {
  50.             Planet planet = PlayerManager.PlayerManagerInstance.ownedPlanets[i];
  51.  
  52.             Debug.Log(PlayerManager.PlayerManagerInstance.ownedPlanets[i].planetName);
  53.  
  54.             Debug.Log("Current Production Is: " + planet.starBase.currentProduction);
  55.  
  56.             if (planet.starBase != null && planet.starBase.buildCue.Count !=0)
  57.             {
  58.                 planet.starBase.currentProduction += planet.production;
  59.  
  60.                 if (planet.starBase.currentProduction >= planet.starBase.buildCue[0].productionValue)
  61.                 {
  62.                     float difference = planet.starBase.currentProduction - planet.starBase.buildCue[0].productionValue;
  63.                     planet.starBase.currentProduction = difference;
  64.  
  65.                     fm.BuildShip(planet.starBase.buildCue[0]);
  66.                     planet.starBase.buildCue.Remove(planet.starBase.buildCue[0]);
  67.                     GUIManagementScript.GUIManagerInstance.RemoveButtonFromCue();
  68.                 }
  69.  
  70.                 GUIManagementScript.GUIManagerInstance.UpdateShipProductionUI();
  71.             }
  72.         }
  73.  
  74.     }
  75.  
  76.     void ApplyResources()
  77.     {
  78.         for(int i = 0; i < PlayerManager.PlayerManagerInstance.ownedPlanets.Count; i++)
  79.         {
  80.             Planet planet = PlayerManager.PlayerManagerInstance.ownedPlanets[i];
  81.  
  82.             PlayerManager.PlayerManagerInstance.playerResources.AddResource(ResourceType.Food, planet.planetResources.food);
  83.             PlayerManager.PlayerManagerInstance.playerResources.AddResource(ResourceType.Minerals, planet.planetResources.minerals);
  84.             PlayerManager.PlayerManagerInstance.playerResources.AddResource(ResourceType.Credits, planet.planetResources.credits);
  85.  
  86.             Debug.Log("Credits: " + PlayerManager.PlayerManagerInstance.playerResources.credits
  87.                 + " Minerals: " + PlayerManager.PlayerManagerInstance.playerResources.minerals
  88.                 + " Food: " + PlayerManager.PlayerManagerInstance.playerResources.food);
  89.         }
  90.     }
  91.  
  92.     /*
  93.     Copyright Shadowplay Coding 2018 - see www.shadowplaycoding.com for licensing details
  94.     Removing this comment forfits any rights given to the user under licensing.
  95.     */
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement