Example #1
0
 public static void ShellCallback(MessageBase msg, NetBuffer buff)
 {
     if(CallbackMapping.ContainsKey(msg.Id))
     {
         CallbackMapping[msg.Id](buff, msg);
     }
 }
Example #2
0
        public void OnFightMessage(NetBuffer buff, MessageBase msg)
        {
            var im = buff as NetIncomingMessage;

            if (im != null)
            {
                FightMessageImpl(im, msg);
            }
        }
Example #3
0
        public void OnHireFollowerMessage(NetBuffer buff, MessageBase msg)
        {
            var im = buff as NetIncomingMessage;

            if(im != null)
            {
                HireFollowerMessageImpl(im, msg);
            }
        }
Example #4
0
        public void OnLoginMessage(NetPeer client, NetBuffer buff, MessageBase msg)
        {
            var srv = client as NetClient;
            var im = buff as NetIncomingMessage;

            if (srv != null && im != null)
            {
                LoginResultMessageImpl(srv, im, msg);
            }
        }
Example #5
0
        public void OnLoginMessage(NetPeer server, NetBuffer buff, MessageBase msg)
        {
            var srv = server as NetServer;
            var im = buff as NetIncomingMessage;

            if (srv != null && im != null)
            {
                LoginMessageImpl(srv, im, msg);
            }
        }
Example #6
0
        private void LoginMessageImpl(NetIncomingMessage im, MessageBase msg)
        {
            var loginMsg    = msg as LoginMessage;
            var r           = new LoginResultMessage();

            var user = AdventurePluginDB.User.Get(loginMsg.Name, loginMsg.Pass);
            if (user != null)
            {
                r.Result = OkTag;
                r.PlayerId = user.id;
            }
            else
            {
                r.Result = ErrorTag;
            }
            SharedServer.SendMessage(r, im.SenderConnection);
        }
Example #7
0
        private void LoginMessageImpl(NetServer server, NetIncomingMessage im, MessageBase msg)
        {
            var registerMsg = msg as LoginMessage;
            var r = new LoginResultMessage();

            var user = AdventurePluginDB.User.Get(registerMsg.Name, registerMsg.Pass);
            if (user != null)
            {
                r.Result = "OK";
                r.UserId = user.id;
            }
            else
            {
                r.Result = "Error";
            }
            server.SendMessage(r, im.SenderConnection);
        }
Example #8
0
        private void RegisterMessageImpl(NetServer server, NetIncomingMessage im, MessageBase msg)
        {
            var registerMsg = msg as RegisterMessage;
            var r = new RegisterResultMessage();

            if (AdventurePluginDB.User.Get(registerMsg.Name, registerMsg.Pass) == null)
            {
                var user = new UserInfo
                {
                    Name = registerMsg.Name,
                    Pass = registerMsg.Pass,
                };
                AdventurePluginDB.User.Create(user);
                r.Result = "OK";
            }
            else
            {
                r.Result = "Error";
            }
            server.SendMessage(r, im.SenderConnection);
        }
Example #9
0
        private void RegisterMessageImpl(NetIncomingMessage im, MessageBase msg)
        {
            var registerMsg = msg as RegisterMessage;
            var r           = new RegisterResultMessage();

            if (AdventurePluginDB.User.Get(registerMsg.Name, registerMsg.Pass) == null)
            {
                var user = new UserInfo
                {
                    Name = registerMsg.Name,
                    Pass = registerMsg.Pass,
                };
                var id = AdventurePluginDB.User.Create(user);

                const int FreeId = 2; // 赠送路人乙

                var objid   = ObjectId;
                var info    = new FollowerInfo()
                {
                    FollowerID  = FreeId,
                    ObjectID    = objid,
                };
                AdventurePluginDB.Follower.Create(info);

                AdventurePluginDB.Customer.Create(new CustomerInfo() { PlayerId = id, });
                AdventurePluginDB.PlayerFollower.Create(new PlayerFollowerInfo()
                {
                    PlayerId        = id,
                    FollowerList    = { objid }
                });

                r.PlayerId  = id;
                r.Result    = OkTag;
            }
            else
            {
                r.Result = ErrorTag;
            }
            SharedServer.SendMessage(r, im.SenderConnection);
        }
Example #10
0
        private void PullMessageImpl(NetIncomingMessage im, MessageBase msg)
        {
            var pullMsg     = msg as PullMessage;
            var r           = new PushMessage();

            if (AdventurePluginDB.PlayerFollower.IsPlayerExist(pullMsg.PlayerId))
            {
                var follower = AdventurePluginDB.PlayerFollower.GetPlayerFollower(pullMsg.PlayerId);
                r.FollowerList.AddRange(follower.FollowerList.Select(x =>
                    {
                        return new KeyValuePair<int, int>(x, AdventurePluginDB.Follower.GetWithObjectId(x));
                    }));
                r.FightFollowerList.AddRange(follower.FightingFollowerList);

                var customer = AdventurePluginDB.Customer.GetPlayerCustomer(pullMsg.PlayerId);
                if(customer != null)
                {
                    r.Exp   = customer.Exp;
                    r.Money = customer.Money;
                }
            }

            SharedServer.SendMessage(r, im.SenderConnection);
        }
Example #11
0
 public static void SendMessageExceptOne(this NetServer server, MessageBase msg, NetConnection except)
 {
     var om = server.CreateMessage();
     msg.Write(om);
     SendMessageExceptOne(server, msg, except);
 }
Example #12
0
 public static void SendMessage(this NetServer server, MessageBase msg, NetConnection conn)
 {
     var om = server.CreateMessage();
     msg.Write(om);
     SendMessage(server, om, conn);
 }
Example #13
0
 public static void SendMessage(this NetServer server, MessageBase msg)
 {
     var om = server.CreateMessage();
     msg.Write(om);
     SendMessage(server, om);
 }
Example #14
0
 public void SendMessage(MessageBase msg)
 {
     var om = InnerClient.CreateMessage();
     msg.Write(om);
     SendMessage(om);
 }
Example #15
0
 private void LoginResultMessageImpl(NetClient client, NetIncomingMessage im, MessageBase msg)
 {
     var loginMsg = msg as LoginResultMessage;
     MessageBox.Show(loginMsg.Result);
 }
Example #16
0
 public MessageReceiveEventArgs(uint id, MessageBase msg)
 {
     Id = id;
     Msg = msg;
 }
Example #17
0
 private void RegisterResultMessageImpl(NetClient client, NetIncomingMessage im, MessageBase msg)
 {
     var registerMsg = msg as RegisterResultMessage;
     MessageBox.Show(registerMsg.Result);
 }
Example #18
0
        private void GotoMapMessageImpl(NetIncomingMessage im, MessageBase msg)
        {
            var mapMsg      = msg as GotoMapMessage;
            var r           = new GotoResultMessage()
            {
                Level       = mapMsg.Level,
                GoToType    = GotoResultMessage.ToMap,
            };

            if(mapMsg.Attact >= mapMsg.AttactNeed)
            {
                AddFarmObj(im.SenderConnection, mapMsg.PlayerId, mapMsg.Money, mapMsg.Exp);
            }

            SharedServer.SendMessage(r, im.SenderConnection);
        }
Example #19
0
        private void GotoHomeMessageImpl(NetIncomingMessage im, MessageBase msg)
        {
            var homeMsg     = msg as GotoHomeMessage;
            var r           = new GotoResultMessage()
            {
                GoToType = GotoResultMessage.ToHome,
            };

            RemoveFarmObj(im.SenderConnection);
            r.UserData      = homeMsg.UserData;
            var customer    = AdventurePluginDB.Customer.GetPlayerCustomer(homeMsg.PlayerId);
            if (customer != null)
            {
                r.Exp   = customer.Exp;
                r.Money = customer.Money;
            }

            SharedServer.SendMessage(r, im.SenderConnection);
        }
Example #20
0
        private void FightMessageImpl(NetIncomingMessage im, MessageBase msg)
        {
            var fightMsg    = msg as FightMessage;
            var r           = new FightResultMessage();

            if (AdventurePluginDB.User.Get(fightMsg.PlayerId) != null)
            {
                r.Result        = OkTag;
                r.ObjectId      = fightMsg.ObjectId;
                var follower    = AdventurePluginDB.PlayerFollower.GetPlayerFollower(fightMsg.PlayerId);

                if(follower.FollowerList.Contains(fightMsg.ObjectId))
                {
                    if(fightMsg.FightType == FightMessage.GoToFight)
                    {
                        follower.FightingFollowerList.Add(fightMsg.ObjectId);
                        r.StatusNow = FightMessage.GoToFight;
                    }
                    else
                    {
                        if(follower.FightingFollowerList.Contains(fightMsg.ObjectId))
                        {
                            follower.FightingFollowerList.Remove(fightMsg.ObjectId);
                            r.StatusNow = FightMessage.GoToRest;
                        }
                    }
                }
                AdventurePluginDB.PlayerFollower.Update(follower);
            }
            else
            {
                r.Result = ErrorTag;
            }
            SharedServer.SendMessage(r, im.SenderConnection);
        }
Example #21
0
        private void HireFollowerMessageImpl(NetIncomingMessage im, MessageBase msg)
        {
            var hireMsg     = msg as HireFollowerMessage;
            var r           = new HireResultMessage();

            if(AdventurePluginDB.User.Get(hireMsg.PlayerId) != null)
            {
                r.Result        = OkTag;
                var follower    = AdventurePluginDB.PlayerFollower.GetPlayerFollower(hireMsg.PlayerId);

                var ObjectIdList = new List<int>();
                foreach (var id in hireMsg.FollowerId)
                {
                    var objId   = ObjectId;
                    r.Followers.Add(new KeyValuePair<int, int>(objId, id));
                    ObjectIdList.Add(objId);

                    var info = new FollowerInfo()
                    {
                        FollowerID  = id,
                        ObjectID    = objId,
                    };
                    AdventurePluginDB.Follower.Create(info);
                }

                follower.FollowerList.AddRange(ObjectIdList);
                AdventurePluginDB.PlayerFollower.Update(follower);
            }
            else
            {
                r.Result = ErrorTag;
            }
            SharedServer.SendMessage(r, im.SenderConnection);
        }