void Start() { _State.ConstraintModel = Instantiate(ConstraintModelPrefab); _State.ConstraintModel.localScale = new Vector3(0.01f, 0.01f, 0.01f); _State.ConstraintModel.gameObject.SetActive(false); Menu.MenuInstance.RegisterButton("Node", () => { InitNodeCreation(); WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Constr", () => { InitConstrCreation(); WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Propellar", () => { InitAttachmentPlacing(Prefabs.Propellar); WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Wing", () => { InitAttachmentPlacing(Prefabs.Wing); WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Move Tool", () => { ClearOnHandObjects(); _State.Phase = Phases.MoveTool; _State.NodeInHand = null; WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Rot Tool", () => { ClearOnHandObjects(); _State.Phase = Phases.RotTool; _State.NodeInHand = null; WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Release All", () => { foreach (var node in SystemUpdater.DynamicNodes) { node.FixedPosition = false; } WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Lock All", () => { foreach (var node in SystemUpdater.DynamicNodes) { node.FixedPosition = true; } WaitUntilAllInputClear = true; return(true); }); Menu.MenuInstance.RegisterButton("Remove", () => { if (_State.Phase != Phases.MovingNodeInHand) { ClearOnHandObjects(); _State.Phase = Phases.Removing; _State.NodeInHand = null; WaitUntilAllInputClear = true; return(true); } return(false); }); Menu.MenuInstance.RegisterButton("Clear Scene", () => { if (_State.Phase != Phases.MovingNodeInHand) { SystemUpdater.ClearAndDeleteAll(); return(true); } return(false); }); }