Ejemplo n.º 1
0
 public void BuyCommodity(CommodityData commodity)
 {
     if (shipStatus == 0)
     {
         ShipItem item = GetShipItem(commodity);
         if (item.data.cost <= gameManager.money && item.data.storage <= (shipCap - shipStorage))
         {
             item.AddAmount(1);
             gameManager.money -= item.data.cost;
             shipStorage       += item.data.storage;
             if (textManager.LastMessageInChat() == lastIncrement + " " + item.data.storageSucess)
             {
                 lastIncrement++;
                 textManager.ReplaceMessageInChat(lastIncrement + " " + item.data.storageSucess);
             }
             else
             {
                 textManager.SendMessageToChat(1 + " " + item.data.storageSucess, Message.MessageType.info);
                 lastIncrement = 1;
             }
         }
         else if (item.data.cost > gameManager.money)
         {
             textManager.SendMessageToChat(item.data.storageFailMoney, Message.MessageType.info);
         }
         else if (item.data.storage > (shipCap - shipStorage))
         {
             textManager.SendMessageToChat(item.data.storageFailCap, Message.MessageType.info);
         }
         //item.commodObject.transform.GetChild(1).GetChild(0).GetComponent<TMP_Text>().text = item.Amount.ToString();
         ClearScreen();
         WriteToScreen();
     }
 }
 public Commodity(CommodityData _commodityData)
 {
     data       = _commodityData;
     amount     = data.startAmount;
     production = data.value;
     staffed    = 0;
     modifier   = 100;
 }
 public void AddOreBuilding(CommodityData commodityData, int amount)
 {
     if (commodityData == drillData)
     {
         drillSpare++;
     }
     else if (commodityData == tankData)
     {
         UpgradeStorage(commodityData);
     }
 }
Ejemplo n.º 4
0
        public void CreateShipItem(CommodityData commodityData)
        {
            ShipItem item = new ShipItem(commodityData);

            if (item.data.OreData == null)
            {
                if (item.data.resource == CommodityData.Resource.Food)
                {
                    item.commodObject = Instantiate(shipButtonPrefab, foodObjects.transform);
                    item.commodObject.transform.position = new Vector2(foodObjects.transform.position.x, foodObjects.transform.position.y + (foodObjectCount * -30));
                    foodObjectCount++;
                }
                else if (item.data.resource == CommodityData.Resource.Energy)
                {
                    item.commodObject = Instantiate(shipButtonPrefab, energyObjects.transform);
                    item.commodObject.transform.position = new Vector2(energyObjects.transform.position.x, energyObjects.transform.position.y + (energyObjectCount * -30));
                    energyObjectCount++;
                }
                else
                {
                    item.commodObject = Instantiate(shipButtonPrefab, earthMiscObjects.transform);
                    item.commodObject.transform.position = new Vector2(earthMiscObjects.transform.position.x, earthMiscObjects.transform.position.y + (earthMiscObjectCount * -30));
                    earthMiscObjectCount++;
                }

                item.commodObject.GetComponent <Button>().onClick.RemoveAllListeners();
                item.commodObject.GetComponent <Button>().onClick.AddListener(delegate() { BuyCommodity(item.data); });
                item.commodObject.transform.GetChild(0).GetComponent <TMP_Text>().text = "Buy " + item.data.commodityName;
            }
            else
            {
                if (item.data.resource == CommodityData.Resource.Ore && item.data.type != CommodityData.Type.Building)
                {
                    item.commodObject = Instantiate(shipButtonPrefab, oreObjects.transform);
                    item.commodObject.transform.position = new Vector2(oreObjects.transform.position.x, oreObjects.transform.position.y + (oreObjectsCount * -30));
                    oreObjectsCount++;

                    item.commodObject.GetComponent <Button>().onClick.RemoveAllListeners();
                    item.commodObject.GetComponent <Button>().onClick.AddListener(delegate() { LoadOre(item.data.OreData); });
                    item.commodObject.transform.GetChild(0).GetComponent <TMP_Text>().text = "Load " + item.data.commodityName;
                }
                else
                {
                    item.commodObject = Instantiate(shipButtonPrefab, marsMiscObjects.transform);
                    item.commodObject.transform.position = new Vector2(marsMiscObjects.transform.position.x, marsMiscObjects.transform.position.y + (marsMiscObjectsCount * -30));
                    marsMiscObjectsCount++;
                }
            }



            shipInventory.Add(item);
        }
Ejemplo n.º 5
0
        public ShipItem GetShipItem(CommodityData commodityData)
        {
            ShipItem shipItem = null;

            for (int i = 0; i < shipInventory.Count; i++)
            {
                if (commodityData == shipInventory[i].data)
                {
                    shipItem = shipInventory[i];
                }
            }
            return(shipItem);
        }
 public Technology(TechnologyCard _techCard)
 {
     techCard       = _techCard;
     techName       = _techCard.techName;
     descrption     = _techCard.descrption;
     researchCost   = _techCard.researchCost;
     canResearch    = false;
     researched     = false;
     isResearching  = false;
     isSetAsCard    = false;
     isStartingTech = _techCard.startingTechnology;
     techCommodity  = _techCard.commodity;
     techtype       = _techCard.techType;
 }
        public void AddStaff(CommodityData commodityData)
        {
            Commodity commodity = GetCommodity(commodityData);

            if (isAddingStaff && gameManager.popSpare > 0 && commodity.Staffed < commodity.Amount)
            {
                commodity.ChangeStaff(1);
                gameManager.popSpare--;
            }
            else if (!isAddingStaff && commodity.Staffed > 0)
            {
                commodity.ChangeStaff(-1);
                gameManager.popSpare++;
            }
            commodity.productionLabel.transform.GetChild(0).GetChild(1).GetComponent <TMP_Text>().text = commodity.Staffed.ToString();
        }
        public Commodity GetCommodity(CommodityData commodityData)
        {
            Commodity commodity = null;

            for (int i = 0; i < commodities.Count; i++)
            {
                if (commodityData.commodityName == commodities[i].data.commodityName)
                {
                    commodity = commodities[i];
                }
            }
            if (commodity != null)
            {
                return(commodity);
            }
            return(null);
        }
        //Creates a Unique Commodity entity.
        public void CreateCommodity(CommodityData commodityData)
        {
            Commodity commodity = new Commodity(commodityData);

            if (commodityData.resource == CommodityData.Resource.Food)
            {
                commodity.productionLabel = Instantiate(producionPrefab, new Vector2(0, -productionCount["Food"] * 20), Quaternion.identity);
                commodity.productionLabel.transform.GetChild(0).GetComponent <TMP_Text>().text = commodity.data.name + ":";
                commodity.productionLabel.transform.SetParent(foodProductionLocation.transform, false);
                productionCount["Food"] += 1;
            }
            else if (commodityData.resource == CommodityData.Resource.Energy)
            {
                commodity.productionLabel  = Instantiate(producionPrefab, new Vector2(0, -productionCount["Energy"] * 20), Quaternion.identity);
                productionCount["Energy"] += 1;
                commodity.productionLabel.transform.GetChild(0).GetComponent <TMP_Text>().text = commodity.data.name + ":";
                commodity.productionLabel.transform.SetParent(energyProductionLocation.transform, false);
            }
            else if (commodityData.resource == CommodityData.Resource.Ore)
            {
                commodity.productionLabel = oreProductionLocation;
                productionCount["Ore"]   += 1;
            }
            else if (commodityData.resource == CommodityData.Resource.Research)
            {
                commodity.productionLabel    = researchProductionLocation;
                productionCount["Research"] += 1;
            }

            commodity.productionLabel.transform.GetChild(0).GetChild(1).GetChild(1).GetComponent <Button>().onClick.RemoveAllListeners();

            commodity.productionLabel.transform.GetChild(0).GetChild(1).GetChild(1).GetComponent <Button>().onClick.AddListener(delegate() { StaffCheck(true); });
            commodity.productionLabel.transform.GetChild(0).GetChild(1).GetChild(1).GetComponent <Button>().onClick.AddListener(delegate() { AddStaff(commodity.data); });

            commodity.productionLabel.transform.GetChild(0).GetChild(1).GetChild(2).GetComponent <Button>().onClick.RemoveAllListeners();
            commodity.productionLabel.transform.GetChild(0).GetChild(1).GetChild(2).GetComponent <Button>().onClick.AddListener(delegate() { StaffCheck(false); });
            commodity.productionLabel.transform.GetChild(0).GetChild(1).GetChild(2).GetComponent <Button>().onClick.AddListener(delegate() { AddStaff(commodity.data); });

            gameManager.mapManager.AddCommodity(commodity);
            commodities.Add(commodity);
        }
Ejemplo n.º 10
0
        public override void OnInspectorGUI()
        {
            CommodityData commodityData = (CommodityData)target;

            DrawDefaultInspector();

            if (commodityData.resource == CommodityData.Resource.Ore && commodityData.type != CommodityData.Type.Building)
            {
                EditorGUILayout.BeginHorizontal();
                GUIStyle style = new GUIStyle(EditorStyles.foldout);
                //style.fixedWidth = 5;
                oreFoldout            = EditorGUILayout.Foldout(oreFoldout, "Ore Data", style);
                commodityData.OreData = (OreData)EditorGUILayout.ObjectField("", commodityData.OreData, typeof(OreData), allowSceneObjects: false);
                EditorGUILayout.EndHorizontal();
                if (commodityData.OreData != null)
                {
                    if (oreFoldout)
                    {
                        editor = Editor.CreateEditor(commodityData.OreData);
                        editor.DrawDefaultInspector();
                    }
                }
            }
        }
Ejemplo n.º 11
0
 public ShipItem(CommodityData _commodityData)
 {
     data   = _commodityData;
     amount = 0;
 }
        public int CalculateProd(ProductionManager productionManager, CommodityData drillData)
        {
            int growth = productionManager.CalculateProd(drillData, staffed);

            return(growth);
        }
 public void UpgradeStorage(CommodityData commodity)
 {
     capacity = capacity + commodity.value;
 }
        public void ApplyCommodityMod(CommodityData data, int modifier)
        {
            Commodity commodity = GetCommodity(data);

            commodity.AddModifier(modifier);
        }
 public int CalculateProd(CommodityData commodityData, int staffed)
 {
     return(GetCommodity(commodityData).CalculateProduction(gameManager, staffed));
 }