| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- Needed controls:
- Array field/List field/Dictionary field
- Matrix3 field
- Matrix4 field
- GameObject field
- Resource field
- -------------
- A way to close a window & destroy a GUI panel!
- - Will likely need to refactor ScriptEditorWindow as currently it performs initialization
- in constructor and destroy in destructor, but open/close will be called within its lifetime
- - Also a way to get notified if the window gets closed from C++
- - Once closed the referenced GUIPanels should no longer work (set "destroyed" flag?)
- - What about calling Destroy on a GUIPanel?
- - It should notify owning EditorWindow
- Ensure that setting depth for GUIArea works properly. It's not properly implemented yet.
- Things to think about/do:
- - Add EditorFields to C#
- - Inspectable fields need TAB support
- - Modify C++ GUIElement so I can do setNextTabElement(GUIElement*)
- - Inspectable fields need Undo/Redo support. Consider how to best implement it
- - C++ Undo/Redo system needs nested contexts
- - C++ Ensure that Undo/Redo works on per-field basis (undoing items within a field)
- - Add C# UndoRedo
- - Modify C++ Editor fields so that calling setValue doesn't update the visual value until focus is lost
- - When user is currently writing in an input box I don't want refresh to overwrite that value.
- - Expand/Collapse needs to work for both Components and their sub-objects (Structs, Arrays, etc.)
- - Support for initializing SerializableObject/SerializableArray (and their fields, together with getters/setters)
- - How do I refresh currently visible inspector fields.
- - Also how will this be done with custom inspectors, when I might not use InspectableObject
- - Currently I do not have a way to creating an Inspector field for just a single field, only for an entire object
- - Finally once all other things are done implement support for multi-rank arrays, lists and dictionaries
- How will UndoRedo keep a reference to the object?
- - What if the object gets destroyed?
- - Keeping a reference will prevent the object from being destroyed.
- - Although heavy stuff is destroyed manually via Destroy anyway
- STUBBED IN METHODS:
- SerializableObject
- SerializableArray
- SerializableField
- ----------------------
- Non-inspector:
- - Deleting first entry in input field moves the cursor incorrectly
- - Test if parsing int/float value from int/float field actually works
- - ProfilerOverlay elements are constantly dirty? even though I'm not calling update
- Refactor BuiltinMaterialFactory to BuiltinEngineResources
- Cursor
- - A way to save/load a set of cursors
- Get rid of the CamelotFramework namespace
- - I shouldn't need to prefix each variable with CM::
- Undocking a window wont remove the tabbed title bar
- While dragging an undocked window, dropping it over the main window (not over dock overlays) will not restore it
- - GameObjectField
- - When dragging over GameObjectField cursor needs to change depending whether drop will be accepted or not
- - How will I limit it to just certain component types?
- Make a common class for ScriptGUIElement as they all share:
- - Destroy(), DestroyInstance(), SetParent(), SetVisible() methods, and potentially others
- Add InsertElement to GUILayout
- Boost any replacement: http://www.codeproject.com/Articles/11250/High-Performance-Dynamic-Typing-in-C-using-a-Repla
- - Also POCO has any class
|