public void RenderTarget<A, B>(A target, B fallback) { renderingTarget = target; for (int i = 0; i < elements.Length; i++) { TooltipElement element = elements[i]; if (typeof (ITooltipTarget<A>).IsAssignableFrom (element.GetType ())) { ITooltipTarget<A> tooltipTarget = (ITooltipTarget<A>)element; tooltipTarget.Render (target); element.gameObject.SetActive (true); } else if (typeof (ITooltipTarget<B>).IsAssignableFrom (element.GetType ())) { ITooltipTarget<B> tooltipTarget = (ITooltipTarget<B>)element; tooltipTarget.Render (fallback); element.gameObject.SetActive (true); } else { element.gameObject.SetActive (false); } } }
private void ResetElements() { for (int i = 0; i < elements.Length; i++) { TooltipElement element = elements[i]; element.gameObject.SetActive (false); } }
public void NewElement(string inText, string actText, TooltipElement.InputDirection direction) { currentElement = Instantiate(tooltipElementPrefab).GetComponent <TooltipElement>(); currentElement.playerTransform = playerTransform; currentElement.transform.SetParent(transform, false); currentElement.transform.Translate(0, tooltipElements.Count * -50, 0); currentElement.inputText.text = inText; currentElement.actionText.text = actText; currentElement.directionType = direction; tooltipElements.Add(currentElement); }
private static TooltipElement[] GetChildElements(Transform target) { List<TooltipElement> tooltipElements = new List<TooltipElement> (); for (int i = 0; i < target.childCount; i++) { TooltipElement element = target.GetChild (i).GetComponent<TooltipElement> (); if (element != null) { tooltipElements.Add (element); } } return tooltipElements.ToArray (); }