Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vis Editor 想法汇总 #2

Open
2 tasks done
WeAthFoLD opened this issue Dec 28, 2018 · 0 comments
Open
2 tasks done

Vis Editor 想法汇总 #2

WeAthFoLD opened this issue Dec 28, 2018 · 0 comments
Assignees
Labels

Comments

@WeAthFoLD
Copy link
Member

现在已经完成:

  • ImGui binding
  • 一个简单的testing code, 展示imgui的使用

于是我们已经证明了lwjgl环境中,imgui用起来很ok。接下来就要利用它做一些重要的工作流工具了。

12.28

Whats in mind:

  • CGUI 编辑器
    • 入口:指令 /cgui 或:完全脱离MC,可以独立启动?这将带来大得多的自由度
    • 如果完全脱离MC,需要对现在的cgui的components做去耦处理,避免一用就崩掉
    • 参考老版本LL,类似的功能
  • Runtime Inspector
    • 入口:指令 `(控制台键):开/关
    • Ctrl+P:暂停游戏/停止暂停游戏(暂停同时:夺取游戏光标,允许mouse input)
    • 可以实时查看(并更改?)运行时对象的数据
    • 如何获得要查看的实例?
      • 查看类的静态Field
      • 固定的Provider
        • Render: 选 Entity 类拿到对应的 Render 实例
        • Entity: 查看所有活跃的 Entity;
        • Blockstate
        • Block, Item
        • ...
        • 可扩展!第三方mod可以很容易植入provider
    • 一些想到的额外用例
      • Widget: 可以热加载xml到inspect中的实例,实现UI热更新
      • 可以热替换模型、贴图等资源
      • 运行时任意修改任何值,将使得可视化程度大幅提高,并革命的提升开发体验
  • Console
    • 和 Runtime Inspector 放在一起
    • MC的聊天指令系统太过傻逼,每次输指令lei的要死
    • 可以实现一个带自动补全、alias 的 console

关于代码架构

  • CGui编辑器和RI完全分开写
  • 公用部分:Object Inspector
    • Class -> ObjectInspector
    • Direct and Custom

其他

  • 存在在游戏环境中使用的可能性,或许可以单独打个editor/debug包?
@WeAthFoLD WeAthFoLD self-assigned this Dec 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant