using System; using System.IO; using System.Text; using ColdMint.scripts.camp; using ColdMint.scripts.database; using ColdMint.scripts.dataPack; using ColdMint.scripts.debug; using Godot; using SQLitePCL; namespace ColdMint.scripts.loader.uiLoader; /// /// UI loader for the main menu /// 主菜单的UI加载器 /// public partial class MainMenuLoader : UiLoaderTemplate { private Button _startGameButton; private Label _copyrightLabel; private StringBuilder _copyrightBuilder; private PackedScene _gameScene; private Label _sloganLabel; private Label _versionLabel; public override async void InitializeData() { //Register the corresponding encoding provider to solve the problem of garbled Chinese path of the compressed package //注册对应的编码提供程序,解决压缩包中文路径乱码问题 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); //创建游戏数据文件夹 var dataPath = Config.GetGameDataDirectory(); if (dataPath != null && !Directory.Exists(dataPath)) { Directory.CreateDirectory(dataPath); } //创建数据库文件夹 var dataBasePath = Config.GetDataBaseDirectory(); if (!Directory.Exists(dataBasePath)) { Directory.CreateDirectory(dataBasePath); } DataBaseManager.InitDataBases(dataBasePath); //创建数据包文件夹 var dataPackPath = Config.GetDataPackDirectory(); if (!Directory.Exists(dataPackPath)) { Directory.CreateDirectory(dataPackPath); } await DataPackManager.ScanAllDataPack(dataPackPath); //Registered camp //注册阵营 var defaultCamp = new Camp(Config.CampId.Default); defaultCamp.FriendInjury = true; CampManager.SetDefaultCamp(defaultCamp); var mazoku = new Camp(Config.CampId.Mazoku); CampManager.AddCamp(mazoku); var aborigines = new Camp(Config.CampId.Aborigines); CampManager.AddCamp(aborigines); _gameScene = (PackedScene)GD.Load("res://scenes/game.tscn"); } public override void InitializeUI() { _startGameButton = GetNode