三国卡牌客户端基础资源仓库
yyl
2025-04-23 7816f15f2e98a0faa2bdbc50307c7506cbb9a6b7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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;
    }
}