Example #1
0
        public virtual bool HandlePacket(ReceptionPacket data)
        {
            if (!Handlers.ContainsKey(data.Type))
                return false;

            return Handlers[data.Type].Invoke(data);
        }
Example #2
0
        public void Run()
        {
            while (IsConnected)
            {
                try
                {
                    if (!Ns.DataAvailable)
                    {
                        Thread.Sleep(5);
                        continue;
                    }

                    ReceptionPacket data = new ReceptionPacket(Br);

                    Log.Cl("Packet received : " + data.Type, ConsoleColor.DarkRed);

                    Packets.Enqueue(data);
                }
                catch (Exception ex)
                {
                    Log.Cl(ex.Message);
                    Deco();
                }
            }

            Close();
        }
Example #3
0
        bool HandleMapLoading(ReceptionPacket rcvData)
        {
            AddMap(rcvData.ReadString());

            int maxCount = rcvData.ReadCount();
            for (int count = 0; count < maxCount; ++count)
            {
                DynamicWorldObject dObj = rcvData.ReadDynamicObjectMapAdd();

                if (dObj.Guid == GameSession.Instance.GetGuid())
                {
                    PlayerHdl.Instance.Init((Player)dObj);
                    PlayerHdl.Warp(CurrentMap);
                    continue;
                }

                CurrentMap.AddDynamicObject(dObj, dObj.Position.X, dObj.Position.Y);
            }

            return true;
        }
Example #4
0
        bool HandleObjectMove(ReceptionPacket rcvData)
        {
            DynamicWorldObject dObj = CurrentMap.GetObject(rcvData.ReadGuid());

            dObj.MoveTo(rcvData.ReadVector2());
            dObj.Direction = rcvData.ReadDirection();
              //  dObj.ResetDirectionStates(rcvData.ReadDirectionStates()); TODO : fix it

            Log.Cldebug(dObj.Guid, "Moved oject", System.ConsoleColor.Cyan);

            return true;
        }
Example #5
0
        bool HandleMapObjectDeletion(ReceptionPacket rcvData)
        {
            int guid = rcvData.ReadGuid();

            CurrentMap.RemoveObject(guid);

            Log.Cldebug(guid, "Removed oject", System.ConsoleColor.Cyan);

            return true;
        }
Example #6
0
        bool HandleMapObjectAdd(ReceptionPacket rcvData)
        {
            DynamicWorldObject dObj = rcvData.ReadDynamicObjectMapAdd();
            dObj.SetMap(CurrentMap, dObj.Position.X, dObj.Position.Y);
            CurrentMap.AddDynamicObject(dObj, dObj.Position.X, dObj.Position.Y);

            Log.Cldebug(dObj.Guid, "Added oject", System.ConsoleColor.Cyan);

            return true;
        }
Example #7
0
 bool HandlePing(ReceptionPacket rcvData)
 {
     return true;
 }
Example #8
0
        bool HandleLoginValidation(ReceptionPacket data)
        {
            Guid = data.ReadGuid();

            Log.Cldebug("Logged as " + GetLogin() + " with Guid " + Guid.ToString(), ConsoleColor.Green);

            SendingPacket sndData = new SendingPacket(PacketType.CLIENT_REQUEST_MAP_LOADING);
            SendPacket(sndData);

            return true;
        }
Example #9
0
 public void AddReceivedData(ReceptionPacket rcvData)
 {
     ReceivedData.Enqueue(rcvData);
 }