EditorApplication.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. using System;
  2. using System.Collections.Generic;
  3. using BansheeEngine;
  4. namespace BansheeEditor
  5. {
  6. public enum SceneViewTool
  7. {
  8. View,
  9. Move,
  10. Rotate,
  11. Scale
  12. }
  13. public enum HandlePivotMode
  14. {
  15. Center,
  16. Pivot
  17. }
  18. public enum HandleCoordinateMode
  19. {
  20. Local,
  21. World
  22. }
  23. public class EditorApplication
  24. {
  25. public static SceneViewTool ActiveSceneTool
  26. {
  27. get { return EditorSettings.ActiveSceneTool; }
  28. set { EditorSettings.ActiveSceneTool = value; }
  29. }
  30. public static HandleCoordinateMode ActiveCoordinateMode
  31. {
  32. get { return EditorSettings.ActiveCoordinateMode; }
  33. set { EditorSettings.ActiveCoordinateMode = value; }
  34. }
  35. public static HandlePivotMode ActivePivotMode
  36. {
  37. get { return EditorSettings.ActivePivotMode; }
  38. set { EditorSettings.ActivePivotMode = value; }
  39. }
  40. public static Camera SceneViewCamera
  41. {
  42. get { return instance.scene.GetCamera(); }
  43. }
  44. private static EditorApplication instance;
  45. private InspectorWindow inspector;
  46. private SceneWindow scene;
  47. private DebugWindow debug;
  48. // DEBUG ONLY
  49. Debug_Component1 dbgComponent;
  50. // END DEBUG ONLY
  51. internal EditorApplication()
  52. {
  53. instance = this;
  54. // Register controls
  55. InputConfiguration inputConfig = VirtualInput.KeyConfig;
  56. inputConfig.RegisterButton(SceneCamera.MoveForwardBinding, ButtonCode.W);
  57. inputConfig.RegisterButton(SceneCamera.MoveBackBinding, ButtonCode.S);
  58. inputConfig.RegisterButton(SceneCamera.MoveLeftBinding, ButtonCode.A);
  59. inputConfig.RegisterButton(SceneCamera.MoveRightBinding, ButtonCode.D);
  60. inputConfig.RegisterButton(SceneCamera.MoveForwardBinding, ButtonCode.Up);
  61. inputConfig.RegisterButton(SceneCamera.MoveBackBinding, ButtonCode.Back);
  62. inputConfig.RegisterButton(SceneCamera.MoveLeftBinding, ButtonCode.Left);
  63. inputConfig.RegisterButton(SceneCamera.MoveRightBinding, ButtonCode.Right);
  64. inputConfig.RegisterButton(SceneCamera.FastMoveBinding, ButtonCode.LeftShift);
  65. inputConfig.RegisterButton(SceneCamera.RotateBinding, ButtonCode.MouseRight);
  66. inputConfig.RegisterAxis(SceneCamera.HorizontalAxisBinding, InputAxis.MouseX);
  67. inputConfig.RegisterAxis(SceneCamera.VerticalAxisBinding, InputAxis.MouseY);
  68. // Open windows
  69. inspector = EditorWindow.OpenWindow<InspectorWindow>();
  70. scene = EditorWindow.OpenWindow<SceneWindow>();
  71. debug = EditorWindow.OpenWindow<DebugWindow>();
  72. // DEBUG ONLY
  73. SceneObject newDbgObject = new SceneObject("NewDbgObject");
  74. dbgComponent = newDbgObject.AddComponent<Debug_Component1>();
  75. newDbgObject.AddComponent<Debug_Component2>();
  76. inspector.SetObjectToInspect(newDbgObject);
  77. SceneObject gizmoDbgObject = new SceneObject("GizmoDebug");
  78. gizmoDbgObject.AddComponent<DbgGizmoComponent>();
  79. //ProgressBar.Show("Test", 0.5f);
  80. ColorPicker.Show();
  81. // DEBUG ONLY END
  82. }
  83. internal void EditorUpdate()
  84. {
  85. // DEBUG ONLY
  86. if (dbgComponent != null)
  87. dbgComponent.intArray[0] = dbgComponent.intArray[0] + 1;
  88. // DEBUG ONLY END
  89. }
  90. }
  91. }