Ejemplo n.º 1
0
    void updateInfo()
    {
        KeyValuePair <GlobalRecourceType, int>[] inputKVPS;
        KeyValuePair <GlobalRecourceType, int>[] outputKVPS = currentState.PBParams.StaticRecourcesProvided.ToArray();;
        int i = 0;

        if (currentState.PBParams.recourcesRequired)
        {
            inputKVPS = currentState.PBParams.StaticRecourcesRequired.ToArray();
            for (i = 0; i < inputKVPS.Length; i++)
            {
                inputImages[i].SetActive(true);
                inputImages[i].GetComponent <Image>().sprite        = staticRecourceIcons.Sprites[(int)inputKVPS[i].Key];
                inputImages[i].GetComponentInChildren <Text>().text = $"{GlobalRecources.GetAmount(inputKVPS[i].Key)} / " +
                                                                      $"{inputKVPS[i].Value}";
            }
        }
        for (; i < 4; i++)
        {
            inputImages[i].SetActive(false);
        }
        for (i = 0; i < outputKVPS.Length; i++)
        {
            outputImages[i].SetActive(true);
            outputImages[i].GetComponent <Image>().sprite        = staticRecourceIcons.Sprites[(int)outputKVPS[i].Key];
            outputImages[i].GetComponentInChildren <Text>().text = $"{outputKVPS[i].Value}";
        }
        for (; i < 4; i++)
        {
            outputImages[i].SetActive(false);
        }
    }
    private void Awake()
    {
        foreach (var item in Enum.GetValues(typeof(GlobalRecourceType)))
        {
            GlobalRecourceType type  = (GlobalRecourceType)item;
            GameObject         image = Instantiate(StaticRecourceImagePrefab, Layout.transform);
            Text text = image.GetComponentInChildren <Text>();
            image.GetComponent <Image>().sprite = recourceSprites.Sprites[(int)type];
            texts.Add(type, text);
        }
        foreach (var kvp in texts)
        {
            kvp.Value.text = GlobalRecources.GetAmount(kvp.Key).ToString();
        }

        GlobalRecources.RecourceChanged += changeAmount;
    }
 void changeAmount(GlobalRecourceType type)
 {
     // Debug.Log(StaticRecources.GetAmount(type).ToString());
     texts[type].text = GlobalRecources.GetAmount(type).ToString();
 }