/// <summary> /// 商品の売却速度に合わせて商品を売る /// </summary> /// <param name="key">自動売却をする商品の名前</param> /// <returns></returns> IEnumerator SellProduct(string key) { while (true) { if (StateManager.state == StateManager.State.PRODUCTION) { if (productRegister.getProductDatas()[key].NumberOfProducts > 0) { int sellNum = (int)(productRegister.getProductDatas()[key].SecondsToSell) * (1 + (popilation.population / 10000)); Debug.Log("売れた数" + sellNum); productRegister.NumberOfProductsValueChange(key, -sellNum); fundsController.FundsValueChange(productRegister.getProductDatas()[key].UnitPrice * sellNum); } yield return(new WaitForSeconds(1f)); } else { yield return(null); } } }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { if (StateManager.state == StateManager.State.RANKUP) { mapGenerator.ChoicePosition(); } if (StateManager.state == StateManager.State.BUILD) { mapGenerator.ChoicePosition(); } else if (StateManager.state == StateManager.State.PRODUCTION) { if (RayCast().tag == "IndustryTab") { return; } population.addPopulation++; //工場で商品を生産 Dictionary <string, int> productCount = factoryManager.Make(); foreach (KeyValuePair <string, int> product in productCount) { productRegister.NumberOfProductsValueChange(product.Key, product.Value); } //生産時に発生した汚染を反映 Dictionary <string, float> makePollution = factoryManager.MakePollution(); foreach (KeyValuePair <string, float> pollution in makePollution) { pollutionStatus.SetPollution(pollution.Key, pollution.Value); } SoundManager.Instance.PlaySE("makeItem4"); mapGenerator.PlayParticle(); } } }