Code/UI/Spatial/Node.Overrides.cs
namespace Nodebox.UI.Spatial;
public partial class Node {
protected override void OnAwake() {
NodePanelRoot.PinClicked += pinRef => {
IEvent.Post(x => x.OnPinClicked(this, pinRef));
};
NodePanelRoot.PinDown += pinRef => {
IEvent.Post(x => x.OnPinDown(this, pinRef));
};
NodePanelRoot.PinUp += pinRef => {
IEvent.Post(x => x.OnPinUp(this, pinRef));
};
WorldPanel.PanelSize = new(4096, 4096);
WorldPanel.VerticalAlign = Sandbox.WorldPanel.VAlignment.Top;
WorldPanel.HorizontalAlign = Sandbox.WorldPanel.HAlignment.Left;
GraphStyle = GraphStyle.DefaultForExecutionContext();
}
protected override void OnRefresh() {
base.OnRefresh();
RecreateSerializableNode();
}
protected override void OnEnabled() {
base.OnEnabled();
Rescan();
RecreateSerializableNode();
RegisterInner();
}
protected override void OnDisabled() {
UnRegisterInner();
_inner?.Destroy();
_inner = null;
base.OnDisabled();
}
protected override void OnUpdate() {
base.OnUpdate();
}
protected override void OnFixedUpdate() {
base.OnFixedUpdate();
if (TypeLastHashCode != Type?.GetHashCode()) {
RecreateSerializableNode();
}
}
protected override void OnParentChanged(GameObject oldParent, GameObject newParent) {
base.OnParentChanged(oldParent, newParent);
if (Enabled) {
Rescan();
}
}
}