/// <summary> /// 初始化服务器 /// </summary> /// <param name="whenCreateWorld">是否为创建新世界时调用</param> public void InitServer(bool whenCreateWorld = false) { // 设置游戏平台 CommonPath.SetGamePlatform(); // 设置游戏平台SelectBox选择 GamePlatformSelectBox.TextIndex = CommonPath.GetGamePlatform(); // 设置SaveSlot面板按钮 SetSaveSlotRadioButton(); // 汉化 _Hanization = JsonHelper.ReadHanization(); // 控制台 CreateConsoleClassificationButton(); #region 仅创建世界时 // [创建世界]设定文件路径 if (whenCreateWorld) { _dediFilePath = new DediFilePath(SaveSlot); } // [创建世界]从modoverrides.lua读取mod设置 if (!string.IsNullOrEmpty(CommonPath.ServerModsDirPath) && whenCreateWorld) { SetModSet(); } #endregion }
/// <summary> /// 读取汉化 /// </summary> public static HanizationObject ReadHanization() { var serverConfig = JsonConvert.DeserializeObject <HanizationRootObject>(StringProcess.GetJsonString("EditWorld/Hanization.json")); var master = serverConfig.Hanization.Master; var caves = serverConfig.Hanization.Caves; var hanizationObject = new HanizationObject(); foreach (var item in master.World) { hanizationObject.Hanization.Master.World.Add(new DedicateServer.World { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in master.Resources) { hanizationObject.Hanization.Master.Resources.Add(new DedicateServer.Resources { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in master.Foods) { hanizationObject.Hanization.Master.Foods.Add(new DedicateServer.Foods { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in master.Animals) { hanizationObject.Hanization.Master.Animals.Add(new DedicateServer.Animals { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in master.Monsters) { hanizationObject.Hanization.Master.Monsters.Add(new DedicateServer.Monsters { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in caves.World) { hanizationObject.Hanization.Caves.World.Add(new DedicateServer.World { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in caves.Resources) { hanizationObject.Hanization.Caves.Resources.Add(new DedicateServer.Resources { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in caves.Foods) { hanizationObject.Hanization.Caves.Foods.Add(new DedicateServer.Foods { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in caves.Animals) { hanizationObject.Hanization.Caves.Animals.Add(new DedicateServer.Animals { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } foreach (var item in caves.Monsters) { hanizationObject.Hanization.Caves.Monsters.Add(new DedicateServer.Monsters { Key = item.Key, KeyHanization = item.KeyHanization, ValueHanization = item.ValueHanization.Split(',').ToList() }); } return(hanizationObject); }