summaryrefslogtreecommitdiff
path: root/engine/Components/ResourceManager.go
diff options
context:
space:
mode:
Diffstat (limited to 'engine/Components/ResourceManager.go')
-rw-r--r--engine/Components/ResourceManager.go16
1 files changed, 12 insertions, 4 deletions
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 {