protected virtual void SelfChange() { if (controller != null) { VFXView view = GetFirstAncestorOfType <VFXView>(); var newInput = view.GetFlowAnchorByController(controller.input); if (base.input != newInput) { if (base.input != null) { base.input.Disconnect(this); } base.input = newInput; base.input.Connect(this); } var newOutput = view.GetFlowAnchorByController(controller.output); if (base.output != newOutput) { if (base.output != null) { base.output.Disconnect(this); } base.output = newOutput; base.output.Connect(this); } } edgeControl.UpdateLayout(); }