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

            if (player == null)
            {
                return;
            }

            if (string.IsNullOrEmpty(vo.name))
            {
                foreach (var l in loadList)
                {
                    var cake = new CakeServer(l, player.psid);
                    cake.Sync();
                }

                var pdata = new PktContaData();
                pdata.id = InitValueDefs.CityID;
                responer.Response(pdata);

                AContaManager.Instance.OnEnterConta(player.psid, InitValueDefs.CityID);
            }
            else
            {
                var cake = new CakeServer(vo.name, player.psid);
                cake.Sync();
            }
        }
        private void GameHandler_CreateOrderRequest(IResponer responer, PktCreateOrderRequest vo)
        {
            var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }
            var data   = PaymentLoader.Instance.OnGetData(vo.productID);
            var result = new PktCreateOrderResult();

            if (data == null)
            {
                return;
            }
            result.eResult = PktCreateOrderResult.EResult.Success;
            var orders = new CakeServer("order", player.psid);
            var order  = orders.GetSingleItem(LibUtils.StringUtils.GetGUIDString());

            order.SetValue(ParamNameDefs.ProductID, vo.productID);
            order.SetValue(ParamNameDefs.Price, data.Price);
            result.orderID   = order.iid;
            result.extraInfo = APIWechatPay.Pay(data.Price, order.iid, $"描述:{data.Desc}");
            AOutput.Log($"result.extraInfo {result.extraInfo}");
            responer.Response(result);
        }
    public void ContaHandler_EnterConta(IResponer responer, PktEnterConta vo)
    {
        var easy = new PktEasy();

        easy.name = "EnterConta_Success";
        responer.Response(easy);
    }
        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);
        }
    private void ContaHandler_LeaveConta(IResponer responer, PktLeaveConta vo)
    {
        var easy = new PktEasy();

        easy.name = "LeaveConta_Success";
        responer.Response(easy);
    }
 public void OnSendToClient(PktBase pkt)
 {
     if (client == null)
     {
         return;
     }
     client.Response(pkt);
 }
        private void OnEnterConta(IResponer responer, Player player, PData pData)
        {
            var pkt = new PktContaData();

            if (string.IsNullOrEmpty(pData.strArg))
            {
                pkt.id = pData.intArg;
                responer.Response(pkt);
            }
            else
            {
                var cake = new CakeServer("pinfo", player.psid);
                var data = AConfigManager.Instance.OnGetMapData(pData.strArg, cake.GetIntValue(pData.strArg));
                pkt.id = data.id;
                responer.Response(pkt);
            }
            AContaManager.Instance.OnEnterConta(player.psid, pkt.id);
        }
        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);
        }
        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);
        }
示例#10
0
        private void Handler_CreateAvatar(IResponer responer, PktCreateAvatarRequest vo)
        {
            var player = AAvatarManager.Instance.OnGetPlayer(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }
            if (player.avatar != null)
            {
                return;
            }

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

            if (dbr != null)
            {
                res.eResult = PktCreateAvatarResult.EResult.MaxCount;
            }
            else
            {
                var dnr = ADBManager.Get(InitValueDefs.dbconnect, InitValueDefs.dbname).FindOneData(ParamNameDefs.TableAvatar
                                                                                                    , ADBAccessor.filter_eq(ParamNameDefs.AvatarName, vo.avatarName));
                if (dnr != null)
                {
                    res.eResult = PktCreateAvatarResult.EResult.SameName;
                }
                else
                {
                    res.eResult = PktCreateAvatarResult.EResult.Success;

                    var a = AAvatarManager.Instance.OnCreateAvatar(player.ePartnerID, player.uid, vo.avatarName, vo.sex, player);
                    res.info = a.ToPkt();
                }
            }
            responer.Response(res);
        }
        private void GameHandler_Login(IResponer responer, PktLoginRequest vo)
        {
            var res = new PktLoginResult();

            switch ((EPartnerID)vo.ePartnerID)
            {
            case EPartnerID.Test:
                if (vo.password == MD5String.Hash32(vo.username))
                {
                    res.bSuccess   = true;
                    res.ePartnerID = vo.ePartnerID;
                    res.unionid    = MD5String.Hash32(vo.password + vo.username);
                }
                break;

            default:
                break;
            }
            if (res.bSuccess)
            {
                APlayerManager.Instance.OnAddPlayer(res.unionid, (EPartnerID)vo.ePartnerID, responer);
            }
            responer.Response(res);
        }
示例#12
0
        private void Handler_EnterGame(IResponer responer, PktEnterGameRequest vo)
        {
            var player = AAvatarManager.Instance.OnGetPlayer(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.UID, player.uid));

            if (dbr != null)
            {
                var a = AAvatarManager.Instance.OnGetAvatar(player.uid);
                if (a == null)
                {
                    a = AAvatarManager.Instance.OnCreateAvatar(player.uid, dbr, player);
                }
                res.info = a.ToPkt();
            }
            responer.Response(res);
        }
示例#13
0
        private void Handler_Login(IResponer arg1, PktLoginRequest arg2)
        {
            var res = new PktLoginResult();

            switch (arg2.ePartnerID)
            {
            case PktLoginRequest.EPartnerID.Test:
                if (arg2.password == MD5String.Hash32(arg2.username))
                {
                    res.bSuccess   = true;
                    res.ePartnerID = arg2.ePartnerID;
                    res.uid        = MD5String.Hash32(arg2.password + arg2.username);
                }
                break;

            default:
                break;
            }
            if (res.bSuccess)
            {
                res.token = LibServer.Managers.ATokenManager.Instance.AddToken(res.ePartnerID, res.uid);
            }
            arg1.Response(res);
        }