// Update is called once per frame void Update() { if (controller != null) { try { rp = controller.GetComponent <BaseDataManager>().getResources()[slotIndex]; } catch (Exception e) { // The slot has nothing in it yet rp = null; } } if (rp != null) { image.sprite = rp.Resource.icon; countText.text = rp.Count.ToString(); } else { image.sprite = null; countText.text = ""; } if (image.sprite != null) { Color slotColor = image.color; slotColor.a = 1.0f; image.color = slotColor; } else { Color slotColor = image.color; slotColor.a = 0.0f; image.color = slotColor; } }
public void AddResourceToStorage(Resource r, int count) { if (photonView.IsMine && resources.Count < 44) { if (!resourceSet.Contains(r)) { resources.Add(new ResourcePersistent(r, count)); resourceSet.Add(r); } else { ResourcePersistent old = null; foreach (ResourcePersistent re in resources) { if (re.Resource == r) { old = re; } } int idx = resources.IndexOf(old); resources.RemoveAt(idx); resources.Insert(idx, new ResourcePersistent(r, old.Count + count)); } } }
public void RemoveResourceFromStorage(Resource r, int count) { if (photonView.IsMine) { ResourcePersistent rp = null; foreach (ResourcePersistent re in resources) { if (re.Resource == r) { re.Count -= count; if (re.Count <= 0) { rp = re; } break; } } if (rp != null) { resources.Remove(rp); resourceSet.Remove(rp.Resource); } } }