From f5df2fba7cdadfd9e7b0e07f549b43d64ac5c6f4 Mon Sep 17 00:00:00 2001 From: physcik Date: Tue, 24 Mar 2026 18:38:32 +0500 Subject: More package concern separation --- engine/Dynamic/Manager.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'engine/Dynamic/Manager.go') diff --git a/engine/Dynamic/Manager.go b/engine/Dynamic/Manager.go index 924b4c3..4a5f70f 100644 --- a/engine/Dynamic/Manager.go +++ b/engine/Dynamic/Manager.go @@ -4,6 +4,7 @@ import ( "fmt" "os" + components "github.com/DegustatorPonos/RuinesOfRafdolon/Components" descriptors "github.com/DegustatorPonos/RuinesOfRafdolon/Dynamic/Descriptors" settings "github.com/DegustatorPonos/RuinesOfRafdolon/Settings" utils "github.com/DegustatorPonos/RuinesOfRafdolon/Utils" @@ -47,7 +48,7 @@ func loadPackages() (*PackageManager, error) { } // Loads the packages from the specified in settings directory. Panics on serious error -func Init() { +func ReadPackages() { descriptors.InitUIParser() var manager, err = loadPackages() if err != nil { @@ -58,6 +59,23 @@ func Init() { func (base *PackageManager) GetPackage(packageName string) (*Package, error) { var pack, exists = base.AvaliablePackages[packageName] - if !exists { return nil, fmt.Errorf("Failed to load package: no such package") } + if !exists { + return nil, fmt.Errorf("Failed to load package: package %s does not exist", packageName) + } return &pack, nil } + +func (base *PackageManager) IsPackageAvaliable(PkgName string) bool { + var _, exists = base.AvaliablePackages[PkgName] + return exists +} + +func (base *PackageManager) LoadPackage(PkgName string) error { + var pkg, err = base.GetPackage(PkgName) + if err != nil { + return err + } + components.Resources.LoadedPackages[pkg.Description.Name] = pkg.Description.Version + pkg.Load() + return nil +} -- cgit v1.3