コード例 #1
0
        /// <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));
            }
        }
コード例 #2
0
        /// <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();
            }
        }
コード例 #3
0
        /// <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);
        }
コード例 #5
0
        /// <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);
        }