From 3ba197732d13d84eca0d706218b38d4f84cecba9 Mon Sep 17 00:00:00 2001 From: Physcik Date: Sun, 25 Jan 2026 01:11:59 +0500 Subject: Object scene registry --- engine/Components/ResourceManager.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'engine/Components/ResourceManager.go') diff --git a/engine/Components/ResourceManager.go b/engine/Components/ResourceManager.go index 3e62a6b..cbccf5f 100644 --- a/engine/Components/ResourceManager.go +++ b/engine/Components/ResourceManager.go @@ -14,7 +14,7 @@ var Resources ResourceManager type ResourceManager struct { LoadedPackages map[string]*settings.AppVersion Textures TextrueManager - Objects map[string]*coreobjects.DynamicObject + objects map[string]*coreobjects.DynamicObject Worlds map[string]*World } @@ -22,7 +22,7 @@ func InitManager() { Resources = ResourceManager{ LoadedPackages: make(map[string]*settings.AppVersion), Worlds: make(map[string]*World), - Objects: make(map[string]*coreobjects.DynamicObject), + objects: make(map[string]*coreobjects.DynamicObject), Textures: TextrueManager{ Textures: make([]*rl.Texture2D, 0), NameToId: make(map[string]uint64), @@ -32,13 +32,21 @@ func InitManager() { func (base *ResourceManager) RegisterObject(PackageName string, obejctName string, new *coreobjects.DynamicObject) error { var displayName = fmt.Sprintf("%s/%s", PackageName, obejctName) - if _, exists := base.Objects[displayName]; exists { + if _, exists := base.objects[displayName]; exists { return fmt.Errorf("Failed to register the obejct: another obejct with that name already exists") } - base.Objects[displayName] = new + base.objects[displayName] = new return nil } +func (base *ResourceManager) GetObject(name string) (*coreobjects.DynamicObject, error) { + var obj, exists = base.objects[name] + if !exists { + return nil, fmt.Errorf("An object '%s' was not found", name) + } + return obj, nil +} + func (base *ResourceManager) String() string { var outp, jsonErr = json.Marshal(base) if jsonErr != nil { -- cgit v1.3