using System; using System.Collections.Generic; using System.Diagnostics; using GameData; using Newtonsoft.Json; using Server.Module; using Server.Pack; using Debug = MrWu.Debug.Debug; namespace Server { /// /// 后台管理 /// public partial class LuckPlayerManager { public const string Pwd = "5566778899"; public HashSet Users = new HashSet() { 243638,243634 }; public void AddBalanceConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { AddClubBalanceConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("AddBalanceConfig 密码错误!"); return; } if (pack.Config.BalanceValue < 1000 || pack.Config.BeiLv <= 0 || pack.Config.FightCnt < 1) { Debug.Error("参数不合理!"); return; } if (LuckPlayerManager.Instance.AddBalanceRange(pack.Config.BeiLv, pack.Config.FightCnt, pack.Config.BalanceValue)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行添加俱乐部数据平衡报错:{e.Message}"); } } public void RemoveBalanceConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { RemoveClubBalanceConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("RemoveBalanceConfig 密码错误!"); return; } if (LuckPlayerManager.Instance.RemoveBalanceRange(pack.Config.BeiLv, pack.Config.FightCnt)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行移除俱乐部数据平衡报错:{e.Message}"); } } public void EditorBalanceConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { EditorBalancePlayerConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("EditorBalanceConfig 密码错误!"); return; } if (pack.Config.BalanceValue < 1000 || pack.Config.BeiLv <= 0 || pack.Config.FightCnt < 1) { Debug.Error("参数不合理!"); return; } if (LuckPlayerManager.Instance.SetBalanceRange(pack.Config.BeiLv, pack.Config.FightCnt, pack.Config.BalanceValue)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"编辑俱乐部数据平衡报错:{e.Message}"); } } public void GetBalanceConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { GetClubBalanceConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("GetBalanceConfig 密码错误!"); return; } List configs = new List(); foreach (var balanceRange in LuckPlayerManager.Instance.GetAllBalanceRange()) { if (pack.Config == null || Math.Abs(GetBalanceRangeId(pack.Config.BeiLv, pack.Config.FightCnt) - balanceRange.Id) < 0.001F) { configs.Add(new ClubBalanceConfig() { BeiLv = balanceRange.BeiLv, FightCnt = balanceRange.MaxFightCnt, BalanceValue = balanceRange.BalanceValue }); } } pack.Configs = configs; GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行获取俱乐部数据平衡报错:{e.Message}"); } } public void AddBalancePlayerConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { AddBalancePlayerConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("AddBalancePlayerConfig 密码错误!"); return; } if (LuckPlayerManager.Instance.AddBalancePlayer(pack.Userid)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行添加俱乐部数据平衡报错:{e.Message}"); } } public void RemoveBalancePlayerConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); } try { RemoveBalancePlayerConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("RemoveBalancePlayerConfig 密码错误!"); return; } if (LuckPlayerManager.Instance.RemoveBalancePlayer(pack.Userid)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行移除俱乐部数据平衡报错:{e.Message}"); } } public void EditorBalancePlayerConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { EditorBalancePlayerConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("EditorBalancePlayerConfig 密码错误!"); return; } if (LuckPlayerManager.Instance.SetSessionFightScore(pack.Config.BeiLv, pack.Config.FightCnt, pack.Userid, pack.Score)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行编辑俱乐部数据平衡报错:{e.Message}"); } } public void GetBalancePlayerConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { GetBalancePlayerConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("GetBalancePlayerConfig 密码错误!"); return; } List configs = new List(); foreach (var tuple in LuckPlayerManager.Instance.GetBalancePlayers(pack.Userid)) { ClubBalanceConfig balanceConfig = new ClubBalanceConfig() { BeiLv = tuple.Item1.BeiLv, FightCnt = tuple.Item1.MaxFightCnt, BalanceValue = tuple.Item1.BalanceValue }; configs.Add(new ClubBalancePlayerConfig() { Userid = pack.Userid, Score = tuple.Item2.Score, Config = balanceConfig }); } pack.Configs = configs; GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行获取俱乐部数据平衡报错:{e.Message}"); } } public void AddRoomRateRuleConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { AddRoomRateRuleConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("AddRoomRateRuleConfig 密码错误!"); return; } BalanceRoomRateConfig config = pack.Config; if (AddRoomRateRule(config.BeiLv, config.FightCnt, config.ModeType)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行AddRoomRateRuleConfig报错:{e.Message}"); } } public void RemoveRoomRateRuleConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { RemoveRoomRateRuleConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("RemoveRoomRateRuleConfig 密码错误!"); return; } BalanceRoomRateConfig config = pack.Config; if (RemoveRoomRateRule(config.BeiLv, config.FightCnt)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行RemoveRoomRateRuleConfig报错:{e.Message}"); } } public void AddRoomRateRuleItemConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { AddRoomRateItemRuleConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("AddRoomRateItemRuleConfig 密码错误!"); return; } BalanceRoomRateConfig config = pack.Config; if (AddRoomRateRuleItem(config.BeiLv, config.FightCnt, pack.MinScore, pack.MaxScore, pack.RoomRate)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error("执行AddRoomRateItemRuleConfig报错:{e.Message}"); } } public void RemoveRoomRateRuleItemConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { RemoveRoomRateItemRuleConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("RemoveRoomRateItemRuleConfig 密码错误!"); return; } BalanceRoomRateConfig config = pack.Config; if (RemoveRoomRateRuleItem(config.BeiLv, config.FightCnt, pack.MinScore, pack.MaxScore,pack.RoomRate)) { pack.Result = 1; } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行RemoveRoomRateItemRuleConfig报错:{e.Message}"); } } public void GetRoomRateRuleConfig(GamePack gamePack) { if (!Users.Contains(gamePack.Head.userid)) { Debug.Error($"非管理员用户:{gamePack.Head.userid}"); return; } try { GetRoomRateConfigPack pack = JsonPack.GetData(gamePack.JsonData); if (pack.Pwd != Pwd) { Debug.Error("RemoveRoomRateItemRuleConfig 密码错误!"); return; } BalanceRoomRateConfig config = pack.Config; BalanceRoomRateRule rule = GetRoomRateRule(config.BeiLv, config.FightCnt); pack.Items = new List(); if (rule != null && rule.Ranges != null) { for (int i = 0; i < rule.Ranges.Count; i++) { pack.Items.Add(new BalanceRoomRateItemConfig() { MinScore = rule.Ranges[i].MinScore, MaxScore = rule.Ranges[i].MaxScore, Rate = rule.Ranges[i].Rate }); } } GameNet.SendPack(gamePack.pl, gamePack.Head, pack); } catch (Exception e) { Debug.Error($"执行GetRoomRateRuleConfig报错:{e.Message}"); } } } }