Skip to content

Enhance Transform, Collision, Menu, and GUI functionalities#49

Merged
amasiye merged 1 commit into
mainfrom
develop
Mar 19, 2026
Merged

Enhance Transform, Collision, Menu, and GUI functionalities#49
amasiye merged 1 commit into
mainfrom
develop

Conversation

@amasiye

@amasiye amasiye commented Mar 19, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces significant improvements to the handling of game object hierarchies, scene management, and rendering logic in the core engine. The main focus is on enabling recursive operations on game object trees, improving the accuracy of object search and manipulation, and enhancing scene and rendering behavior.

Hierarchy traversal and recursive operations:

  • Game object search methods (find, findWithTag, findAll, findAllWithTag) now search recursively through the entire object hierarchy, not just root objects, by introducing findFirstInHierarchy and collectHierarchyMatches helper methods. This ensures more accurate and comprehensive searches for objects and tags. [1] [2] [3] [4] [5]
  • The new getChildren method in GameObject provides direct access to child objects, enabling recursive traversal and manipulation of object trees.

Recursive lifecycle and rendering methods:

  • Lifecycle methods (start, stop, resume, suspend, fixedUpdate, update) and rendering methods (render, renderAt, erase, eraseAt) are now applied recursively to all child game objects, ensuring that changes propagate throughout the hierarchy. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
  • The broadcast method now also propagates method calls recursively to all children, ensuring consistent behavior across the hierarchy.

Scene management and root object handling:

  • The AbstractScene class now tracks its managing SceneManager instance and improves root object registration by only adding unparented objects to the root list, preventing duplicates and maintaining a clean hierarchy. [1] [2] [3]

Rendering improvements:

  • The renderer now uses the world position of game objects for rendering calculations, improving the accuracy of sprite placement.

Environment map loading refactor:

  • Refactored environment map loading methods in AbstractScene for clarity and correctness, ensuring robust file loading and error handling. [1] [2]

These changes collectively provide a more robust, flexible, and accurate system for managing game objects and scenes, especially in complex hierarchies.

…ansform class

feat(collision): enhance collision detection with world position adjustments
feat(menu): add enable/disable functionality for menu items based on scene availability
feat(gui): introduce GUITexture class for rendering textures with color support
@amasiye amasiye merged commit 579820f into main Mar 19, 2026
0 of 2 checks passed
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.

1 participant