public void Setup(Atom a) { atom = a; AtomData data = Game.Instance.gameData.FindAtomData(atom.GetAtomicNumber()); AtomInfo info = Game.Instance.gameData.FindAtomInfo(atom.GetAtomicNumber()); if (!data.IsDiscovered()) { info = Game.Instance.gameData.GetUknownInfo(); data = Game.Instance.gameData.GetUknownData(); a = Game.Instance.gameData.GetUknown(); } // Color Color c = info.GetCategoryColor(); background.color = c; c *= .6f; c.a = 1f; darkBackground.color = c; var sizeDelta = rect == null ? Vector2.zero : rect.sizeDelta; // Name Text { var size = nameText.GetPreferredValues(a.GetName(), Mathf.Infinity, nameText.rectTransform.rect.height); size.y = nameText.rectTransform.sizeDelta.y; size.x += 15f; if (size.x > sizeDelta.x) { sizeDelta.x = size.x; } nameText.text = a.GetName(); } // Curr Amo Text { string text = "Amount:\n " + data.GetCurrAmo(); var size = currAmoText.GetPreferredValues(text, Mathf.Infinity, currAmoText.rectTransform.rect.height); size.y = currAmoText.rectTransform.sizeDelta.y; size.x += 15f; if (size.x > sizeDelta.x) { sizeDelta.x = size.x; } currAmoText.text = text; } // Passive Gain Text { string text = "(+" + data.GetPassiveGain() + ")"; var size = passiveGainText.GetPreferredValues(text, Mathf.Infinity, passiveGainText.rectTransform.rect.height); size.y = passiveGainText.rectTransform.sizeDelta.y; size.x += 15f; if (size.x > sizeDelta.x) { sizeDelta.x = size.x; } passiveGainText.text = text; } rect.sizeDelta = sizeDelta; LateUpdate(); }