private void CheckSelfMod() { _Mod = null; var path = UnityEditor.AssetDatabase.GetAssetPath(this); if (!string.IsNullOrEmpty(path)) { _Mod = ""; if (path.StartsWith("Assets/Mods/")) { path = path.Substring("Assets/Mods/".Length); var im = path.IndexOf("/"); if (im > 0) { path = path.Substring(0, im); _Mod = path; } } else if (path.StartsWith("Packages/")) { path = path.Substring("Packages/".Length); var im = path.IndexOf("/"); if (im > 0) { path = path.Substring(0, im); _Mod = EditorToClientUtils.GetModNameFromPackageName(path); } } } }
public void Init() { DFlags.AddRange(GetValidDistributeFlags()); CriticalMods.AddRange(EditorToClientUtils.GetCriticalMods()); for (int i = 0; i < DFlags.Count; ++i) { var flag = DFlags[i]; ModToPackage[flag] = EditorToClientUtils.GetPackageNameFromModName(flag); } for (int i = 0; i < CriticalMods.Count; ++i) { var flag = CriticalMods[i]; ModToPackage[flag] = EditorToClientUtils.GetPackageNameFromModName(flag); } }
public static string GetPathFromAssetName(string asset) { return(EditorToClientUtils.GetPathFromAssetName(asset)); }
public static string GetAssetNameFromPath(string path) { return(EditorToClientUtils.GetAssetNameFromPath(path)); }
public static string GetPackageNameFromModName(string mod) { return(EditorToClientUtils.GetPackageNameFromModName(mod)); }
public static string GetModNameFromPackageName(string package) { return(EditorToClientUtils.GetModNameFromPackageName(package)); }
public static string[] GetCriticalMods() { return(EditorToClientUtils.GetCriticalMods()); }
public static bool IsModOptional(string mod) { return(EditorToClientUtils.IsModOptional(mod)); }
public static string GetAssetNormPath(string rawpath, out string type, out string mod, out string dist) { if (rawpath != null) { rawpath = rawpath.Replace('\\', '/'); string norm = rawpath; mod = ""; if (rawpath.StartsWith("Assets/Mods/")) { var sub = rawpath.Substring("Assets/Mods/".Length); var index = sub.IndexOf('/'); if (index < 0) { mod = sub; type = null; dist = ""; return(""); } mod = sub.Substring(0, index); norm = sub.Substring(index + 1); } else if (rawpath.StartsWith("Packages/")) { var sub = rawpath.Substring("Packages/".Length); var index = sub.IndexOf('/'); if (index < 0) { mod = sub; } else { mod = sub.Substring(0, index); norm = sub.Substring(index + 1); } #if UNITY_EDITOR mod = EditorToClientUtils.GetModNameFromPackageName(mod); #endif if (index < 0) { type = null; dist = ""; return(""); } } else if (rawpath.StartsWith("Assets/")) { mod = ""; norm = rawpath.Substring("Assets/".Length); } else { mod = ""; dist = ""; type = null; return(rawpath); } if (norm.StartsWith("CapsSpt/")) { type = "spt"; norm = norm.Substring("CapsSpt/".Length); } else if (norm.StartsWith("CapsRes/")) { type = "res"; norm = norm.Substring("CapsRes/".Length); } else { dist = ""; type = null; if (string.IsNullOrEmpty(mod)) { return(rawpath); } else { return(norm); } } if (norm.StartsWith("dist/")) { var sub = norm.Substring("dist/".Length); var index = sub.IndexOf('/'); if (index < 0) { dist = sub; return(""); } dist = sub.Substring(0, index); norm = sub.Substring(index + 1); } else { dist = ""; } return(norm); } else { type = null; mod = null; dist = null; return(null); } }