コード例 #1
0
    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);
        });
    }