// PUBLIC STATIC METHODS: ----------------------------------------------------------------- public static AssetManifest GetInstance() { if (AssetManifest.Instance != null) { return(AssetManifest.Instance); } AssetManifest manifest; string absPath = Path.Combine(Application.dataPath, Path.Combine(ASSET_PATH, ASSET_NAME)); string relPath = string.Format(RELATIVE_PATH, ASSET_PATH, ASSET_NAME); if (File.Exists(absPath)) { manifest = AssetDatabase.LoadAssetAtPath <AssetManifest>(relPath); } else { string dirPath = string.Format(RELATIVE_PATH, ASSET_PATH, ""); GameCreatorUtilities.CreateFolderStructure(dirPath); manifest = ScriptableObject.CreateInstance <AssetManifest>(); AssetDatabase.CreateAsset(manifest, relPath); } AssetManifest.Instance = manifest; return(AssetManifest.Instance); }
private static void RemoveManifest(Module module) { if (module == null) { return; } AssetManifest.GetInstance().RemoveModule(module); }
private static void UpdateManifest(Module module) { if (module == null) { return; } AssetManifest.GetInstance().UpdateManifest(module); }
private static void LoadProjectModules() { PROJECT_MODULES = new Dictionary <string, ModuleManifest>(); ModuleManifest[] manifests = AssetManifest.GetInstance().GetManifests(); for (int i = 0; i < manifests.Length; ++i) { string mid = manifests[i].module.moduleID; if (string.IsNullOrEmpty(mid)) { continue; } if (PROJECT_MODULES.ContainsKey(mid)) { Debug.LogErrorFormat("Duplicate module id {0}. Skipping initialization", mid); continue; } PROJECT_MODULES.Add(mid, manifests[i]); } }
// INITIALIZERS: -------------------------------------------------------------------------- private void OnEnable() { this.manifest = (AssetManifest)target; }