protected virtual Canvas FindRootCanvasParent() { _rootParent = GetComponentInParent <Canvas>(); //Renew Sustained canvas parent based in Canvas var v_newSustainedParent = _rootParent != null?_rootParent.GetComponentInParent <SustainedCanvasView>() : null; //Unregister self from the old SustainedCanvas Parent if (_sustainedCanvasParent != null && v_newSustainedParent != _sustainedCanvasParent) { SustainedCanvasView.UnregisterDynamicElement(this); } //Register self to a new SustainedCanvas _sustainedCanvasParent = v_newSustainedParent; if (_sustainedCanvasParent != null && enabled && gameObject.activeInHierarchy) { SustainedCanvasView.RegisterDynamicElement(this); } if (_rootParent != null) { _rootParent = _rootParent.rootCanvas; } return(_rootParent); }
protected override void OnDisable() { SustainedCanvasView.UnregisterDynamicElement(this); base.OnDisable(); }
protected virtual void OnBeforeTransformParentChanged() { SustainedCanvasView.UnregisterDynamicElement(this); UnregisterEvents(); }