public override void Dispose() { _sceneEditor.RemoveGizmo(BoneGizmo); _sceneEditor.RemoveGizmo(RotationGizmo); BoneGizmo.Dispose(); RotationGizmo.Dispose(); }
// 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>(); }
// 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>(); }
// 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>(); }
// 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>(); }
// 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>(); }
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); } } }
// 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>(); }
// 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>(); }
// 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>(); }
// 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>(); }
private void CreateSubItems() { BoneGizmo = new BoneGizmo(_sceneEditor, this); RotationGizmo = new RotationGizmo(_sceneEditor, this); _sceneEditor.AddGizmo(BoneGizmo); _sceneEditor.AddGizmo(RotationGizmo); }
private void UpdateGizmoTransforms() { BoneGizmo.UpdateTransform(_sceneEditor.SceneViewport); if (RotationGizmo.IsVisible) { RotationGizmo.UpdateTransform(_sceneEditor.SceneViewport); } }
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); }
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"); }
public override void OnSelect() { base.OnSelect(); //initialize the Rotation Gizmo RotationGizmo rotationGizmo = new RotationGizmo(); rotationGizmo.Draw(bottomAnchor.transform, GizmoType.Circle, rotationGizmo); }
public override void Dispose() { _sceneEditor.SceneViewport.RemoveSpriteNode(NodeId); _sceneEditor.RemoveGizmo(SelectionGizmo); _sceneEditor.RemoveGizmo(RotationGizmo); SelectionGizmo.Dispose(); RotationGizmo.Dispose(); }
/// <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; }
/// <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; }
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); }
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; } }
// 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"); }
// 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>(); }
// 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"); }
// 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>(); }
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); }
public override void ShowAsNotSelected() { BoneGizmo.ShowAsNotSelected(); RotationGizmo.Hide(); }
/// <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); } }
/// <summary> /// Called when the gizmo is selected in the scene view. /// </summary> protected override void OnEnable() { base.OnEnable(); _rotationGizmo = target as RotationGizmo; }
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)); }