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

Godot 3.2: Add ClassType wrapper and SceneTemplates #11

Closed
willnationsdev opened this issue Sep 18, 2018 · 2 comments
Closed

Godot 3.2: Add ClassType wrapper and SceneTemplates #11

willnationsdev opened this issue Sep 18, 2018 · 2 comments

Comments

@willnationsdev
Copy link
Owner

willnationsdev commented Sep 18, 2018

SceneTemplates are like editor-only script classes for scenes (they show up in the CreateDialog). ClassType is a convenience wrapper around engine classes, script classes, and scene templates.

@willnationsdev
Copy link
Owner Author

willnationsdev commented Feb 5, 2019

I am now in the process of refactoring this branch in the following ways:

  • Make CustomTypes indexed by name rather than by base type, to make it more like script classes and make tracking inheritance hierarchies easier.
  • Make CustomTypes support scenes as well.
  • Create a tab in the ProjectSettings for viewing and editing CustomType records.
  • Modify EditorPlugin.add_custom_type to interact with the new ProjectSettings tabs' data.
  • Add editor context menu shortcuts
    • FileSystem dock
      • Script file: "Promote to Custom Type Script"
      • Scene file: "Promote to Custom Type Scene"
    • Scene dock
      • Node with a script: "Promote to Custom Type Script"
      • Root node of scene: "Promote to Custom Type Scene"
  • Create an abstraction layer class around all class data, "ClassType". It will be a Reference type that provides a ClassDB-like interface that spans all class types:
    • engine classes
    • anonymous scripts
    • anonymous scenes
    • Custom Type scripts
    • Custom Type scenes
    • Script Class scripts
  • Update the CreateDialog to use the ClassType object.

@willnationsdev
Copy link
Owner Author

Based on the discussion in godotengine/godot#21187, there is no need to continue working on this. Anything that can assist both the editor (can't be a module, must be in core or editor) and runtime (can't be in editor) would have to be in core, and any and all core changes that would enable a user-defined type system will not be approved by reduz.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant