public bool InitLocateSystem(LOCATE CurrentLocate) { locate = CurrentLocate; ucsGameStr = new LocateUCSFile("GameStrings.ucs", locate, LocateFileStorageType.Engine); ucsGameUI = new LocateUCSFile("GameUI.ucs", locate, LocateFileStorageType.Engine); ucsGameQuickStr = new LocateUCSFile("GameQuickString.ucs", locate, LocateFileStorageType.Engine); isInit = true; ucsGameStr.Prepare(); ucsGameUI.Prepare(); DirectoryInfo di = new DirectoryInfo("./locate/"); FileSystemInfo[] fsi = di.GetFileSystemInfos(); foreach (var dir in fsi) { if (File.Exists(string.Format(@"{0}\GameQuickString.ucs", dir.FullName)) && File.Exists(string.Format(@"{0}\GameStrings.ucs", dir.FullName)) && File.Exists(string.Format(@"{0}\GameUI.ucs", dir.FullName))) { //valid locate directory RegisterLocate(dir.Name); } } if (ucsGameStr.Process() && ucsGameUI.Process() && ucsGameQuickStr.Process()) { return(true); } else { return(false); } }
public string LOC(LocateFileType file, string str) { file = LocateFileType.GameQuickString; LocateUCSFile ucs = GetUCSInstanceByType(file); string localizedStr = null; localizedStr = GetLocalizedString(LocateFileType.GameQuickString, ucs.GenerateQuickStrKeyIfNotExist(str)); return(localizedStr); }
public bool InitLocateSystem(LOCATE CurrentLocate) { locate = CurrentLocate; ucsGameStr = new LocateUCSFile("GameStrings.ucs", locate, LocateFileStorageType.Engine); ucsGameUI = new LocateUCSFile("GameUI.ucs", locate, LocateFileStorageType.Engine); ucsGameQuickStr = new LocateUCSFile("GameQuickString.ucs", locate, LocateFileStorageType.Engine); isInit = true; ucsGameStr.Prepare(); ucsGameUI.Prepare(); currentLanguage = supprotedLanguages.Where(o => o.ID == CurrentLocate.ToString()).FirstOrDefault(); if (currentLanguage == null) { GameManager.Instance.log.LogMessage( string.Format( "The specific locate `{0}` isn't supported!", CurrentLocate.ToString()), LogMessage.LogType.Warning ); } DirectoryInfo di = new DirectoryInfo("./locate/"); FileSystemInfo[] fsi = di.GetFileSystemInfos(); foreach (var dir in fsi) { if (File.Exists(string.Format(@"{0}\GameQuickString.ucs", dir.FullName)) && File.Exists(string.Format(@"{0}\GameStrings.ucs", dir.FullName)) && File.Exists(string.Format(@"{0}\GameUI.ucs", dir.FullName))) { //valid locate directory RegisterLocate(dir.Name); } } if (ucsGameUI.Process() && ucsGameStr.Process() && ucsGameQuickStr.Process()) { if (!modUCSFiles.ContainsKey("common")) { modUCSFiles.Add("common", new List <LocateUCSFile>()); } modUCSFiles["common"].Add(ucsGameUI); modUCSFiles["common"].Add(ucsGameStr); modUCSFiles["common"].Add(ucsGameQuickStr); return(true); } else { return(false); } }
public void AddModLocateFile(string modID, string fullPath) { LocateUCSFile ucsFile = new LocateUCSFile(fullPath, locate, LocateFileStorageType.Default); ucsFile.Process(); if (!modUCSFiles.ContainsKey(modID)) { modUCSFiles.Add(modID, new List <LocateUCSFile>()); } modUCSFiles[modID].Add(ucsFile); }
public string GetLocalizedString(LocateFileType fileType, string ID) { LocateUCSFile ucs = GetUCSInstanceByType(fileType); if (ucs != null) { string res = ucs.SeekValueByKey(ID); if (!string.IsNullOrEmpty(res)) { return(res); } } return(string.Format("$No Such Key '{0}'!", ID)); }
private LocateUCSFile GetUCSInstanceByType(LocateFileType fileType) { LocateUCSFile ucs = null; switch (fileType) { case LocateFileType.GameString: ucs = ucsGameStr; break; case LocateFileType.GameUI: ucs = ucsGameUI; break; case LocateFileType.GameQuickString: ucs = ucsGameQuickStr; break; } return(ucs); }
protected virtual void Dispose(bool disposing) { if (disposed) { return; } if (disposing) { if (ucsGameStr != null) { ucsGameStr.Dispose(); ucsGameStr = null; } if (ucsGameUI != null) { ucsGameUI.Dispose(); ucsGameUI = null; } } disposed = true; }
public void AddModLocateFile(string fullPath) { LocateUCSFile ucsFile = new LocateUCSFile(fullPath, locate, LocateFileStorageType.Default); modUCSFiles.Add(ucsFile); }