public static ClassLocator MaterialBase(string modname, string organization) { string key = GetKey(nameof(MaterialBase), modname, organization); if (cache.TryGetValue(key, out ClassLocator value)) { return(value); } ClassLocator locator = new ClassLocator(ClassLocator.CombineImport(GetPackageName(modname, organization), SourceCodeFolders.Material, "MaterialBase")); CreateIfNotExist(locator.FullPath); return(cache.Set(key, locator, cacheExpirationTime)); }
public static InitClassLocator Materials(string modname, string organization) { string key = GetKey(nameof(Materials), modname, organization); if (cache.TryGetValue(key, out InitClassLocator value)) { return(value); } InitClassLocator locator = new InitClassLocator(ClassLocator.CombineImport(GetPackageName(modname, organization), Prefix + "Materials"), "MATERIALS"); CreateIfNotExist(locator.FullPath); return(cache.Set(key, locator, cacheExpirationTime)); }
public static ClassLocator Commands(string modname, string organization) { string key = GetKey(nameof(Commands), modname, organization); if (cache.TryGetValue(key, out ClassLocator value)) { return(value); } ClassLocator locator = new ClassLocator(ClassLocator.CombineImport(GetPackageName(modname, organization), Prefix + "Commands")); CreateIfNotExist(locator.FullPath); return(cache.Set(key, locator, cacheExpirationTime)); }
public static ClassLocator CustomCommand(string modname, string organization, string className) { string key = GetKey(nameof(CustomCommand), modname, organization, className); if (cache.TryGetValue(key, out ClassLocator value)) { return(value); } ClassLocator locator = new ClassLocator(ClassLocator.CombineImport(GetPackageName(modname, organization), SourceCodeFolders.Command, className)); CreateIfNotExist(locator.FullPath); return(cache.Set(key, locator, cacheExpirationTime)); }
/// <summary> Returns package name in root com.organization.modname.root </summary> private static string GetPackageName(string modname, string organization) => ClassLocator.CombineImport("com", organization, modname, SourceCodeFolders.Root);