//Event driven void UpdateFarmingUI(UIFarmingUpdateEventInfo eventInfo) { CornCountText.text = FarmingController.GetInstance().mFarmingSeeds["Corn"].getCount().ToString(); WheatCountText.text = FarmingController.GetInstance().mFarmingSeeds["Wheat"].getCount().ToString(); PotatoCountText.text = FarmingController.GetInstance().mFarmingSeeds["Potato"].getCount().ToString(); HopsCountText.text = FarmingController.GetInstance().mFarmingSeeds["Hops"].getCount().ToString(); }
public void PlantSeedPlot(Seeds seedType) { if (mSeed.mType != SEED_TYPE.None) { return; } mSeed = seedType.ShallowCopy(); switch (seedType.mType) { //Updating UI case SEED_TYPE.Corn: //gameObject.sprite = cornSprite; gameObject.GetComponent <Image>().sprite = cornSprite; //gameObject.GetComponent<Image>().transform.localScale = new Vector3(.5f, .5f); break; case SEED_TYPE.Wheat: gameObject.GetComponent <Image>().sprite = wheatSprite; break; case SEED_TYPE.Potato: gameObject.GetComponent <Image>().sprite = potatoSprite; break; case SEED_TYPE.Hops: gameObject.GetComponent <Image>().sprite = hopsSprite; break; } harvestProgressBar.maximum = mSeed.mHarvestTimeCap; ToggleButtonsPlanted(); FarmingController.GetInstance().totalSeededPlots++; }
//TODO update for unity public static FarmingController GetInstance() { if (mInstance == null) { mInstance = new FarmingController(); } return(mInstance); }
//Cant use constructor to instantiate objects. Using awake() instead public void Awake() { #region Event setup fuei.eventGO = gameObject; ruei.eventGO = gameObject; //Listening for events EventController.getInstance().RegisterListener <FarmingWorkerEventInfo>(FarmingWorkerUpdate); EventController.getInstance().RegisterListener <CookingWorkerEventInfo>(CookWorkerUpdate); EventController.getInstance().RegisterListener <FarmPurchaseEventInfo>(FarmPurchaseUpdate); #endregion mInstance = this; mFarmPlots = new List <FarmPlot>(); mFarmingSeeds = new Dictionary <string, Seeds>(); #region Init farm plots for (int i = 0; i < 10; i++) { FarmPlot tmp = Instantiate(farmPlotPrefab, FarmingBackgroundPanel, true); //tmp.transform.SetParent(FarmPlotParent, true); //gets rescaled when we set the parent? tmp.transform.localScale = new Vector3(1, 1, 1); //resetting scale float width = tmp.GetComponent <RectTransform>().sizeDelta.x; //getting our width float height = tmp.GetComponent <RectTransform>().sizeDelta.y; tmp.transform.localPosition = new Vector3(plotSpawnX + ((width + 20) * (i % 5)), //20 is our buffer plotSpawnY + -((height + 80) * (int)(i / 5))); //20 is our buffer //Setting up button click events tmp.cornButton.onClick.AddListener(() => PlantSeed(tmp, "Corn")); tmp.wheatButton.onClick.AddListener(() => PlantSeed(tmp, "Wheat")); tmp.potatoButton.onClick.AddListener(() => PlantSeed(tmp, "Potato")); tmp.hopsButton.onClick.AddListener(() => PlantSeed(tmp, "Hops")); tmp.ID = i; //Disabling all but the first 2 farm plots. Later ones will be purchased later if (i > 1) { tmp.gameObject.SetActive(false); } mFarmPlots.Add(tmp); } #endregion //SEEDS mFarmingSeeds["Corn"] = new Seeds(5, SEED_TYPE.Corn); mFarmingSeeds["Potato"] = new Seeds(5, SEED_TYPE.Potato); mFarmingSeeds["Wheat"] = new Seeds(5, SEED_TYPE.Wheat); mFarmingSeeds["Hops"] = new Seeds(5, SEED_TYPE.Hops); }
public void HarvestCrops() { //Determining our harvest and updating farmingcontrollers seed count int tempYield = (int)(mSeed.mHarvestYield * TalentBuffs.GetInstance().GetSeedModOutput(mSeed.mType)); switch (mSeed.mType) { case SEED_TYPE.Corn: FarmingController.GetInstance().mFarmingSeeds["Corn"].modifyCountCond(tempYield, 0); break; case SEED_TYPE.Wheat: FarmingController.GetInstance().mFarmingSeeds["Wheat"].modifyCountCond(tempYield, 0); break; case SEED_TYPE.Potato: FarmingController.GetInstance().mFarmingSeeds["Potato"].modifyCountCond(tempYield, 0); break; case SEED_TYPE.Hops: FarmingController.GetInstance().mFarmingSeeds["Hops"].modifyCountCond(tempYield, 0); break; } //Resetting the plot mSeed.mType = SEED_TYPE.None; overGrownProgress = 0.0f; gameObject.GetComponent <Image>().sprite = null; isTilled = false; ToggleButtonsHarvested(); //Sending notification to farmcontroller that we need an update FarmingController.GetInstance().totalSeededPlots--; FarmingController.GetInstance().UpdateMeDaddy(); FarmingController.GetInstance().farmingDetailScript.ClearPlot(ID); }