private void GameHandler_DailyCheckRequest(IResponer responer, PktDailyCheckRequest vo)
        {
            var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }
            var pinfo = new CakeAvatar(player.psid);

            if (ApiDateTime.IsSameDay(pinfo.GetIntValue(ParamNameDefs.LastDailyCheckTime)))
            {
                return;
            }
            var count = pinfo.GetIntValue(ParamNameDefs.DailyCheckCount);
            var data  = DailyCheckLoader.Instance.OnGetData(count + 1);

            if (data == null)
            {
                count = 1;
                data  = DailyCheckLoader.Instance.OnGetData(count);
            }
            SCommonds.AddItem("dailycheck", player.psid, data.itemID, data.itemCount);
            pinfo.SetValue(ParamNameDefs.LastDailyCheckTime, ApiDateTime.SecondsFromBegin());
            var pkt = new PktDailyCheckResult();

            pkt.eResult = PktDailyCheckResult.EResult.Success;
            pkt.lItems.Add(new Int2()
            {
                int1 = data.itemID, int2 = data.itemCount
            });
            responer.Response(pkt);
        }
Esempio n. 2
0
    public void OnAddAvatar(CakeAvatar avatar, Player player)
    {
        var avatarid = avatar.id;

        if (dPlayers.ContainsKey(avatarid))
        {
            dPlayers[avatarid].OnDisconnect();
            dPlayers.Remove(avatarid);
        }
        dPlayers.Add(avatarid, player);
        player.avatarCake = avatar;
    }
Esempio n. 3
0
    public static void DailyCheck(string psid)
    {
        var cake = new CakeAvatar(psid);

        if (ApiDateTime.IsSameDay(cake.GetIntValue(ParamNameDefs.LastDailyCheckTime)))
        {
            return;
        }
        var icount = cake.AddValue(ParamNameDefs.DailyCheckCount);
        var data   = DailyCheckLoader.Instance.OnGetData(icount);

        if (data == null)
        {
            icount = 1;
            cake.SetValue(ParamNameDefs.DailyCheckCount, icount);
            data = DailyCheckLoader.Instance.OnGetData(icount);
        }
    }
        private void GameHandler_EnterGame(IResponer responer, PktEnterGameRequest vo)
        {
            var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }

            var res = new PktEnterGameResult();
            var dbr = ADBManager.Get(InitValueDefs.dbconnect, InitValueDefs.dbname).FindOneData(ParamNameDefs.TableAvatar
                                                                                                , ADBAccessor.filter_eq(ParamNameDefs.PartnerID, (int)player.ePartnerID) & ADBAccessor.filter_eq(ParamNameDefs.UnionID, player.unionid));

            if (dbr != null)
            {
                var c = new CakeAvatar(dbr[ParamNameDefs.CollectionID].ToString());
                APlayerManager.Instance.OnAddAvatar(c, player);
                res.info = c.ToPkt();
            }
            responer.Response(res);
        }
        private void GameHandler_CreateAvatar(IResponer responer, PktCreateAvatarRequest vo)
        {
            var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }
            var res = new PktCreateAvatarResult();
            {
                var dbr = ADBManager.Get(InitValueDefs.dbconnect, InitValueDefs.dbname).FindOneData(ParamNameDefs.TableAvatar
                                                                                                    , ADBAccessor.filter_eq(ParamNameDefs.AvatarName, vo.avatarName)
                                                                                                    | ADBAccessor.filter_eq(ParamNameDefs.UnionID, player.unionid)
                                                                                                    , ADBAccessor.projections(ParamNameDefs.AvatarLevel));
                if (dbr != null)
                {
                    res.eResult = PktCreateAvatarResult.EResult.SameName;
                    responer.Response(res);
                    return;
                }
            }
            {
                var dbr = ADBManager.Get(InitValueDefs.dbconnect, InitValueDefs.dbname).FindOneData(ParamNameDefs.TableAvatar
                                                                                                    , ADBAccessor.filter_eq(ParamNameDefs.UnionID, player.unionid), ADBAccessor.projections(ParamNameDefs.AvatarLevel));
                if (dbr != null)
                {
                    res.eResult = PktCreateAvatarResult.EResult.MaxCount;
                    responer.Response(res);
                    return;
                }
            }
            var psid = ObjectId.GenerateNewId().ToString();
            var cake = new CakeAvatar(psid);

            cake.Create(player.unionid, player.ePartnerID, vo.avatarName, vo.sex);
            APlayerManager.Instance.OnAddAvatar(cake, player);
            res.info    = cake.ToPkt();
            res.eResult = PktCreateAvatarResult.EResult.Success;
            responer.Response(res);
        }