/* * Either creates GroupWater entries in _table or edits the currents ones with update information. * Also resets expendedWater to 0 and sets remainingWater to totalWater * waterGiven = -1f is used to see if the group has been given any water */ void LoadWaterData() { foreach (string key in groups) { GroupWater temp = null; if (_table.TryGetValue(key, out temp)) { temp.waterRecommended = Mathf.RoundToInt(GroupData.GetItem(key).recommendedWater); temp.waterNeeded = Mathf.RoundToInt((1 + GroupData.GetItem(key).waterNeed) * temp.waterRecommended); temp.waterGiven = -1f; } else { temp = new GroupWater() { waterRecommended = Mathf.RoundToInt(GroupData.GetItem(key).recommendedWater), waterNeeded = Mathf.RoundToInt((1 + GroupData.GetItem(key).waterNeed) * GroupData.GetItem(key).recommendedWater), waterGiven = -1f }; _table.Add(key, temp); } if (temp.waterRecommended == 0) { temp.waterGiven = 0f; temp.waterNeeded = TotalWater; } } }
// Use this for initialization void Start() { gameManager = GameManager.gameManager; group = GameManager.GetItem(GroupName); warningPanel = this.transform.GetChild(0).gameObject; percentGiven = this.transform.GetChild(1).gameObject.GetComponent <Text>(); MouserPointerHandler.mph.AddMouseTracker(this.gameObject, OnPointerEnter, OnPointerExit); }
/* * Used to pull data from _table that holds water information */ public static GroupWater GetItem(string name) { GroupWater temp = null; if (_table.TryGetValue(name, out temp)) { return(temp); } else { return(null); } }
// Use this for initialization void Start() { water = GameManager.GetItem(LevelManager.groupAttribute); //Debug.Log(LevelManager.groupAttribute); if (water == null) { water = GameManager.GetItem("TEST"); } if (water.waterGiven > 0) { GameManager.ExpendedWater = GameManager.ExpendedWater - water.waterGiven; } GameManager.RemainingWater = GameManager.TotalWater - GameManager.ExpendedWater; float temp = (GroupData.GetItem(LevelManager.groupAttribute).waterNeed + 1) * 100; maxWater.text = temp + "%"; if (group.recommendedWater <= 0) { //Seperate Text for the Market float money = Mathf.RoundToInt(GameManager.Money * effect4.value); waterDescription.text = "Max Sellable Water: " + water.waterNeeded.ToString() + "AF\n" + "Money gained: " + money + "AF"; } else { waterDescription.text = "Minimum water needed: " + water.waterRecommended.ToString() + "AF\n" + "Total water needed: " + water.waterNeeded.ToString() + "AF"; } offset = water.waterRecommended / water.waterNeeded; if (water.waterGiven < 0) //If the water has been allocated yet { waterSlider.value = offset; waterAmount.text = water.waterRecommended.ToString() + "AF"; } else { waterSlider.value = water.waterGiven / water.waterNeeded; waterAmount.text = water.waterGiven.ToString() + "AF"; if (Mathf.RoundToInt(waterSlider.value * water.waterNeeded) < water.waterRecommended) { waterAmount.color = Color.red; } else { waterAmount.color = Color.black; } } }
public bool CheckWaterAllocation(string key) { GroupWater temp = null; if (_table.TryGetValue(key, out temp)) { if (temp.waterGiven < 0f) { //Debug.Log(key + " has not been Allocated Water"); return(false); } } else { Debug.LogError("Groups not loaded properly. Missing: " + key); } return(true); }