Beispiel #1
0
        public Boolean Login()
        {
            string uid = null;
            string pwd = null;

            if (Context.HttpQueryString.ContainsKey("Uid"))
            {
                uid = Context.HttpQueryString["Uid"];
            }
            if (Context.HttpQueryString.ContainsKey("Pwd"))
            {
                pwd = Context.HttpQueryString["Pwd"];
            }
            var user = (_gameUserFunc() as IGameUser).Login(uid, pwd);

            if (user == null)
            {
                return(false);
            }
            else
            {
                Context.Session.User = user;
                GameUserManager.AddOrUpdateUser(user.Uid, Context.Session);
                return(true);
            }
        }
Beispiel #2
0
        public async static void SendPackgeWithUser(string uid, int protocol, byte[] sendByte)
        {
            await Task.Factory.StartNew(() =>
            {
                List <byte> list = new List <byte>();
                list.Add((byte)(protocol >> 8));
                list.Add((byte)(protocol & 0xFF));
                list.AddRange(sendByte);

                GameUserManager.SendPackgeWithUser(uid, list.ToArray());
            });
        }
    //==========//


    void Start()
    {
        xayaClient      = GetComponent <XAYAClient>();
        channelPorts    = new Dictionary <string, ChannelStatus>();
        gameUserManager = GetComponent <GameUserManager>();
    }
Beispiel #4
0
        public void MakeOrder(HttpContext context)
        {
            int             Type     = int.Parse(context.Request["Type"]);
            int             GameId   = int.Parse(context.Request["GameId"]);
            int             ServerId = int.Parse(context.Request["ServerId"]);
            string          SelMoney = context.Request["SelMoney"];
            string          TxtMoney = context.Request["TxtMoney"];
            string          UserName = context.Request["UserName"].Trim();
            string          Bank     = context.Request["Bank"];
            int             PayType  = int.Parse(context.Request["PayType"]);
            Orders          order    = new Orders();
            OrderManager    om       = new OrderManager();
            GameUserManager gum      = new GameUserManager();
            GamesManager    gm       = new GamesManager();
            GameUser        gu       = new GameUser();

            try
            {
                gu = gum.GetGameUser((int)context.Session[Keys.SESSION_USER]);
            }
            catch (Exception)
            {
                if (PayType == 7)
                {
                    context.Response.Write("/Home/Login");
                    return;
                }
            }
            float  PayMoney  = 0;
            string OrderCode = Type == 1 ? "G" : "P";

            try
            {
                if (!string.IsNullOrEmpty(TxtMoney))
                {
                    PayMoney = float.Parse(TxtMoney.Trim());
                }
                else
                {
                    PayMoney = float.Parse(SelMoney);
                }
                order = om.GetOrder(OrderCode, GameId.ToString(), ServerId, Type, PayType, UserName, PayMoney, gu.UserName);
                if (PayType == 7)
                {
                    if (om.AddOrder(order))
                    {
                        string Result = gm.PayManager(order.OrderNo);
                        context.Response.Write("您的订单" + order.OrderNo + "已经处理。处理结果:" + Result + "|Error");
                        return;
                    }
                    else
                    {
                        context.Response.Write("添加订单失败!|Error");
                        return;
                    }
                }
                else
                {
                    if (om.AddOrder(order))
                    {
                        context.Response.Write("/PayCenter/PayOrder?Order=" + DESEncrypt.encryptstring1(order.OrderNo) + "&Bank=" + Bank + "|Success");
                    }
                    else
                    {
                        context.Response.Write("添加订单失败!|Error");
                        return;
                    }
                }
            }
            catch (Exception e)
            {
                context.Response.Write(e.Message + "|Error");
                return;
            }
        }
        public override byte[] ProcessAction()
        {
            A1001Response.Builder response = A1001Response.CreateBuilder();
            GameUserMapping       mapping  = RedisContext.GlobalContext.FindHashEntityByKey <GameUserMapping>(Context.HttpQueryString["Uid"].ToString());

            GameUser user = null;

            if (mapping == null)
            {
                user            = new GameUser();
                user.RoomCard   = 8;
                user.OnlimeDate = DateTime.Now;

                mapping = new GameUserMapping();

                mapping.Uid    = Context.HttpQueryString["Uid"].ToString();
                mapping.UserId = RedisContext.GlobalContext.HashLength(mapping);
                RedisContext.GlobalContext.AddHashEntity(mapping);
            }
            else
            {
                user = RedisContext.GlobalContext.FindHashEntityByKey <GameUser>(mapping.UserId.ToString());
                if (int.Parse(user.OnlimeDate.ToString("yyyyMMdd")) < int.Parse(DateTime.Now.ToString("yyyyMMdd")))
                {
                    user.RoomCard += 2;
                }
            }

            user.OnlimeDate = DateTime.Now;
            user.Uid        = mapping.UserId.ToString();
            user.NickName   = Context.HttpQueryString["Nickname"].ToString();
            user.Sex        = int.Parse(Context.HttpQueryString["Sex"].ToString());
            user.Province   = Context.HttpQueryString["Province"].ToString();
            user.City       = Context.HttpQueryString["City"].ToString();
            user.Country    = Context.HttpQueryString["Country"].ToString();
            user.HeadImgurl = Context.HttpQueryString["Headimgurl"].ToString();

            RedisContext.GlobalContext.AddHashEntity(user);


            CsMjGameRoom room = CsGameRoomManager.GetRoomByUserId(user.Uid);

            if (room != null)
            {
                var currentPlayer = room.FindPlayer(user.Uid);
                response.RoomId   = room.RoomId;
                response.RoomType = room.RoomType;

                if (room.Players.Count == 4)
                {
                    response.IsEnd = room.IsEnd ? 1 : 0;
                    if (!room.IsEnd)
                    {
                        response.IsFrist    = room.IsFrist ? 1 : 0;
                        response.CurrentUid = room.Player.Value.PlayerUser.Uid;
                        response.AddRangeNeedGangDaPai(currentPlayer.Value.NeedGangDaPai);
                        response.AddRangeCurrentCard(room.CurrentCard);
                        response.HaidiPai = currentPlayer.Value.HaidiPai;
                    }
                }

                A9997ClientConnectionResponse.Builder a9997Response =
                    A9997ClientConnectionResponse.CreateBuilder();

                a9997Response.Uid = user.Uid;

                byte[] a9997Array = a9997Response.Build().ToByteArray();

                foreach (var row in room.Players)
                {
                    A1001User.Builder roomUser = A1001User.CreateBuilder();
                    roomUser.Uid = row.PlayerUser.Uid;

                    if (row.ChiCards != null && row.ChiCards.Count > 0)
                    {
                        roomUser.AddRangeChiArray(row.ChiCards);
                    }

                    if (row.PengCards != null && row.PengCards.Count > 0)
                    {
                        roomUser.AddRangePengArray(row.PengCards);
                    }
                    if (row.GangCards != null && row.GangCards.Count > 0)
                    {
                        roomUser.AddRangeGangArray(row.GangCards);
                    }
                    if (row.wCards != null && row.wCards.Count > 0)
                    {
                        roomUser.AddRangeWArray(row.wCards);
                        roomUser.WNumber      = row.wNumber;
                        roomUser.WTotalNumber = row.twNumber;
                    }

                    if (row.tCards != null && row.tCards.Count > 0)
                    {
                        roomUser.AddRangeTArray(row.tCards);
                        roomUser.TNumber      = row.tNumber;
                        roomUser.TTotalNumber = row.ttNumber;
                    }


                    if (row.sCards != null && row.sCards.Count > 0)
                    {
                        roomUser.AddRangeSArray(row.sCards);
                        roomUser.SNumber      = row.sNumber;
                        roomUser.STotalNumber = row.tsNumber;
                    }

                    if (row.zhuoCards != null && row.zhuoCards.Count > 0)
                    {
                        roomUser.AddRangeOutCard(row.zhuoCards);
                    }

                    if (row.AnGangCards != null && row.AnGangCards.Count > 0)
                    {
                        roomUser.AddRangeAnGangArray(row.AnGangCards);
                    }
                    if (row.BuZhangCards != null && row.BuZhangCards.Count > 0)
                    {
                        roomUser.AddRangeBuZhangArray(row.BuZhangCards);
                    }


                    roomUser.Name     = row.PlayerUser.NickName;
                    roomUser.HatImage = row.PlayerUser.HeadImgurl;
                    roomUser.Sex      = row.PlayerUser.Sex;
                    roomUser.HuType   = row.HuType;
                    roomUser.Sore     = row.Score;


                    response.AddUsers(roomUser);

                    WebSocketServerWrappe.SendPackgeWithUser(row.PlayerUser.Uid, 9997, a9997Array);
                }

                if (room.JuShu != 0)
                {
                    response.JuShu = room.JuShu;
                }
                if (room.CardIndex != 0)
                {
                    response.ZhangShu = room.CardIndex + 1;
                }
            }


            response.Uid          = user.Uid;
            response.ImageUrl     = user.HeadImgurl;
            response.NickName     = user.NickName;
            response.RoomCard     = user.RoomCard;
            response.FriendNumber = user.FriendNumber;
            response.IsLingQu     = user.IsLingQu;

            Context.Session.User = user;
            GameUserManager.AddOrUpdateUser(user.Uid, Context.Session);
            return(response.Build().ToByteArray());
        }