/// <summary> /// 添加数据. /// </summary> void AddFreePlayGamePlayerInfo(int userId, System.DateTime timeVal) { FreePlayGamePlayerData playerDt = m_FreePlayGamePlayerDataList.Find((dt) => { return(dt.UserId.Equals(userId)); }); if (playerDt == null) { m_FreePlayGamePlayerDataList.Add(new FreePlayGamePlayerData(userId, timeVal)); } }
/// <summary> /// 当玩家血值耗尽后更新时间数据. /// </summary> internal void SetFreePlayGamePlayerInfoTime(int userId) { FreePlayGamePlayerData playerDt = m_FreePlayGamePlayerDataList.Find((dt) => { return(dt.UserId.Equals(userId)); }); if (playerDt != null) { playerDt.TimeVal = System.DateTime.Now; //将玩家信息存入配置信息文件中. WriteGamePlayerData(); } }
/// <summary> /// 获取登录游戏的玩家是否可以免费试玩游戏. /// </summary> bool GetLoginPlayerIsCanFreePlayGame(int userId) { bool isCanFreePlayGame = false; FreePlayGamePlayerData playerDt = m_FreePlayGamePlayerDataList.Find((dt) => { return(dt.UserId.Equals(userId)); }); if (playerDt == null) { //可以免费试玩游戏. isCanFreePlayGame = true; } else { //数据列表里有玩家的记录信息. System.DateTime timeNow = System.DateTime.Now; System.DateTime timeRecord = playerDt.TimeVal; System.TimeSpan ts1 = new System.TimeSpan(timeNow.Ticks); System.TimeSpan ts2 = new System.TimeSpan(timeRecord.Ticks); System.TimeSpan ts = ts2.Subtract(ts1).Duration(); //int dTime = ts.Hours * 3600 + ts.Minutes * 60 + ts.Seconds; int dTime = (int)ts.TotalSeconds; int minTime = XKGlobalData.GetInstance().m_TimeMianFeiNum * 60; //秒. if (dTime > minTime) { //playerDt.TimeVal = System.DateTime.Now; //时间差值大于免费间隔时间后,可以被激活. //可以免费试玩游戏. isCanFreePlayGame = true; } //SSDebug.LogWarning("GetLoginPlayerIsCanFreePlayGame -> dTime =============== " + dTime + "s"); } //yyyy - MM - dd hh: mm: ss //System.DateTime t1 = System.DateTime.Now; //System.DateTime t2 = System.Convert.ToDateTime("2019-01-07 13:45:10"); //System.TimeSpan ts11 = new System.TimeSpan(t1.Ticks); //System.TimeSpan ts21 = new System.TimeSpan(t2.Ticks); //System.TimeSpan ts00 = ts21.Subtract(ts11).Duration(); //int dTime11 = ts00.Hours * 3600 + ts00.Minutes * 60 + ts00.Seconds; //SSDebug.Log("GetLoginPlayerIsCanFreePlayGame -> dTime =============== " + dTime11 + "s"); return(isCanFreePlayGame); }
/// <summary> /// 添加免费试玩游戏的玩家信息. /// </summary> bool AddFreePlayGamePlayerInfo(int userId) { bool isCanFreePlayGame = false; FreePlayGamePlayerData playerDt = m_FreePlayGamePlayerDataList.Find((dt) => { return(dt.UserId.Equals(userId)); }); if (playerDt == null) { playerDt = new FreePlayGamePlayerData(); playerDt.UserId = userId; m_FreePlayGamePlayerDataList.Add(playerDt); //免费试玩游戏玩家信息记录12个,超过12个后之前被挤出的玩家可以再次免费试玩游戏! if (m_FreePlayGamePlayerDataList.Count > 12) { //删除试玩游戏玩家列表信息的第一个元素. m_FreePlayGamePlayerDataList.RemoveAt(0); } //可以免费试玩游戏. isCanFreePlayGame = true; } return(isCanFreePlayGame); }
/// <summary> /// 获取玩家是否可以免费试玩游戏. /// </summary> bool GetPlayerIsCanFreePlayGame(int userId) { bool isCanFreePlayGame = false; FreePlayGamePlayerData playerDt = m_FreePlayGamePlayerDataList.Find((dt) => { return(dt.UserId.Equals(userId)); }); if (playerDt == null) { playerDt = new FreePlayGamePlayerData(); playerDt.UserId = userId; playerDt.TimeVal = System.DateTime.Now; m_FreePlayGamePlayerDataList.Add(playerDt); //免费试玩游戏玩家信息记录m_MaxPlayerNum个,超过m_MaxPlayerNum个后之前被挤出的玩家可以再次免费试玩游戏! if (m_FreePlayGamePlayerDataList.Count > m_MaxPlayerNum) { //删除试玩游戏玩家列表信息的第一个元素. m_FreePlayGamePlayerDataList.RemoveAt(0); } //将玩家信息存入配置信息文件中. WriteGamePlayerData(); //可以免费试玩游戏. isCanFreePlayGame = true; } else { //数据列表里有玩家的记录信息. System.DateTime timeNow = System.DateTime.Now; System.DateTime timeRecord = playerDt.TimeVal; System.TimeSpan ts1 = new System.TimeSpan(timeNow.Ticks); System.TimeSpan ts2 = new System.TimeSpan(timeRecord.Ticks); System.TimeSpan ts = ts2.Subtract(ts1).Duration(); //int dTime = ts.Hours * 3600 + ts.Minutes * 60 + ts.Seconds; int dTime = (int)ts.TotalSeconds; //时间差的秒数信息. if (ts.TotalMinutes > XKGlobalData.GetInstance().m_TimeMianFeiNum) { dTime = (XKGlobalData.GetInstance().m_TimeMianFeiNum + 1) * 60; //时间间隔已经足够. } else { dTime = (int)ts.TotalSeconds; //时间间隔秒数. } int minTime = XKGlobalData.GetInstance().m_TimeMianFeiNum * 60; //秒. if (dTime > minTime) { playerDt.TimeVal = System.DateTime.Now; //时间差值大于免费间隔时间后,可以被激活. //可以免费试玩游戏. isCanFreePlayGame = true; //将玩家信息存入配置信息文件中. WriteGamePlayerData(); } //SSDebug.Log("GetPlayerIsCanFreePlayGame -> dTime =============== " + dTime + "s"); } //yyyy - MM - dd hh: mm: ss //System.DateTime t1 = System.DateTime.Now; //System.DateTime t2 = System.Convert.ToDateTime("2019-01-07 13:45:10"); //System.TimeSpan ts11 = new System.TimeSpan(t1.Ticks); //System.TimeSpan ts21 = new System.TimeSpan(t2.Ticks); //System.TimeSpan ts00 = ts21.Subtract(ts11).Duration(); //int dTime11 = ts00.Hours * 3600 + ts00.Minutes * 60 + ts00.Seconds; //SSDebug.Log("AddFreePlayGamePlayerInfo -> dTime =============== " + dTime11 + "s"); return(isCanFreePlayGame); }