QodotPlugin / qodot-plugin

(LEGACY) Quake .map support for Godot 3.x
MIT License
960 stars 70 forks source link

Procedural workflow features #85

Closed Shfty closed 4 years ago

Shfty commented 4 years ago

Add build_finished, build_failed, etc. signals to QodotMap so it becomes feasible to use for procedural editor-driven workflows.

Shfty commented 4 years ago

Need to add a runtime-specific build function that returns a set of built nodes instead of adding them to the scene tree and setting their owner.

Shfty commented 4 years ago

Implemented in the latest commit.

Added a build_complete(entity_nodes) signal that gets fired at the end of the build and returns an array of entity nodes.

The enum passed into set_owner can now take the following values: QodotMap.QodotMapAction.SELECT_AN_ACTION - Does nothing, used for UI purposes. QodotMap.QodotMapAction.QUICK_BUILD - Build, but don't attach to the editor tree. Visible in the editor, but entity nodes can't be selected or saved. Doesn't invoke costly set_owner calls. QodotMap.QodotMapAction.FULL_BUILD - Original build + add to editor tree behavior. QodotMap.QodotMapAction.UNWRAP_UV2 - Unwrap UV2s for lightmapping. Should work for both quick and full builds.