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);
        }
        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 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();
            }
        }
    public void ContaHandler_EnterConta(IResponer responer, PktEnterConta vo)
    {
        var easy = new PktEasy();

        easy.name = "EnterConta_Success";
        responer.Response(easy);
    }
    private void ContaHandler_LeaveConta(IResponer responer, PktLeaveConta vo)
    {
        var easy = new PktEasy();

        easy.name = "LeaveConta_Success";
        responer.Response(easy);
    }
        private void GameHandler_CommonRequest(IResponer responer, PktCommonRequest vo)
        {
            var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }
            //AOutput.Log($"GameHandler_CommonRequest:[{player.psid}]{(ECommonMethod)vo.method}, {vo.pData.intArg}, {vo.pData.strArg}");
            dCommonRequests[(ECommonMethod)vo.method](responer, player, vo.pData);
        }
    private void ContaHandler_EnterCity(IResponer responer, PktEnterCity arg2)
    {
        var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

        if (player == null || player.avatarCake == null)
        {
            return;
        }

        AContaManager.Instance.OnEnterConta(player.psid, city);
    }
Esempio n. 8
0
 public override void Call(IResponer responer, byte[] bytes)
 {
     try
     {
         delCaller(responer, PktBase.Deserialize <T>(bytes));
     }
     catch (Exception ex)
     {
         AOutput.Log("Stack trace:" + ex.StackTrace);
         AOutput.Log("Message:" + ex.Message);
     }
 }
Esempio n. 9
0
 public override void Call(IResponer responer, byte[] bytes)
 {
     try
     {
         delCaller(responer, PktBase.Deserialize <T>(bytes));
     }
     catch (Exception ex)
     {
         Console.WriteLine("Stack trace:" + ex.StackTrace);
         Console.WriteLine("Message:" + ex.Message);
     }
 }
        private void GameHandler_PayRequest(IResponer responer, PktPayRequest vo)
        {
            var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }
            SCommonds.AddItems("Exchange", player.psid, new Dictionary <int, int>()
            {
                { InitValueDefs.money, vo.productID * 10 }
            });
        }
        private void GameHandler_ExchangeRequest(IResponer responer, PktExchangeRequest vo)
        {
            var player = APlayerManager.Instance.OnGetPlayerByConn(responer.playerConnDesc);

            if (player == null)
            {
                return;
            }
            if (SCommonds.IsEnough(player.psid, InitValueDefs.money, vo.count))
            {
                SCommonds.Use("Exchange", player.psid, InitValueDefs.money, -vo.count);
                SCommonds.AddItem("Exchange", player.psid, InitValueDefs.gold, vo.count * 10);
            }
        }
Esempio n. 12
0
 public void OnAddPlayer(string uid, EPartnerID ePartnerID, IResponer client)
 {
     if (dConnectionIndexedPlayers.ContainsKey(client.playerConnDesc))
     {
         dConnectionIndexedPlayers[client.playerConnDesc].client.Response(new PktServerMessage()
         {
             message = "duplicatelogin"
         });
         if (dConnectionIndexedPlayers[client.playerConnDesc].avatar != null)
         {
             dConnectionIndexedPlayers[client.playerConnDesc].avatar.OnDispose();
         }
         dConnectionIndexedPlayers.Remove(client.playerConnDesc);
     }
     dConnectionIndexedPlayers.Add(client.playerConnDesc, new Player(uid, ePartnerID, client));
 }
        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);
        }
Esempio n. 14
0
    public void OnAddPlayer(string uid, EPartnerID ePartnerID, IResponer client)
    {
        if (dUIDIndexedPlayers.ContainsKey(uid))
        {
            dUIDIndexedPlayers[uid].client.Response(new PktServerMessage()
            {
                message = "duplicatelogin"
            });
            dUIDIndexedPlayers[uid].OnDisconnect();
            dUIDIndexedPlayers.Remove(uid);
        }
        if (dConnectionIndexedPlayers.ContainsKey(client.playerConnDesc))
        {
            dConnectionIndexedPlayers[client.playerConnDesc].OnDisconnect();
            dConnectionIndexedPlayers.Remove(client.playerConnDesc);
        }
        var p = new Player(uid, ePartnerID, client);

        dConnectionIndexedPlayers.Add(client.playerConnDesc, p);
        dUIDIndexedPlayers.Add(uid, p);
    }
        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);
        }
Esempio n. 17
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);
        }
Esempio n. 18
0
        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();
                }
            }
            else
            {
                var cake = new CakeServer(vo.name, player.psid);
                cake.Sync();
            }
        }
Esempio n. 19
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);
        }
Esempio n. 20
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);
        }
        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);
        }
Esempio n. 22
0
 public CRpcTag(IResponer responser)
 {
     m_responser = responser;
 }
Esempio n. 23
0
 public IResponer SetNext(IResponer responer)
 {
     _nextHandle = responer;
     return(_nextHandle);
 }
Esempio n. 24
0
 public Player(string uid, EPartnerID ePartnerID, IResponer client)
 {
     this.client     = client;
     this.uid        = uid;
     this.ePartnerID = ePartnerID;
 }
Esempio n. 25
0
 private void Handler_EnterGame(IResponer arg1, PktEnterGameRequest arg2)
 {
 }
        private void OnEnterScene(IResponer responer, Player player, PData pData)
        {
            var conta = AContaManager.Instance.OnGetConta(player.psid);

            conta.EnterScene(player.psid);
        }
Esempio n. 27
0
 public abstract void Call(IResponer responer, byte[] bytes);
        private void OnBeginFight(IResponer responer, Player player, PData pData)
        {
            var conta = AContaManager.Instance.OnGetConta(player.psid);

            conta.BeginFight(player.psid);
        }
Esempio n. 29
0
 public string CreateRequest(IResponer responer)
 {
     return(responer.Handle(TypeRequest) as String);
 }