Esempio n. 1
0
    public void ChangeValue()
    {
        string n = gameObject.name;
        Text   t = gameObject.GetComponent <Text>();

        resourceManager.Resource r = RM.resources.Find(e => e.name == n);
        if (showName == true)
        {
            t.text = r.name + ": " + r.value;
        }
        else
        {
            t.text = r.value.ToString();
        }

        if (sprite == false)
        {
            Sprite s = RM.images.Find(e => e.name == n).img;
            Image  g = transform.parent.GetComponent <Image>();
            if (g == null)
            {
                g = transform.parent.GetComponentInChildren <Image>();
            }
            g.sprite = s;
            sprite   = true;
        }
    }
Esempio n. 2
0
    public void Load() //Loads the save file
    {
        if (SaveLoad.UnbuildSave())
        {
            for (int i = 0; i < SaveLoad.stageInts.Count; i++)
            {
                if (SaveLoad.stageInts[i] > 0)                       //Checks if the stage exists, allows remembering grave positions
                {
                    graves[i].plant(SaveLoad.plants[i]);             //Passes the name of the plant and lets graveController handle getting the further details

                    if (SaveLoad.stageInts[i] > 1)                   //If stage is larger than 1, then update grave to that point.
                    {
                        graves[i].stage = SaveLoad.stageInts[i] - 1; //Due to how nextStage() works, we have to remove one from the current stage to get to the intended one
                        graves[i].nextStage();
                    }
                    graves[i].LoadResources(SaveLoad.gResources[i]);
                }
            }
            if (SaveLoad.resources.Count > 0)
            {
                foreach (resourceManager.Resource res in SaveLoad.resources) //Fills the resources back in, was the simplest way to do it that I could think of
                {
                    resourceManager.Resource r = resourceManager.resources.Find(resource => resource.name == res.name);
                    if (r != null)
                    {
                        r.value = res.value;
                    }
                }
            }
        }
        else
        {
            foreach (resourceManager.Resource res in resourceManager.resources)
            {
                res.value = res.defaultValue;
            }
        }

        GetComponent <Events>().OnLoad.Invoke();
    }
Esempio n. 3
0
    public void give()
    {
        int full = 0;

        foreach (graveResource resource in requiredResources)
        {
            resourceManager.Resource giveResource = resourceManager.resources.Find(r => r.name == resource.name);
            resource.current += giveResource.RemoveForce(resource.needed - resource.current);

            if (resource.current >= resource.needed)
            {
                full += 1;
            }
        }

        //Debug.Log(full + " Full " + requiredResources.Count + " Capacity");
        if (full >= requiredResources.Count)
        {
            nextStage();
        }

        sc.OnValueChange.Invoke();
    }
Esempio n. 4
0
 void FixedUpdate()
 {
     //Debug.Log("UPDATING");
     if (startTimer)
     {
         remainingTime -= Time.deltaTime;
         timer.text     = (remainingTime).ToString("0.0");
     }
     if (remainingTime <= 0 && win == false)
     {
         startTimer = false;
         //Time.timeScale = 0;
         playerLostScreen.SetActive(true);
     }
     else if (win == true && winOver == false)
     {
         startTimer = false;
         //Time.timeScale = 0;
         changeResource = resourceManager.resources.Find(name => name.name == resourceName);
         changeResource.Add(resourceAmount);
         playerWonScreen.SetActive(true);
         winOver = true;
     }
 }