You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

76 lines
2.5 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Sog;
using ProtoCSStruct;
namespace World
{
/// <summary>
/// 支付信息,用来做频率限制等等操作,由于玩家数据在world会cache很久,比较适合放在这里
/// </summary>
public struct PayInfoWorld
{
public long LastCheckTime;
public int PayCountToday;
//客户端告诉服务器google支付成功,但是服务器到数据库校验失败的次数,多了肯定是外挂了
public int PayGoogleSuccessReqFailedCount;
public int PaySuccessTotalCount;//玩家总支付次数,用来区分是不是付费用户
}
public class PlayerInfoWorld
{
public static uint PlayerLoginSerialNum = 0;
public uint CurLoginSerialNum;
public long Chip => roleBase.Chip;
public long Diamond => roleBase.Diamond;
public bool IsRobot => UserID < 10000;
public uint BattleServerID;
public long UserID; //用户id
public int RealmID;
public AccountInfo accountInfo;
public DBRoleBase roleBase;
public DBSysData sysData;
public DBExtData extData;
public string Lang; //语言
public string IpAddr = ""; //ip地址
public uint GameServerID; //用户所在的游戏服务器id
public uint ChatServerID;//用户所在的聊天服务器ID
public long LoginTime; //登录时间
public long LogoutTime; //登出时间
public long ActTimeSecond;//活动时间
public bool IsOnline; // 是否在线
public long LoginToken; //登陆标记
public PayInfoWorld PayInfo = new PayInfoWorld();
//举报这个玩家的玩家列表
//在内存里存一下就可以了,不需要存数据库
//key uid,value time ,超时需要删除
public Dictionary<long, long> TipOffList = new Dictionary<long, long>();
public long GagChatEndTime; //禁言到期时间
//由于PlayerInfoWorld会下线超时删除,这个版本号单独保存在m_sendMailWithRulePlayerVersion
//public int SendMailWithRuleVersionSeq;
public int todayBrokenCount;
}
public class WaitInLlineLoginPlayer
{
public long UserID; //用户id
public long playersessionID;
public long WaitBeginTime;//开始等待时间
public long BeginDisConTime;//排队等待时离线开始时间(在等待的过程中断线或离线了,在一定时间内重新进入不需要加入排队列表)
}
}