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

Implementation of Subscenes, SceneGroups and Gamemodes #1311

Open
wants to merge 21 commits into
base: development
Choose a base branch
from

Conversation

Areloch
Copy link
Contributor

@Areloch Areloch commented Sep 1, 2024

  • Standardizes Gamemodes to be an actual class with data and utility functions that can be parsed
  • Adds inspector field handling for selecting gamemodes
  • Updated Scene class to work with Gamemodes for the gamemode field
  • Updates editor suite elements to be able to create SubScenes, SceneGroups and Gamemodes
  • Adds ability to convert SimGroup to SubScene
  • Updates BaseUI's chooselevel menu to have gamemode selection and filters shown levels based on selected gamemode

Areloch and others added 21 commits September 1, 2024 16:39
Standardizes Gamemodes to be an actual class with data and utility functions that can be parsed
Adds inspector field handling for selecting gamemodes
Updated Scene class to work with Gamemodes for the gamemode field
Updates editor suite elements to be able to create SubScenes, SceneGroups and Gamemodes
Adds ability to convert SimGroup to SubScene
Updates BaseUI's chooselevel menu to have gamemode selection and filters shown levels based on selected gamemode
Properly returned value for SubScene::save()
…ithin the start/stop blocks

Tweaked example module script file to comply
Moved ExampleGameMode script file to scripts/shared since client and server need access to the gamemode for logic to work
Adds utility methods and SimGroup onInspect injection to add a select button in inspector to select objects under simgroup
reminder note for if switches in c++, it it fails once in an or evaluation, that's it. it does not try other portions
fix forest editor failing to pop up a create new
it wasn't accounting for the formatScaleFactor (1, 0.01, ect) leading to mesh deformations based on bone vs skinned mesh displacement
…nes at a specific world position

Adds loadIf conditional logic to evaluate if a subscene is 'allowed' to load when tested
Adds isAlwaysActive to GameMode to be able to flag a gamemode as being defaulted to on and used automatically
Updated GetGameModesList function to return an arrayObject of the gamemodes found
Overhauled CallGameModeFunction to utilize the gamemodes list with active/alwaysActive modes being called against, rather than level-scanning
Updated ChooseLevelMenu to be able to toggle on/off multiple gamemodes with an image indicator if it's active or not
…Mangle

fix(?) assimp to torquie matrix converter
…e loading state and per-subscene ticking for conditional checks

Fixes for child iteration of subscenes
Renamed tripCondition field in triggers to tripIf for consistency/naming clarity
Added ability for callbacks for gamemode to have reference on which subscene was loaded/unloaded for respective callback
…, to tracking the objects but keeping them in the Cleanup Group to fix prefab loading behavior

Shifted to utilizing SimGroupInterator and persistenceManager to fix saving issues with SubScenes
Shifted to utilizing SimGroupIterator for Scene saving to standardize and minimize object misses
Changed prefab load file logic to add loaded child simgroup to rootscene for consistent tracking and avoiding conflicts with subScene's hijacking the ImmediateGroup var
Reduced duplication of build<type>field callback for inspectors
Added more standard field type lookups to inspector group when creating a field to avoid misses for types like 'F32' or similar.
Folded the added-on MinSize/MaxSize/SimgroupSelect fields for SimGroup editing into a single compound field and fixed bugs with it's behavior so it works as expected now
…asn't displaying by moving it to Editing inspector group

Added mode toggle for if changing the transform influences the child objects of a SubScene or not
Added onSelected/onUnselected callbacks for SimObjects to allow contextual behavior in the editor
Added functionality of programmatic/dynamic Tool Button Palettes
Added logic so when selecting SubScenes the world editor palette has new buttons for letting the move/rotate actions influence the child objects
…ird when rotating subscenes

Fixed issue of action buttons breaking with subscenes when going between child-object manip modes and not
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

Successfully merging this pull request may close these issues.

2 participants