using ProtoCSStruct; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Sog; namespace Game { public static class PlayerDataExtension { public static int GetLevel(this PlayerOnGame player) { return player.RoleData.Knight.DbHero.Level; } public static long GetGold(this PlayerOnGame player) { var idx = UnifyOp.GetIndexById(player, ItemId.Gold); return idx < 0 ? 0 : player.RoleData.PandoraBag.ItemList[idx].Count; } public static long GetDiamond(this PlayerOnGame player) { var idx = UnifyOp.GetIndexById(player, ItemId.Diamond); return idx < 0 ? 0 : player.RoleData.PandoraBag.ItemList[idx].Count; } public static int GetExp(this PlayerOnGame player) { return player.RoleData.Knight.DbHero.Exp; } public static int GetHeroExpPool(this PlayerOnGame player) { return 0; } public static int GetVipLevel(this PlayerOnGame player) { return player.RoleBase.VipLevel; } public static string GetNick(this PlayerOnGame player) { return player.RoleBase.Nick.GetString(); } public static int GetGender(this PlayerOnGame player) { return player.RoleBase.Gender; } public static int GetIconFrame(this PlayerOnGame player) { return player.RoleData.IconFrameData.IconFrameId; } public static string GetIcon(this PlayerOnGame player) { return player.RoleBase.Icon.GetString(); } public static int GetClientVipLevel(this PlayerOnGame player) { int trueLevel = player.RoleBase.VipLevel; return trueLevel; } public static int GetVipExp(this PlayerOnGame player) { return player.RoleBase.VipExp; } //检查货币的还是放在这里 public static CSErrCode CheckMoneyNum(this PlayerOnGame player ,int Type, long CheckNum) { if (Type == (int)CurrencyType.Chip) { if (player.RoleBase.Chip < CheckNum) { return CSErrCode.CostChipNotEnough; } } else if (Type == (int)CurrencyType.Diamond) { if (player.GetDiamond() < CheckNum) { return CSErrCode.CostDiamondNotEnough; } } else { return CSErrCode.SysFailure; } return CSErrCode.None; } public static int GetBigReamlId(this PlayerOnGame player) { var configRealm = GameServerUtils.GetGameServerData().m_configRealm; var realmBrief = configRealm.FirstOrDefault(r => r.realmId == player.RealmID); if(realmBrief != null) { return realmBrief.bigRealmId; } return 0; } } }