public OptionalPattern SetOptional(params Element[] optionalElements) { elementCountsOptional = new Dictionary <Element, int>(elementCounts); ElementDisplay[] newDisplays = new ElementDisplay[displays.Length + optionalElements.Length]; optionalDisplayStart = displays.Length; for (int i = 0; i < newDisplays.Length; i++) { if (i < optionalDisplayStart) { newDisplays[i] = displays[i]; } else { Element e = optionalElements[i - optionalDisplayStart]; newDisplays[i] = new ElementDisplay(e, true); if (elementCountsOptional.ContainsKey(e)) { elementCountsOptional[e] = elementCountsOptional[e] + 1; } else { elementCountsOptional[e] = 1; } } } displays = newDisplays; return(this); }
IEnumerator DelayRebuild(Vector3 pos, float zoom) { yield return(new WaitForSecondsRealtime(.1f)); ElementDisplay display = GameObject.Find("ActionDisplay").GetComponent <ElementDisplay>(); Camera.main.transform.position = pos; Camera.main.orthographicSize = zoom; display.RebuildList(); }
public ExtendingPattern SetExtension(Element element) { extensionElement = element; ElementDisplay[] newDisplays = new ElementDisplay[displays.Length + 1]; for (int i = 0; i < displays.Length; i++) { newDisplays[i] = displays[i]; } newDisplays[displays.Length] = new ElementDisplay(element, false, true); displays = newDisplays; return(this); }
public SimplePattern(params Element[] elements) { displays = new ElementDisplay[elements.Length]; elementCounts = new Dictionary <Element, int>(); for (int i = 0; i < elements.Length; i++) { displays[i] = new ElementDisplay(elements[i], false); if (elementCounts.ContainsKey(elements[i])) { elementCounts[elements[i]] = elementCounts[elements[i]] + 1; } else { elementCounts[elements[i]] = 1; } } }
private void CreateChildPage2(Atom atom, Vector2 size) { AtomInfo info = Game.Instance.gameData.FindAtomInfo(atom.GetAtomicNumber()); if (info == null || (info.GetGroup() == 0 && info.GetPeriod() == 0)) { return; } // Instantiate ElementDisplay display = Instantiate(elementDisplayPrefab, this.transform); display.atom = atom; elementDisplays.Add(display); RectTransform child = display.GetComponent <RectTransform>(); // Grid Pos int gridX = info.GetGroup() - 1; int gridY = info.GetPeriod() - 1; // Pivot child.pivot = Vector2.up; // Anchor child.anchorMax = Vector2.up; child.anchorMin = Vector2.up; // Width and Height child.sizeDelta = size; // LocalPosition - Grid(0, 0) float x = size.x * gridX; float y = -size.y * gridY - size.y * 2.4f; child.anchoredPosition3D = new Vector3(x, y, .0f); var elementDiscovery = Instantiate(elementDiscoveryPrefab, elementDiscoveryParent); display.SetExclamationImage(elementDiscovery); }
public override void Render() { if (!isVisible) { return; } Color backgroundHighlight = Color.white; Color backgroundDefault = Color.gray; Color foregroundHighlight = Color.yellow; Color foregroundDefault = Color.white; bool highlight = currentState == State.Hovered || currentState == State.Pressed; //battle.rolls[id].Render(pos.x, pos.y); ElementDisplay.Render(pos.x, pos.y, battle.rolls[id], true); if (highlight) { RB.DrawRect(new Rect2i(pos.x, pos.y, size.x, size.y), Color.yellow); } else { //RB.DrawRect(new Rect2i(pos.x - 1, pos.y - 1, size.x + 2, size.y + 2), Color.black); } }
public void Render(int x, int y, bool large = false) { ElementDisplay.Render(x, y, element, large, optional, extension ? extensionValue : -1); }