private void DrawBrushSetup() { GUILayout.BeginHorizontal(); GUILayout.Label("Brush: ", EditorStyles.whiteBoldLabel); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); string folder = viewModel.CurrentPrefabFolder; string substr = folder != null && folder.Length > 24 ? folder.Substring(folder.Length - 24) : folder; EditorGUILayout.TextField(folder != null ? substr : "NONE"); Object newPrefab; if (viewModel.CurrentPrefab != (newPrefab = EditorGUILayout.ObjectField(viewModel.CurrentPrefab, typeof(GameObject), false)) && newPrefab != null) { viewModel.SelectPrefab((GameObject)newPrefab); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Rx: " + viewModel.PrefabOrientation.x.ToString("000"))) { viewModel.OrientPrefab(Vector3.right, true); } if (GUILayout.Button("Ry: " + viewModel.PrefabOrientation.y.ToString("000"))) { viewModel.OrientPrefab(Vector3.up, true); } if (GUILayout.Button("Rz: " + viewModel.PrefabOrientation.z.ToString("000"))) { viewModel.OrientPrefab(Vector3.forward, true); } if (GUILayout.Button("Fx: " + viewModel.PrefabFlip.x.ToString("0"))) { viewModel.FlipPrefab(Vector3.right); } if (GUILayout.Button("Fy: " + viewModel.PrefabFlip.y.ToString("0"))) { viewModel.FlipPrefab(Vector3.up); } if (GUILayout.Button("Fz: " + viewModel.PrefabFlip.z.ToString("0"))) { viewModel.FlipPrefab(Vector3.forward); } // Editor // EditorGUILayout.Vector3Field("Rot", Vector3.zero); // EditorGUILayout.Vector3Field("Scale", Vector3.zero); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); }
public bool KeyStateChanged(bool pressed, Event e) { if (!pressed) { if (!m_bWheelScrolledSinceLastKeyPress && IsKeyDown(e.keyCode)) { if (viewModel.CurrentTool == GNBlockMapEditorVM.Tool.PAINT) { if (e.keyCode == KeyCode.J) { m_aKeysDown[e.keyCode] = false; viewModel.FlipPrefab(Vector3.right); return(true); } if (e.keyCode == KeyCode.K) { m_aKeysDown[e.keyCode] = false; viewModel.FlipPrefab(Vector3.up); return(true); } if (e.keyCode == KeyCode.L) { m_aKeysDown[e.keyCode] = false; viewModel.FlipPrefab(Vector3.forward); return(true); } if (e.keyCode == KeyCode.M) { m_aKeysDown[e.keyCode] = false; viewModel.SetPrefabFlip(Vector3.one); viewModel.OrientPrefab(Vector3.zero); return(true); } } if (e.keyCode == KeyCode.Z || e.keyCode == KeyCode.Y) { m_aKeysDown[e.keyCode] = false; viewModel.BrowseLayerMode(); return(true); } } m_bWheelScrolledSinceLastKeyPress = false; } switch (e.keyCode) { // case KeyCode.B: case KeyCode.G: // Browse Cell Size / Move Grid case KeyCode.Z: // Browse Layer / Layer Modes case KeyCode.Y: // Browse Layer / Layer Modes case KeyCode.N: // Clear Objects case KeyCode.M: // Clear Prefab Orentation case KeyCode.U: // Browse Brush Folders case KeyCode.I: // Browse Brush in Folder case KeyCode.O: // Pick prefab under mouse case KeyCode.J: // Browse X-Rotation / X-Flip case KeyCode.K: // Browse Y-Rotation / Y-Flip case KeyCode.L: // Browse Z-Rotation / Z-Flip if (e.command || e.control) { return(false); } m_aKeysDown[e.keyCode] = pressed; if (IsKeyDown(KeyCode.O)) { viewModel.PickCurrentCellPrefab(); } return(true); case KeyCode.A: if (viewModel.CurrentTool == GNBlockMapEditorVM.Tool.BOX) { if (e.alt) { if (e.shift) { viewModel.SelectBoxFullMap(); } else { viewModel.SelectBoxFullLayer(); } return(true); } } return(false); } return(false); }