void SetCardValues(GameObject card, OreData oreData) { card.transform.GetChild(0).GetComponent <TMP_Text>().text = oreData.title; Ore ore = GetOre(oreData); card.transform.GetChild(2).GetChild(2).GetComponent <TMP_Text>().text = ore.Staffed.ToString(); card.transform.GetChild(3).GetComponent <TMP_Text>().text = ore.Amount.ToString(); card.transform.GetChild(4).GetComponent <TMP_Text>().text = "$" + ore.Rate.ToString("F2"); }
public void Mine(OreData oreData, int growth) { Ore ore = GetOre(oreData); if (storage + growth <= capacity) { storage += growth; ore.MineOre(growth); } else if (storage + growth > capacity) { ore.MineOre(capacity - storage); capacity = storage; } }
public void AddStaff(OreData oreData) { Ore ore = GetOre(oreData); if (isAddingStaff && drillSpare > 0 && gameManager.popSpare > 0) { ore.AddStaff(true); drillSpare--; gameManager.popSpare--; } else if (!isAddingStaff && ore.Staffed > 0) { ore.AddStaff(false); drillSpare++; gameManager.popSpare++; } }
public Ore GetOre(OreData oreData) { Ore ore = null; for (int i = 0; i < ores.Count; i++) { if (oreData.title == ores[i].data.title) { ore = ores[i]; } } if (ore != null) { return(ore); } return(null); }
public (List <ShipItem>, int) LoadOre(OreData oreData, List <ShipItem> shipInventory, int shipSpace) { for (int i = 0; i < shipInventory.Count; i++) { if (shipInventory[i].data.resource == CommodityData.Resource.Ore && shipInventory[i].data.type == CommodityData.Type.Resource) { if (oreData == null || shipInventory[i].data.OreData == oreData) { Ore ore = GetOre(shipInventory[i].data.OreData); if (ore != null) { if (shipSpace <= 0) { break; } else if (ore.Amount <= shipSpace) { shipSpace -= ore.Amount; shipInventory[i].AddAmount(ore.Amount); storage -= ore.Amount; gameManager.textManager.SendMessageToChat(ore.Amount + " " + ore.data.title + " Loaded into ship", Message.MessageType.info); ore.LoadOre(ore.Amount); } else { shipInventory[i].AddAmount(shipSpace); storage -= shipSpace; gameManager.textManager.SendMessageToChat(shipSpace + " " + ore.data.title + " Loaded into ship", Message.MessageType.info); ore.LoadOre(shipSpace); shipSpace = 0; break; } } } } } return(shipInventory, shipSpace); }
public void TriggerEvent(GameManager gameManager) { if (!triggered) { if (data.triggerType == EventData.TriggerType.None) { Trigger(gameManager); } else if (EventData.TriggerType.Time == data.triggerType && data.day == gameManager.day && data.month == gameManager.month && data.year == gameManager.year) { Trigger(gameManager); } else if (EventData.TriggerType.Resource == data.triggerType) { int triggerValue = 0; if (data.resource == EventData.Resource.Food) { triggerValue = gameManager.food; } else if (data.resource == EventData.Resource.Energy) { triggerValue = gameManager.energy; } else if (data.resource == EventData.Resource.Money) { triggerValue = gameManager.money; } else if (data.resource == EventData.Resource.Population) { triggerValue = gameManager.popAmount; } if (data.greaterThan && triggerValue > data.resourceValue) { Trigger(gameManager); } else if (!data.greaterThan && triggerValue <= data.resourceValue) { Trigger(gameManager); } } else if (data.triggerType == EventData.TriggerType.Research) { if (gameManager.techManager.technologies == null) { gameManager.techManager.CreateDatabase(); } for (int i = 0; i < gameManager.techManager.technologies.Length; i++) { if (gameManager.techManager.technologies[i].techCard == data.technology) { //Debug.Log(gameManager.techManager.technologies[i].researched); if (gameManager.techManager.technologies[i].researched) { //Debug.Log(eventData); Trigger(gameManager); } break; } } } else if (data.triggerType == EventData.TriggerType.ShipLocation) { if (data.shipLocation == gameManager.shipManager.shipStatus) { Trigger(gameManager); } } else if (data.triggerType == EventData.TriggerType.Ore) { Ore ore = gameManager.oreManager.GetOre(data.oreData); if (data.greaterThan && ore.Amount > data.resourceValue) { Trigger(gameManager); } else if (!data.greaterThan && ore.Amount <= data.resourceValue) { Trigger(gameManager); } } } }
public void CreateOre(OreData oreData) { Ore newOre = new Ore(oreData); ores.Add(newOre); }