コード例 #1
0
 public override void Dispose()
 {
     _sceneEditor.RemoveGizmo(BoneGizmo);
     _sceneEditor.RemoveGizmo(RotationGizmo);
     BoneGizmo.Dispose();
     RotationGizmo.Dispose();
 }
コード例 #2
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 80);
        selectionManager = eventSystem.GetComponent <SelectPart>();

        //CHANGE this string to the name of your starting part
        startObject = GameObject.Find("vest_base_complete");

        //CHANGE these lines so they refer to each black part on your starting part
        GameObject rightStrapBackStrapAttach     = startObject.transform.FindChild("right_strap_back_strap_attach").gameObject;
        GameObject vestBaseLeftStrapBottomAttach = startObject.transform.FindChild("vest_base_left_strap_bottom_attach").gameObject;
        GameObject vestBaseLeftStrapTopAttach    = startObject.transform.FindChild("vest_base_left_strap_top_attach").gameObject;
        GameObject VestBaseVestDiamondAttach     = startObject.transform.FindChild("vest_base_vest_diamond_attach").gameObject;

        //to avoid errors when selectedObject starts as startObject
        //CHANGE these lines to match above
        rightStrapBackStrapAttach.GetComponent <FuseBehavior>().isFused     = true;
        vestBaseLeftStrapBottomAttach.GetComponent <FuseBehavior>().isFused = true;
        vestBaseLeftStrapTopAttach.GetComponent <FuseBehavior>().isFused    = true;
        VestBaseVestDiamondAttach.GetComponent <FuseBehavior>().isFused     = true;

        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #3
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 100);
        selectionManager = eventSystem.GetComponent <SelectPart>();

        //CHANGE this string to the name of your starting part
        startObject = GameObject.Find("startObject");

        //CHANGE these lines so they refer to each black part on your starting part
        GameObject shaftHaftAttach           = GameObject.Find("shaft_haft_attach");
        GameObject shaftSmallTrapezoidAttach = GameObject.Find("shaft_small_trapezoid_attach");
        GameObject shaftSpikeAttach          = GameObject.Find("shaft_spike_attach");
        GameObject shaftTrapezoidAttach      = GameObject.Find("shaft_trapezoid_attach");

        //to avoid errors when selectedObject starts as startObject
        //CHANGE these lines to match above
        shaftHaftAttach.GetComponent <FuseBehavior>().isFused           = true;
        shaftSmallTrapezoidAttach.GetComponent <FuseBehavior>().isFused = true;
        shaftSpikeAttach.GetComponent <FuseBehavior>().isFused          = true;
        shaftTrapezoidAttach.GetComponent <FuseBehavior>().isFused      = true;
        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #4
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 80);
        selectionManager = eventSystem.GetComponent <SelectPart>();

        //CHANGE this string to the name of your starting part
        startObject = GameObject.Find("block_juts_whole");

        //CHANGE these lines so they refer to each black part on your starting part
        //GameObject blockJutsCornerAttach = startObject.transform.FindChild("block_juts_corner_attach").gameObject;
        //GameObject blockJutsLongLBackAttach = startObject.transform.FindChild("block_juts_long_l_back_attach").gameObject;
        GameObject blockJutsLongLSideAttach = startObject.transform.FindChild("block_juts_long_l_side_attach").gameObject;
        GameObject blockJutsLongLTopAttach  = startObject.transform.FindChild("block_juts_long_l_top_attach").gameObject;



        //to avoid errors when selectedObject starts as startObject
        //CHANGE these lines to match above
        //blockJutsCornerAttach.GetComponent<FuseBehavior>().isFused = true;
        //blockJutsLongLBackAttach.GetComponent<FuseBehavior>().isFused = true;
        blockJutsLongLSideAttach.GetComponent <FuseBehavior>().isFused = true;
        blockJutsLongLTopAttach.GetComponent <FuseBehavior>().isFused  = true;
        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #5
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 100);
        selectionManager = eventSystem.GetComponent <SelectPart>();
        startObject      = GameObject.Find("dangly_T_complete");

        //print (startObject.transform.FindChild ("dangly_T_upright_L_attach"));
        GameObject uprightLAttach     = startObject.transform.FindChild("dangly_T_upright_L_attach").gameObject;
        GameObject uprightTAttach     = startObject.transform.FindChild("dangly_T_upright_T_attach").gameObject;
        GameObject walkingPantsAttach = startObject.transform.FindChild("dangly_T_walking_pants_attach").gameObject;

        //to avoid errors when selectedObject starts as startObject
        uprightLAttach.GetComponent <FuseBehavior>().isFused     = true;
        uprightTAttach.GetComponent <FuseBehavior>().isFused     = true;
        walkingPantsAttach.GetComponent <FuseBehavior>().isFused = true;
        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #6
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 80);
        selectionManager = eventSystem.GetComponent <SelectPart>();

        //CHANGE this string to the name of your starting part
        startObject = GameObject.Find("bridgeWhole");

        //CHANGE these lines so they refer to each black part on your starting part
        GameObject bridgeBackAttach             = startObject.transform.Find("bridge_back_attach").gameObject;
        GameObject bridgeBridgeCoverLeftAttach  = startObject.transform.Find("bridge_bridge_cover_left_attach").gameObject;
        GameObject bridgeBridgeCoverRightAttach = startObject.transform.Find("bridge_bridge_cover_right_attach").gameObject;


        //to avoid errors when selectedObject starts as startObject
        //CHANGE these lines to match above
        bridgeBackAttach.GetComponent <FuseBehavior>().isFused             = true;
        bridgeBridgeCoverLeftAttach.GetComponent <FuseBehavior>().isFused  = true;
        bridgeBridgeCoverRightAttach.GetComponent <FuseBehavior>().isFused = true;
        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #7
0
        void OnSelected(BeatObjectData beatObjectData)
        {
            GameObject gizmo = null;

            foreach (var modelInput in beatObjectData.modelInputsData)
            {
                if (modelInput is POSITION || modelInput is ROTATION)
                {
                    if (gizmo == null)
                    {
                        gizmo = Instantiate(instancePositionGizmo);
                        _gizmos.Add(gizmo);
                    }
                }

                if (modelInput is ROTATION rotation)
                {
                    RotationGizmo rotationGizmo = gizmo.GetComponentInChildren <RotationGizmo>();
                    rotationGizmo.enabled = true;
                    rotationGizmo.InitGizmo(beatObjectData.id, rotation);
                }

                if (modelInput is POSITION position)
                {
                    PositionGizmo positionGizmo = gizmo.GetComponent <PositionGizmo>();
                    positionGizmo.enabled = true;
                    positionGizmo.InitGizmo(beatObjectData.id, position);
                }
            }
        }
コード例 #8
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 80);
        selectionManager = eventSystem.GetComponent <SelectPart>();
        startObject      = GameObject.Find("centerBoxWhole");
        GameObject centerHandleBottomAttach = startObject.transform.FindChild("center_box_handle_bottom_attach").gameObject;
        GameObject centerHandleTopAttach    = startObject.transform.FindChild("center_box_handle_top_attach").gameObject;
        GameObject centerRingBackAttach     = startObject.transform.FindChild("center_box_ring_back_attach").gameObject;
        GameObject centerRingForwardAttach  = startObject.transform.FindChild("center_box_ring_forward_attach").gameObject;
        GameObject centerRingLeftAttach     = startObject.transform.FindChild("center_box_ring_left_attach").gameObject;
        GameObject centerRingRightAttach    = startObject.transform.FindChild("center_box_ring_right_attach").gameObject;


        //to avoid errors when selectedObject starts as startObject
        centerHandleBottomAttach.GetComponent <FuseBehavior>().isFused = true;
        centerHandleTopAttach.GetComponent <FuseBehavior>().isFused    = true;
        centerRingBackAttach.GetComponent <FuseBehavior>().isFused     = true;
        centerRingForwardAttach.GetComponent <FuseBehavior>().isFused  = true;
        centerRingLeftAttach.GetComponent <FuseBehavior>().isFused     = true;
        centerRingRightAttach.GetComponent <FuseBehavior>().isFused    = true;

        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #9
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 100);
        selectionManager = eventSystem.GetComponent <SelectPart>();

        //CHANGE this string to the name of your starting part
        startObject = GameObject.Find("tutorial2_longbox");

        //CHANGE these lines so they refer to each black part on your starting part
        GameObject longboxBigBoxAttach         = startObject.transform.FindChild("longbox_bigbox_attach").gameObject;
        GameObject longboxTallboxAttach        = startObject.transform.FindChild("longbox_tallbox_attach").gameObject;
        GameObject longboxSmallboxYellowAttach = startObject.transform.FindChild("longbox_smallbox_yellow_attach").gameObject;

        //to avoid errors when selectedObject starts as startObject
        //CHANGE these lines to match above
        //these lines may be unnecessary?
        longboxBigBoxAttach.GetComponent <FuseBehavior>().isFused         = true;
        longboxTallboxAttach.GetComponent <FuseBehavior>().isFused        = true;
        longboxSmallboxYellowAttach.GetComponent <FuseBehavior>().isFused = true;
        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #10
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 100);
        selectionManager = eventSystem.GetComponent <SelectPart>();
        startObject      = GameObject.Find("tutorial1_box");
        GameObject boxPyrAttach  = startObject.transform.Find("box_pyr_attach").gameObject;
        GameObject boxTriAttach  = startObject.transform.Find("box_tri_attach").gameObject;
        GameObject boxConeAttach = startObject.transform.Find("box_cone_attach").gameObject;

        //to avoid errors when selectedObject starts as startObject
        boxPyrAttach.GetComponent <FuseBehavior>().isFused  = true;
        boxTriAttach.GetComponent <FuseBehavior>().isFused  = true;
        boxConeAttach.GetComponent <FuseBehavior>().isFused = true;

        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #11
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 80);
        selectionManager = eventSystem.GetComponent <SelectPart>();
        startObject      = GameObject.Find("postWhole");
        GameObject postHangingLAttach = startObject.transform.Find("post_hanging_l_attach").gameObject;
        GameObject postMiddleTAttach  = startObject.transform.Find("post_middle_t_attach").gameObject;
        GameObject postZigzagAttach   = startObject.transform.Find("post_zigzag_attach").gameObject;

        //to avoid errors when selectedObject starts as startObject
        postHangingLAttach.GetComponent <FuseBehavior>().isFused = true;
        postMiddleTAttach.GetComponent <FuseBehavior>().isFused  = true;
        postZigzagAttach.GetComponent <FuseBehavior>().isFused   = true;
        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #12
0
        private void CreateSubItems()
        {
            BoneGizmo     = new BoneGizmo(_sceneEditor, this);
            RotationGizmo = new RotationGizmo(_sceneEditor, this);

            _sceneEditor.AddGizmo(BoneGizmo);
            _sceneEditor.AddGizmo(RotationGizmo);
        }
コード例 #13
0
 private void UpdateGizmoTransforms()
 {
     BoneGizmo.UpdateTransform(_sceneEditor.SceneViewport);
     if (RotationGizmo.IsVisible)
     {
         RotationGizmo.UpdateTransform(_sceneEditor.SceneViewport);
     }
 }
コード例 #14
0
 private void CreateSubItems()
 {
     _sceneEditor.SceneViewport.AddSpriteNode(NodeId, _spriteBitmap);
     _spriteBitmap.ResourcesReloaded += UpdateGizmoTransforms;
     SelectionGizmo = new SelectionGizmo(_sceneEditor, NodeId);
     RotationGizmo  = new RotationGizmo(_sceneEditor, this);
     _sceneEditor.AddGizmo(SelectionGizmo);
     _sceneEditor.AddGizmo(RotationGizmo);
 }
コード例 #15
0
 void Awake()
 {
     eventSystem        = GameObject.Find("EventSystem");
     rotationGizmo      = GameObject.Find("RotationGizmo");
     rotationScript     = rotationGizmo.GetComponent <RotationGizmo>();
     selectPart         = eventSystem.GetComponent <SelectPart>();
     fuseEvent          = eventSystem.GetComponent <FuseEvent>();
     conversationSystem = GameObject.Find("ConversationSystem");
 }
コード例 #16
0
        public override void OnSelect()
        {
            base.OnSelect();

            //initialize the Rotation Gizmo
            RotationGizmo rotationGizmo = new RotationGizmo();

            rotationGizmo.Draw(bottomAnchor.transform, GizmoType.Circle, rotationGizmo);
        }
コード例 #17
0
        public override void Dispose()
        {
            _sceneEditor.SceneViewport.RemoveSpriteNode(NodeId);

            _sceneEditor.RemoveGizmo(SelectionGizmo);
            _sceneEditor.RemoveGizmo(RotationGizmo);

            SelectionGizmo.Dispose();
            RotationGizmo.Dispose();
        }
コード例 #18
0
        /// <summary>
        /// Creates all the necessary runtime editor subsystems.
        /// </summary>
        private static void CreateRuntimeEditorApplicationSubsystems()
        {
            // First, make sure all existing subsystems are destroyed
            DestroyExistingSubsystems();

            // Now, create each subsystem
            RuntimeEditorApplication runtimeEditorApplication = CreateSubsystemObject <RuntimeEditorApplication>(null);
            Transform runtimeEditorApplicationTransform       = runtimeEditorApplication.transform;

            EditorGizmoSystem editorGizmoSystem = CreateSubsystemObject <EditorGizmoSystem>(runtimeEditorApplicationTransform);

            CreateSubsystemObject <EditorObjectSelection>(runtimeEditorApplicationTransform);
            EditorCamera editorCamera = CreateSubsystemObject <EditorCamera>(runtimeEditorApplicationTransform);

            editorCamera.gameObject.AddComponent <Camera>();

            CreateSubsystemObject <EditorUndoRedoSystem>(runtimeEditorApplicationTransform);
            CreateSubsystemObject <EditorMeshDatabase>(runtimeEditorApplicationTransform);
            CreateSubsystemObject <MessageListenerDatabase>(runtimeEditorApplicationTransform);
            CreateSubsystemObject <InputDevice>(runtimeEditorApplicationTransform);
            CreateSubsystemObject <SceneGizmo>(runtimeEditorApplicationTransform);

            // Create all transform gizmos and attach them to the gizmo system
            GameObject gizmoObject = new GameObject();

            gizmoObject.name             = "Translation Gizmo";
            gizmoObject.transform.parent = runtimeEditorApplicationTransform;
            TranslationGizmo translationGizmo = gizmoObject.AddComponent <TranslationGizmo>();

            editorGizmoSystem.TranslationGizmo = translationGizmo;

            gizmoObject                  = new GameObject();
            gizmoObject.name             = "Rotation Gizmo";
            gizmoObject.transform.parent = runtimeEditorApplicationTransform;
            RotationGizmo rotationGizmo = gizmoObject.AddComponent <RotationGizmo>();

            rotationGizmo.GizmoBaseScale    = 1.3f;
            editorGizmoSystem.RotationGizmo = rotationGizmo;

            gizmoObject                  = new GameObject();
            gizmoObject.name             = "Scale Gizmo";
            gizmoObject.transform.parent = runtimeEditorApplicationTransform;
            ScaleGizmo scaleGizmo = gizmoObject.AddComponent <ScaleGizmo>();

            editorGizmoSystem.ScaleGizmo = scaleGizmo;

            gizmoObject                  = new GameObject();
            gizmoObject.name             = "Volume Scale Gizmo";
            gizmoObject.transform.parent = runtimeEditorApplicationTransform;
            VolumeScaleGizmo volumeScaleGizmo = gizmoObject.AddComponent <VolumeScaleGizmo>();

            editorGizmoSystem.VolumeScaleGizmo = volumeScaleGizmo;
        }
コード例 #19
0
        /// <summary>
        /// Creates all the necessary runtime editor subsystems.
        /// </summary>
        private static void CreateRuntimeEditorApplicationSubsystems()
        {
            // First, make sure all existing subsystems are destroyed
            DestroyExistingSubsystems();

            // Now, create each subsystem
            RuntimeEditorApplication runtimeEditorApplication = RuntimeEditorApplication.Instance;
            Transform runtimeEditorApplicationTransform       = runtimeEditorApplication.transform;

            EditorGizmoSystem editorGizmoSystem = EditorGizmoSystem.Instance;

            editorGizmoSystem.transform.parent = runtimeEditorApplicationTransform;

            EditorObjectSelection editorObjectSelection = EditorObjectSelection.Instance;

            editorObjectSelection.transform.parent = runtimeEditorApplicationTransform;

            EditorCamera editorCamera = EditorCamera.Instance;

            editorCamera.transform.parent = runtimeEditorApplicationTransform;
            editorCamera.gameObject.AddComponent <Camera>();

            EditorUndoRedoSystem editorUndoRedoSystem = EditorUndoRedoSystem.Instance;

            editorUndoRedoSystem.transform.parent = runtimeEditorApplicationTransform;

            EditorShortuctKeys editorShortcutKeys = EditorShortuctKeys.Instance;

            editorShortcutKeys.transform.parent = runtimeEditorApplicationTransform;

            EditorMeshDatabase editorMeshDatabase = EditorMeshDatabase.Instance;

            editorMeshDatabase.transform.parent = runtimeEditorApplicationTransform;

            // Create all gizmos and attach them to the gizmo system
            GameObject gizmoObject = new GameObject();

            gizmoObject.name = "Translation Gizmo";
//            TranslationGizmo translationGizmo = gizmoObject.AddComponent<TranslationGizmo>();
//            editorGizmoSystem.TranslationGizmo = translationGizmo;

            gizmoObject      = new GameObject();
            gizmoObject.name = "Rotation Gizmo";
            RotationGizmo rotationGizmo = gizmoObject.AddComponent <RotationGizmo>();

            rotationGizmo.GizmoBaseScale    = 1.3f;
            editorGizmoSystem.RotationGizmo = rotationGizmo;

            gizmoObject      = new GameObject();
            gizmoObject.name = "Scale Gizmo";
//            ScaleGizmo scaleGizmo = gizmoObject.AddComponent<ScaleGizmo>();
//            editorGizmoSystem.ScaleGizmo = scaleGizmo;
        }
コード例 #20
0
        public QuaternionEditor()
        {
            InitializeComponent();
            this.Content.DataContext = this;

            this.TickFrequency = 0.5;

            this.rotationGizmo = new RotationGizmo(this);
            this.Viewport.Children.Add(this.rotationGizmo);

            this.Viewport.Camera = new PerspectiveCamera(new Point3D(0, 0, -2.5), new Vector3D(0, 0, 1), new Vector3D(0, 1, 0), 45);
        }
コード例 #21
0
    void OnEnable()
    {
        tooltipsEnabled = false;

        rotationScript    = rotationGizmo.GetComponent <RotationGizmo>();
        fuseEvent         = eventSystem.GetComponent <FuseEvent>();
        selectPart        = eventSystem.GetComponent <SelectPart>();
        cameraControls    = mainCam.GetComponent <CameraControls>();
        baseStartPosition = new Vector3(-100, 30, 100);

        fuseEvent.setIsFirstLevel(true);

        partButtons    = new Button[3];
        partButtons[0] = b1p1Button;
        partButtons[1] = b1p2Button;
        partButtons[2] = b1p3Button;

        // tooltips occur on: all part buttons, Fuse button, Finished Image, bb1 child
        allTooltips     = new Tooltip[16];
        allTooltips[0]  = b1p1Button.gameObject.GetComponent <Tooltip>();
        allTooltips[1]  = b1p2Button.gameObject.GetComponent <Tooltip>();
        allTooltips[2]  = b1p3Button.gameObject.GetComponent <Tooltip>();
        allTooltips[3]  = finishedImage.GetComponent <Tooltip>();
        allTooltips[4]  = fuseButton.gameObject.GetComponent <Tooltip>();
        allTooltips[5]  = bb1.GetComponent <Tooltip>();
        allTooltips[6]  = yUp.GetComponent <Tooltip>();
        allTooltips[7]  = yDown.GetComponent <Tooltip>();
        allTooltips[8]  = xUp.GetComponent <Tooltip>();
        allTooltips[9]  = xDown.GetComponent <Tooltip>();
        allTooltips[10] = zUp.GetComponent <Tooltip>();
        allTooltips[11] = zDown.GetComponent <Tooltip>();
        allTooltips[12] = bb1_b1p1_a1.GetComponent <Tooltip>();
        allTooltips[13] = bb1_b1p2_a1.GetComponent <Tooltip>();
        allTooltips[14] = bb1_b1p2_a2.GetComponent <Tooltip>();
        allTooltips[15] = bb1_b1p3_a1.GetComponent <Tooltip>();

        //make sure all tooltips are disabled on startup
        for (int i = 0; i < allTooltips.Length; i++)
        {
            allTooltips[i].enabled = false;
        }
    }
コード例 #22
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 100);
        selectionManager = eventSystem.GetComponent <SelectPart>();
        startObject      = GameObject.Find("rocket_boots_start");
        rotateGizmo      = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();

        ConversationTrigger.AddToken("beginRocketBoots");
    }
コード例 #23
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc          = new Vector3(-40, 25, 100);
        offscreenCreateLoc = new Vector3(-40, -60, 100);
        selectionManager   = eventSystem.GetComponent <SelectPart>();
        startObject        = GameObject.Find("bb3Start");

        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #24
0
    // Use this for initialization
    void Start()
    {
        triggersFinished = new bool[NUM_TRIGGERS];
        for (int i = 0; i < NUM_TRIGGERS; i++)
        {
            triggersFinished[i] = false;
        }

        rotationScript     = rotationGizmo.GetComponent <RotationGizmo>();
        fuseEvent          = eventSystem.GetComponent <FuseEvent>();
        selectPart         = eventSystem.GetComponent <SelectPart>();
        partButtonClicked  = false;
        conversationSystem = GameObject.Find("ConversationSystem");
        done = false;

        //disable part buttons so player can't use them while Dresha talks
        foreach (Button b in partButtons)
        {
            b.interactable = false;
        }
        //disable clicking on black regions while Dresha talks
        //could throw error if any of the objects in attachments do not have a MeshCollider or BoxCollider
        foreach (GameObject a in attachments)
        {
            BoxCollider bcollide = a.GetComponent <BoxCollider>();
            if (bcollide == null)
            {
                a.GetComponent <MeshCollider>().enabled = false;
            }
            else
            {
                bcollide.enabled = false;
            }
        }
        SimpleData.WriteStringToFile("LeapData.txt", "***This is another try at " + DateTime.Now.ToString() + ".");
        LeapStatic.resetConstructionObject("tutorial1");
    }
コード例 #25
0
    // Use this for initialization
    void Awake()
    {
        //number of parts to fuse
        partCreated  = new bool[NUM_PARTS];
        instantiated = new GameObject[NUM_PARTS];
        for (int i = 0; i < NUM_PARTS; i++)
        {
            partCreated[i] = false;
        }
        for (int i = 0; i < NUM_PARTS; i++)
        {
            instantiated[i] = null;
        }
        createLoc        = new Vector3(-40, 25, 80);
        selectionManager = eventSystem.GetComponent <SelectPart>();
        startObject      = GameObject.Find("armWhole");
        GameObject armArmDecAttach = startObject.transform.FindChild("arm_arm_dec_attach").gameObject;
        GameObject armPalmAttach   = startObject.transform.FindChild("arm_palm_attach").gameObject;

        //to avoid errors when selectedObject starts as startObject
        armArmDecAttach.GetComponent <FuseBehavior>().isFused = true;
        armPalmAttach.GetComponent <FuseBehavior>().isFused   = true;
        rotateGizmo = GameObject.FindGameObjectWithTag("RotationGizmo").GetComponent <RotationGizmo>();
    }
コード例 #26
0
        public override void OnSelect()
        {
            base.OnSelect();

            //initialize the Rotation Gizmo
            RotationGizmo rotationGizmo = new RotationGizmo();

            rotationGizmo.Draw(bottomAnchor.transform, GizmoType.Rectangle, rotationGizmo);

            //initialize the Scale Left Gizmo
            WallScaleGizmo wallScaleGizmoleft = new WallScaleGizmo();

            wallScaleGizmoleft.Draw(leftAnchor.transform, GizmoType.LeftScale, wallScaleGizmoleft);

            //initialize the Scale Right Gizmo
            WallScaleGizmo wallScaleGizmoRight = new WallScaleGizmo();

            wallScaleGizmoRight.Draw(rightAnchor.transform, GizmoType.RightScale, wallScaleGizmoRight);

            //initialize the Scale Up Gizmo
            WallScaleGizmo wallScaleGizmoUp = new WallScaleGizmo();

            wallScaleGizmoUp.Draw(topAnchor.transform, GizmoType.UpperScale, wallScaleGizmoUp);
        }
コード例 #27
0
 public override void ShowAsNotSelected()
 {
     BoneGizmo.ShowAsNotSelected();
     RotationGizmo.Hide();
 }
コード例 #28
0
        /// <summary>
        /// Called when the inspector needs to be rendered.
        /// </summary>
        public override void OnInspectorGUI()
        {
            // Let the user specify the translation gizmo
            EditorGUILayout.BeginVertical("Box");
            TranslationGizmo translationGizmo = EditorGUILayout.ObjectField("Translation Gizmo", _gizmoSystem.TranslationGizmo, typeof(TranslationGizmo), true) as TranslationGizmo;

            if (translationGizmo != _gizmoSystem.TranslationGizmo)
            {
                UnityEditorUndoHelper.RecordObjectForInspectorPropertyChange(_gizmoSystem);
                _gizmoSystem.TranslationGizmo = translationGizmo;
            }

            // Let the user specify the rotation gizmo
            RotationGizmo rotationGizmo = EditorGUILayout.ObjectField("Rotation Gizmo", _gizmoSystem.RotationGizmo, typeof(RotationGizmo), true) as RotationGizmo;

            if (rotationGizmo != _gizmoSystem.RotationGizmo)
            {
                UnityEditorUndoHelper.RecordObjectForInspectorPropertyChange(_gizmoSystem);
                _gizmoSystem.RotationGizmo = rotationGizmo;
            }

            // Let the user specify the scale gizmo
            ScaleGizmo scaleGizmo = EditorGUILayout.ObjectField("Scale Gizmo", _gizmoSystem.ScaleGizmo, typeof(ScaleGizmo), true) as ScaleGizmo;

            if (scaleGizmo != _gizmoSystem.ScaleGizmo)
            {
                UnityEditorUndoHelper.RecordObjectForInspectorPropertyChange(_gizmoSystem);
                _gizmoSystem.ScaleGizmo = scaleGizmo;
            }

            VolumeScaleGizmo volumeScaleGizmo = EditorGUILayout.ObjectField("Volume Scale Gizmo", _gizmoSystem.VolumeScaleGizmo, typeof(VolumeScaleGizmo), true) as VolumeScaleGizmo;

            if (scaleGizmo != _gizmoSystem.VolumeScaleGizmo)
            {
                UnityEditorUndoHelper.RecordObjectForInspectorPropertyChange(_gizmoSystem);
                _gizmoSystem.VolumeScaleGizmo = volumeScaleGizmo;
            }

            // Let the user specify the active gimo type
            if (_gizmoSystem.IsAnyGizmoTypeAvailable())
            {
                EditorGUILayout.Separator();
                GizmoType newActiveGizmoType = (GizmoType)EditorGUILayout.EnumPopup("Active Gizmo Type", _gizmoSystem.ActiveGizmoType);
                if (newActiveGizmoType != _gizmoSystem.ActiveGizmoType)
                {
                    UnityEditorUndoHelper.RecordObjectForInspectorPropertyChange(_gizmoSystem);
                    _gizmoSystem.ActiveGizmoType = newActiveGizmoType;
                }
            }

            EditorGUILayout.Separator();
            List <GizmoType> allGizmoTypes = Enum.GetValues(typeof(GizmoType)).Cast <GizmoType>().ToList();

            foreach (var gizmoType in allGizmoTypes)
            {
                bool isGizmoTypeAvailable = _gizmoSystem.IsGizmoTypeAvailable(gizmoType);
                bool newBool = EditorGUILayout.ToggleLeft(gizmoType.ToString(), isGizmoTypeAvailable);
                if (isGizmoTypeAvailable != newBool)
                {
                    UnityEditorUndoHelper.RecordObjectForInspectorPropertyChange(_gizmoSystem);
                    if (newBool)
                    {
                        _gizmoSystem.SetGizmoTypeAvailable(gizmoType, true);
                    }
                    else
                    {
                        _gizmoSystem.SetGizmoTypeAvailable(gizmoType, false);
                    }
                }
            }
            EditorGUILayout.EndVertical();

            _keyMappingsAreVisible = EditorGUILayout.Foldout(_keyMappingsAreVisible, "Key mappings");
            if (_keyMappingsAreVisible)
            {
                _gizmoSystem.ActivateTranslationGizmoShortcut.RenderView(_gizmoSystem);
                _gizmoSystem.ActivateRotationGizmoShortcut.RenderView(_gizmoSystem);
                _gizmoSystem.ActivateScaleGizmoShortcut.RenderView(_gizmoSystem);
                _gizmoSystem.ActivateVolumeScaleGizmoShortcut.RenderView(_gizmoSystem);
                _gizmoSystem.ActivateGlobalTransformShortcut.RenderView(_gizmoSystem);
                _gizmoSystem.ActivateLocalTransformShortcut.RenderView(_gizmoSystem);
                _gizmoSystem.TurnOffGizmosShortcut.RenderView(_gizmoSystem);
                _gizmoSystem.TogglePivotShortcut.RenderView(_gizmoSystem);
            }
        }
コード例 #29
0
 /// <summary>
 /// Called when the gizmo is selected in the scene view.
 /// </summary>
 protected override void OnEnable()
 {
     base.OnEnable();
     _rotationGizmo = target as RotationGizmo;
 }
コード例 #30
0
        protected override Task <bool> Initialize(EditorServiceGame editorGame)
        {
            game        = (EntityHierarchyEditorGame)editorGame;
            editorScene = game.EditorScene;

            var transformMainGizmoRenderStage        = new RenderStage("TransformGizmoOpaque", "Main");
            var transformTransparentGizmoRenderStage = new RenderStage("TransformGizmoTransparent", "Main")
            {
                SortMode = new BackToFrontSortMode()
            };

            game.EditorSceneSystem.GraphicsCompositor.RenderStages.Add(transformMainGizmoRenderStage);
            game.EditorSceneSystem.GraphicsCompositor.RenderStages.Add(transformTransparentGizmoRenderStage);

            var meshRenderFeature = game.EditorSceneSystem.GraphicsCompositor.RenderFeatures.OfType <MeshRenderFeature>().First();

            // Reset all stages for TransformationGrizmoGroup
            meshRenderFeature.RenderStageSelectors.Add(new SimpleGroupToRenderStageSelector
            {
                RenderGroup = TransformationGizmo.TransformationGizmoGroupMask,
            });
            meshRenderFeature.RenderStageSelectors.Add(new MeshTransparentRenderStageSelector
            {
                EffectName             = EditorGraphicsCompositorHelper.EditorForwardShadingEffect,
                RenderGroup            = TransformationGizmo.TransformationGizmoGroupMask,
                OpaqueRenderStage      = transformMainGizmoRenderStage,
                TransparentRenderStage = transformTransparentGizmoRenderStage,
            });
            meshRenderFeature.PipelineProcessors.Add(new MeshPipelineProcessor {
                TransparentRenderStage = transformTransparentGizmoRenderStage
            });

            var editorCompositor = (EditorTopLevelCompositor)game.EditorSceneSystem.GraphicsCompositor.Game;

            editorCompositor.PostGizmoCompositors.Add(new ClearRenderer {
                ClearFlags = ClearRendererFlags.DepthOnly
            });
            editorCompositor.PostGizmoCompositors.Add(new SingleStageRenderer {
                RenderStage = transformMainGizmoRenderStage, Name = "Transform Opaque Gizmos"
            });
            editorCompositor.PostGizmoCompositors.Add(new SingleStageRenderer {
                RenderStage = transformTransparentGizmoRenderStage, Name = "Transform Transparent Gizmos"
            });

            TranslationGizmo = new TranslationGizmo();
            RotationGizmo    = new RotationGizmo();
            ScaleGizmo       = new ScaleGizmo();
            TranslationGizmo.TransformationEnded += OnGizmoTransformationFinished;
            ScaleGizmo.TransformationEnded       += OnGizmoTransformationFinished;
            RotationGizmo.TransformationEnded    += OnGizmoTransformationFinished;

            transformationGizmos.Add(TranslationGizmo);
            transformationGizmos.Add(RotationGizmo);
            transformationGizmos.Add(ScaleGizmo);

            Services.Get <IEditorGameEntitySelectionService>().SelectionUpdated += UpdateModifiedEntitiesList;

            // Initialize and add the Gizmo entities to the gizmo scene
            MicrothreadLocalDatabases.MountCommonDatabase();

            // initialize the gizmo
            foreach (var gizmo in transformationGizmos)
            {
                gizmo.Initialize(game.Services, editorScene);
            }

            // Deactivate all transformation gizmo by default
            foreach (var gizmo in transformationGizmos)
            {
                gizmo.IsEnabled = false;
            }

            // set the default active transformation gizmo
            ActiveTransformationGizmo = TranslationGizmo;

            // Start update script (with priority 1 so that it happens after UpdateModifiedEntitiesList is called -- which usually happens from a EditorGameComtroller.PostAction() which has a default priority 0)
            game.Script.AddTask(Update, 1);
            return(Task.FromResult(true));
        }