using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using System.IO;
|
using System.Text;
|
|
/// <summary>
|
/// 首包语言管理类
|
/// </summary>
|
public class FirstPackLang
|
{
|
private static FirstPackLang _instance;
|
private Dictionary<string, string> _langDict = new Dictionary<string, string>();
|
private List<string> _langList = new List<string>();
|
|
// 语言文本索引
|
public static class TextIndex
|
{
|
public const int HotUpdate = 0;
|
public const int InitSDK = 1;
|
public const int ExtractResources = 2;
|
public const int CheckVersion = 3;
|
public const int EnterHotUpdateAssembly = 4;
|
public const int PrepareUpdate = 5;
|
public const int SkipHotUpdate = 6;
|
public const int LatestVersion = 7;
|
public const int DownloadingUpdate = 8;
|
public const int ApplyingUpdate = 9;
|
public const int RestartRequired = 10;
|
public const int InitializingSDK = 11;
|
public const int CheckingResources = 12;
|
public const int ExtractingResources = 13;
|
public const int ResourceCheckComplete = 14;
|
public const int CheckingVersion = 15;
|
public const int MinorUpdateDetected = 16;
|
public const int MediumUpdateDetected = 17;
|
public const int MajorUpdateDetected = 18;
|
public const int EnteringGame = 19;
|
|
// LaunchLoadingWin 相关文本
|
public const int LoadingResources = 20; // 正在加载游戏资源...
|
public const int CheckingVersionUpdate = 21; // 正在检查版本更新...
|
public const int InitializingGame = 22; // 正在初始化游戏...
|
public const int EnteringGameWorld = 23; // 准备进入游戏世界...
|
}
|
|
public static FirstPackLang Instance
|
{
|
get
|
{
|
if (_instance == null)
|
{
|
_instance = new FirstPackLang();
|
_instance.Init();
|
}
|
return _instance;
|
}
|
}
|
|
private void Init()
|
{
|
LoadLanguageFile();
|
}
|
|
private void LoadLanguageFile()
|
{
|
TextAsset textAsset = Resources.Load<TextAsset>("firstpackLang");
|
if (textAsset == null)
|
{
|
Debug.LogError("无法加载语言文件: firstpackLang.txt");
|
return;
|
}
|
|
string[] lines = textAsset.text.Split('\n');
|
for (int i = 0; i < lines.Length; i++)
|
{
|
string line = lines[i].Trim();
|
if (!string.IsNullOrEmpty(line))
|
{
|
_langList.Add(line);
|
_langDict[line] = i.ToString();
|
}
|
}
|
|
Debug.Log($"已加载 {_langList.Count} 条语言条目");
|
}
|
|
/// <summary>
|
/// 通过索引获取文本
|
/// </summary>
|
public string GetText(int index)
|
{
|
if (index >= 0 && index < _langList.Count)
|
{
|
return _langList[index];
|
}
|
return $"[Missing Text: {index}]";
|
}
|
|
/// <summary>
|
/// 通过原始中文获取索引
|
/// </summary>
|
public int GetIndex(string originalText)
|
{
|
if (_langDict.TryGetValue(originalText, out string indexStr))
|
{
|
return int.Parse(indexStr);
|
}
|
return -1;
|
}
|
}
|