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);
 }
Exemple #6
0
 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);
        }