|
@@ -1,15 +1,4 @@
|
|
|
Classes that need C# wrappers:
|
|
Classes that need C# wrappers:
|
|
|
-Math (Instead of a wrapper create actual C# classes, but which map 1-1 with C++ code so we can move them through C++/C# boundaries):
|
|
|
|
|
- -Vector2
|
|
|
|
|
- -Vector3
|
|
|
|
|
- -Vector4
|
|
|
|
|
- -Matrix3
|
|
|
|
|
- -Matrix4
|
|
|
|
|
- -Quaternion
|
|
|
|
|
- -Rect
|
|
|
|
|
- -Int2
|
|
|
|
|
- -Color
|
|
|
|
|
-
|
|
|
|
|
Resources:
|
|
Resources:
|
|
|
- Mesh
|
|
- Mesh
|
|
|
- Texture
|
|
- Texture
|
|
@@ -48,12 +37,6 @@ Systems:
|
|
|
|
|
|
|
|
-----------------
|
|
-----------------
|
|
|
|
|
|
|
|
-// TODO - I might need to call this
|
|
|
|
|
- retval = mono_jit_exec (domain, assembly, argc - 1, argv + 1);
|
|
|
|
|
-to call a Main function in the assembly
|
|
|
|
|
-
|
|
|
|
|
- -----------------
|
|
|
|
|
-
|
|
|
|
|
For EditorWindow, add a new class in BansheeEditor, which pretty much does the job of EditorWidget::open
|
|
For EditorWindow, add a new class in BansheeEditor, which pretty much does the job of EditorWidget::open
|
|
|
- Except it creates an empty widget. (It will also create a window, but in C++ code)
|
|
- Except it creates an empty widget. (It will also create a window, but in C++ code)
|
|
|
- All the window docking/undocking moving/resizing is done in C++
|
|
- All the window docking/undocking moving/resizing is done in C++
|
|
@@ -108,35 +91,32 @@ Eventually make all math classes templates that work on both doubles and floats.
|
|
|
|
|
|
|
|
----------------------------
|
|
----------------------------
|
|
|
|
|
|
|
|
-EditorGUI - NOT a component
|
|
|
|
|
- - Internally just a GUIWidget
|
|
|
|
|
- - has AddArea method
|
|
|
|
|
- - has main field that points to main Layout
|
|
|
|
|
- - shares interface with "GUI", which is used for main game window
|
|
|
|
|
- - has a reference to GUISkin. Default is GUISkin.main
|
|
|
|
|
-
|
|
|
|
|
-GUIArea
|
|
|
|
|
- - has layout field
|
|
|
|
|
- - has AddLayoutX, AddLayoutY
|
|
|
|
|
-
|
|
|
|
|
-GUILayout
|
|
|
|
|
- - has AddButton, AddLabel, AddLayoutX, AddLayoutY
|
|
|
|
|
-
|
|
|
|
|
-GUIButton, GUILabel
|
|
|
|
|
- - Require GUILayoutOptions, GUIElementStyle upon construction
|
|
|
|
|
- - Have Destroy() methods
|
|
|
|
|
|
|
+Implement:
|
|
|
|
|
+ - GUIContent
|
|
|
|
|
+ - HString
|
|
|
|
|
|
|
|
-GUIElementStyle
|
|
|
|
|
- - Requires font
|
|
|
|
|
- - Requires SpriteTexture
|
|
|
|
|
- - Create DUMMY font and texture classes for now
|
|
|
|
|
-
|
|
|
|
|
-GUISkin
|
|
|
|
|
- - Has pointers to GUIElementStyles for button, label, etc. plus support for custom styles using GetStyle(name), SetStyle(name)
|
|
|
|
|
-
|
|
|
|
|
-Immediate:
|
|
|
|
|
- - Implement ScriptGUIBase
|
|
|
|
|
- - Delete: GUIWidget and ScriptGUIWidget
|
|
|
|
|
|
|
+ - Button
|
|
|
|
|
+ - Texture
|
|
|
|
|
+ - RenderTexture
|
|
|
|
|
+ - Toggle
|
|
|
|
|
+ - TextField
|
|
|
|
|
+ - ListBox
|
|
|
|
|
+ - DropDownBox
|
|
|
|
|
+ - ScrollArea
|
|
|
|
|
+
|
|
|
|
|
+ - Space
|
|
|
|
|
+ - FlexibleSpace
|
|
|
|
|
+
|
|
|
|
|
+ - Destroy()
|
|
|
|
|
+ - GUISkin
|
|
|
|
|
+ - List of properties with all common styles, like .button, .label
|
|
|
|
|
+ - Get/SetStyle methods for custom styles
|
|
|
|
|
+ - GUISkin.main <- default skin
|
|
|
|
|
+ - GUI (Non EditorGUI version)
|
|
|
|
|
+
|
|
|
|
|
+ - Implement Font
|
|
|
|
|
+ - SpriteTexture needs to be a handle
|
|
|
|
|
+ - Implement C# SpriteTexture
|
|
|
|
|
|
|
|
When loading resources I need to be able to load both project resources and engine ones.
|
|
When loading resources I need to be able to load both project resources and engine ones.
|
|
|
- BuiltinResources can be used for accessing default resources like GUI skin textures and similar
|
|
- BuiltinResources can be used for accessing default resources like GUI skin textures and similar
|
|
@@ -150,16 +130,6 @@ ScriptGUILabel currently accepts a WString, while it should be accepting a HStri
|
|
|
|
|
|
|
|
BsApplication::getPrimaryViewport is not implemented
|
|
BsApplication::getPrimaryViewport is not implemented
|
|
|
|
|
|
|
|
-Reconsider making scripts a static library
|
|
|
|
|
- - The scripts would only have one external header that allows you to start the script engine and load assemblies
|
|
|
|
|
- - So BansheeEngine script library would be dependant on BansheeEngine
|
|
|
|
|
- - BansheeEditor script library would be dependant on BansheeEditor, BansheEngine and BansheeEngineScript
|
|
|
|
|
- - Maybe even make them .dlls? Then BansheeEngine and bansheeeditor doesn't need to know about their includes
|
|
|
|
|
-
|
|
|
|
|
-IGNORE RESOURCES FOR NOW. When building the GUI make sure that they all temporarily use the native skin
|
|
|
|
|
- - Later implement GUIBase.skin (and actually implement GUISkin because it's just a dummy for now)
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
----------------------------
|
|
----------------------------
|
|
|
|
|
|
|
|
I want my .exe to be native. Internally it will call MBansheeEngine and MBansheeEditor.
|
|
I want my .exe to be native. Internally it will call MBansheeEngine and MBansheeEditor.
|