当前位置:网站首页>Unity editor expansion - the design idea of imgui
Unity editor expansion - the design idea of imgui
2022-07-03 08:26:00 【T.D.C】
IMGUI explain
- Full name Immediate Mode GUI
- Of this system ui Control has no state , Every time you update the drawing, the window transfers the data object to the control , Then the control directly returns the new value to update the data object
- Scope of application
- Making an editor
- In game tool type ui, such as Game Manager Functional ui
features
- No state
- Weak support for animation
Programming paradigm
// For example, there is a complex control , This control accepts input and returns the output value
class DataModel{
...
}
class XXEditorWindow{
DataModel dataModel = new DataModel()
void OnGUI(){
DataModel = GUI_CustomControl(dataModel)
}
DataModel GUI_CustomControl(DataModel dataModel){
// process input, layout, show information, setup DataModel
...
return dataModel
}
}
Reference material
- https://caseymuratori.com/blog_0001
- https://github.com/ocornut/imgui
边栏推荐
猜你喜欢

Dotween plug-in

C#课程设计之员工信息管理系统

Ue5 opencv plug-in use

the installer has encountered an unexpected error installing this package

Visual Studio (VS) shortcut keys

【云原生】微服务之Feign的介绍与使用

【更新中】微信小程序学习笔记_3

the installer has encountered an unexpected error installing this package

ArrayList

Osgearth target selection
随机推荐
CLion-Toolchains are not configured Configure Disable profile问题解决
Basic operation and process control 2
E: Unable to locate package ROS melody desktop full
Multi traveling salesman problem -- overview of formula and solution process
Wpf: solve the problem that materialdesign:dialoghost cannot be closed
Transplantation of tslib Library
String class
Osgearth starry background
[K & R] Chinese Second Edition personal questions Chapter1
Youyou1 of xlua knapsack system
Display terrain database on osgearth ball
Why can void * be a general pointer
Jupyter remote server configuration and server startup
Transplantation of freetype Library
C#课程设计之员工信息管理系统
Mall management system of database application technology course design
Gradle's method of dynamically modifying APK package name
Mutual call between Lua and C #
Luaframwrok handles resource updates
UE4 plug in development