public static SustainedCanvasView FindSustainedCanvasParent(ISustainedElement p_element) { SustainedCanvasView v_canvasView = null; if (!p_element.IsDestroyed()) { if (p_element is SustainedCanvasView) { v_canvasView = ((SustainedCanvasView)p_element); if (v_canvasView.transform.parent != null) { v_canvasView = v_canvasView.transform.parent.GetComponentInParent <SustainedCanvasView>(); } else { v_canvasView = null; } } else if (p_element is Component) { v_canvasView = (p_element as Component).GetComponentInParent <SustainedCanvasView>(); } } return(v_canvasView); }
public static void UnregisterDynamicElement(ISustainedElement p_element) { SustainedCanvasView v_canvasView = FindSustainedCanvasParent(p_element); if (v_canvasView != null) { v_canvasView._sustainedChildrenElements.Remove(p_element); v_canvasView.MarkDynamicElementDirty(); } }
public static void RegisterDynamicElement(ISustainedElement p_element) { SustainedCanvasView v_canvasView = FindSustainedCanvasParent(p_element); if (v_canvasView != null) { if (!v_canvasView._sustainedChildrenElements.Contains(p_element)) { v_canvasView._sustainedChildrenElements.Add(p_element); v_canvasView.MarkDynamicElementDirty(); } } }