コード例 #1
0
 //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();
 }
コード例 #2
0
    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++;
    }
コード例 #3
0
 //TODO update for unity
 public static FarmingController GetInstance()
 {
     if (mInstance == null)
     {
         mInstance = new FarmingController();
     }
     return(mInstance);
 }
コード例 #4
0
    //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);
    }
コード例 #5
0
    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);
    }