首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Unity的编辑器开发(一): GUI框架技术

需求背景 用Unity开发的游戏, 需要做个关卡编辑器....UI需要使用传统的方式来开发, 什么Qt/Winforms/WPF/Web等, 用Unity内置的UI也是一个思路 游戏内的逻辑基本都在mono虚拟机上跑, 外面再搞一套UI逻辑的话, 怎么做到公共代码的复用...不过里面的控件类型不是很全, 考虑到后期造轮子的成本, 选择暂时放弃, 后续有需要可以参考它的控件风格实现. 如果只是Docking的话, 还是DockPanel Suite做得更好....想当年用MFC开发编辑器时, 每个参数都加一个控件, 那体验…维护起来简直想死. 后来我就入了.Net Interop的坑, 想来可能仅仅是因为这个PropertyGrid: ?...它自带的编辑器Dualitor已经证明了这个属性编辑控件的强大, 针对不同的游戏引擎的数据类型也已经有一些扩展控件参考: ? ? ?

4.7K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WPF工具开发: 第三库选择

    PropertyGrid Winforms's PropertyGrid 非WPF原生支持, 需要借助WinFormHost 风格不可定制 PropertyInspectorView 算是"官方"...库, 风格不可定制 WPF Property Grid 开源 功能还不够完善 可以定制风格 PropertyEditor for WPF 开源 功能比较实用, 有自己的特色 Actipro PropertyGrid...商业控件 Mindscape WPF Property Grid 商业控件 DockWindow AvalonDock 开源, 几乎是商用之外的最好选择 DotNetBar for WPF...Suite 开源 支持Office2010风格 DotNetBar for WPF 商业控件库 很方便的VS内嵌设计器 最新版支持Office2010风格 除了RibbonBar, 还有其它很实用的功能...Simple WPF Syntax Highlight Textbox ScintillaNET 这是Scintilla的.Net封装, 很有名的一个控件 Actipro SyntaxEditor 这个是收费的

    1.2K50

    小知识:设置sqlplus默认vi编辑器的好处

    如果是客户生产环境,不允许修改任何环境类的配置,那发现sqlplus默认不是我们熟悉的vi,可以在SQL>下临时指定,方便操作; SQL> define_editor=vi SQL> ed file_name...如果是自己运维的环境,可以修改配置,建议修改glogin.sql,添加指定vi为默认编辑器: cd $ORACLE_HOME/sqlplus/admin/ vi glogin.sql 加入配置: define_editor...=vi 以一个最简单的例子说明其便利性,比如我们要修改所有ASM磁盘组的compatible.rdbms属性,肯定要反复用到如下SQL: --查询ASM磁盘组的相关信息: select NAME , TOTAL_MB...属性 ALTER DISKGROUP &dgname SET ATTRIBUTE 'compatible.rdbms' = '11.2'; 那么,如果我们设置了熟悉的vi为默认sqlplus的编辑器,就可以方便编辑...,避免重复输入的同时,还有效减少了误操作,大幅提升DBA在sqlplus下的工作效率。

    44410

    强大的PropertyGrid

    把要编辑的对象看成类的话, 所有要编辑的属性就是成员 嗯嗯, 最近看了几眼Ogitor, 它对于PropertyGrid的使用就很不错 所有要编辑的对象(灯光, 模型, 粒子等等)都有一个共同的基类,...(公司那个编辑器要多土就有多土-_-) 尽管Ribbon界面看起来很酷, 我还是对MFC提不起兴趣来... .net里的PropertyGrid更方便, 一点一点来: 属性自动绑定: ref class...->SelectedObject = gcnew Human(); 它就能自动识别出Human类中的property, 并且自动关联到PropertyGrid中: 对属性进行分类并加注释: ref class...如果只是像上面那样放上的话, 只会得到个灰色不可编辑的东西~ 要想让PropertyGrid能够展开Vector3属性, 指定一下TypeConverter就可以了: [TypeConverterAttribute...这个, 暂时没需求, 不实现了, 有兴趣的参考:Getting the Most Out of the .NET Framework PropertyGrid Control

    63750

    PropertyGrid中的枚举显示为中文

    本文转载:http://www.cnblogs.com/yank/archive/2011/09/17/2179598.html ropertyGrid中的枚举显示为中文 在系统开发中,经常会使用PropertyGrid...来修改或者展示某个对象的属性,如果类中定义了枚举,在展现的时候默认会展示枚举的项或者枚举值,但是这并不是我们想要的。...用户使用的时候并不清楚该项代表的意思。之前介绍过枚举显示中文的一篇文章,大家可以看下,枚举显示中文。 想要的效果: ? 在PropertyGrid中枚举显示中,又比较复杂一些。...PropertyGrid显示复杂属性需要TypeConverter,也就是一个转换 器,可以对其进行设置,显示我们想要的格式、内容。...现有技术PropertyGrid枚举显示中文,有一些利用了绑定自定义控件,有一些绑定自定义的 IList对象。

    1.1K20

    WinForm的控件TextBox恢复PasswordChar 默认值、取消密码框设置

    大家好,又见面了,我是你们的朋友全栈君。...WinForm中TextBox控件的PasswordChar属性默认是没有设置的或者说没有开启密码模式,当设置了该属性之后就会开启密码模式,输入的内容以设置的该属性的值来显示。...那么该如何取消PasswordChar的设置呢?归纳起来有三种方法,其本质都是把PasswordChar的值赋值为默认值,赋值为默认值后就会按照正常文本进行显示。三种方法代码如下。...使用new char()得到的是一个结构体实例,同时会得到默认值;‘\0’是char类型的结尾值,任何一个char类型的变量的值都是以它为结尾,在存储中占一bit(位);default关键字,此关键字对于引用类型会返回...对于可以为 null 的值类型,默认返回 System.Nullable,它像任何结构一样初始化。那么使用default关键字得到的就是char类型的默认值。

    2K30

    基于属性的编辑器框架

    看了Ogitor的代码后, 自己又实践了一把, 结合N3中学到的一些技巧, 在编辑器中得到了验证. 虽说做的是场景编辑器, 但是其它编辑器也可以用的, 毕竟思想都差不多....对于一个编辑器, 通常是由一个个的"实体"组成, 或者叫"对象". 而"对象"又是由各种"属性"所组成....以场景编辑器为例, 我们通常会涉及以下操作: 刷地形, 刷纹理 摆模型, 设置模型参数 摆光源, 设置光源参数 摆特效/音效, 设置参数 摆NPC, 设置相应参数 ......由此可以得出: 编辑器的一切操作都是属性编辑 实体不用说了, 相信每个引擎都有Model/Light/Sound之类的对象类. 那么怎么去定义一个属性呢?...Undo/Redo只不过是把属性进行还原而已 界面显示 属性可以与PropertyGrid良好的结合. 对于MFC的PropertyGrid正好可以用FourCC的uint值做为id.

    95720

    【C#】妈妈再也不用担心自定义控件如何给特殊类型的属性添加默认值了,附自定义GroupBox一枚

    写自定义控件时往往会有一个需求,就是给属性指定一个默认值(就是可以在VS中右键该属性→重置),如果该属性的类型是内置值类型还好,直接使用DefaultValue特性就好,例如: [DefaultValue...固然可以直接设置GroupBox的ForeColor和Font属性达到目的,但这样的话,它里面的子控件会继承,还得把子控件的这俩属性改回来~蛋疼。...控件实现没什么好说的,下面主要就为非常规类型的属性指定默认值的套路说一下。...为该字段/属性赋值想要的默认值,本例为SystemFonts.DefaultFont,可见这里就不像DefaultValue只能赋值内置值类型或字符串常量那么蛋疼了,可以随意赋值~不然还说个球 - 要实现一个...这里再扯点题外,就是通过DefaultValue指定的默认值其实只是在VS中右键→重置时,让VS不再往InitializeComponent显式赋值,同时在PropertyGrid中让值不再粗体显式,并不代表属性的初始值已经设置为

    1.5K20

    ArcGIS JS API 4.17更改测量控件黄白相间的默认样式

    当我们使用ArcGIS JS API开发项目时,经常会用到地图测量控件,用于测量地图上两点之间的距离、一片区域的面积或周长等,但是ArcGIS JS API测量控件自带的默认样式是黄白相间的大粗线,这在用户看来是很不美观的...问题描述 在使用ArcGIS API for JavaScript 4.17开发项目时,有一个需求是需要在地图上添加距离测量和面积测量的控件,这其实很简单,直接调用ArcGIS JS API自带的测量控件就可以实现...,但是客户对控件自带的黄白相间、并且略粗的默认样式不满意,所以需要修改ArcGIS JS API自带的测量控件默认样式。...我们先来看看ArcGIS JS API自带的默认样式: 然后再来看看客户想要的样式: 其实说白了就是要更改默认样式的宽度和颜色。...完整代码 1、二维下的测量控件样式更改 <!

    1.9K30
    领券