Esempio n. 1
0
        public void ProcessPacket(IPacket packet)
        {
            FLLog.Info("Server", "Got packet of type " + packet.GetType());
            switch (packet)
            {
            case CharacterListActionPacket c:
                ListAction(c);
                break;

            case LaunchPacket l:
                Launch();
                break;

            case EnterLocationPacket lc:
                msnRuntime?.EnterLocation(lc.Room, lc.Base);
                break;

            case PositionUpdatePacket p:
                World.PositionUpdate(this, p.Position, p.Orientation);
                break;

            case RTCCompletePacket cp:
                RemoveRTC(cp.RTC);
                break;

            case LineSpokenPacket lp:
                msnRuntime?.LineFinished(lp.Hash);
                break;
            }
        }
Esempio n. 2
0
        public void ProcessPacket(IPacket packet)
        {
            switch (packet)
            {
            case CharacterListActionPacket c:
                ListAction(c);
                break;

            case LaunchPacket l:
                Launch();
                break;

            case PositionUpdatePacket p:
                World.PositionUpdate(this, p.Position, p.Orientation);
                break;
            }
        }
Esempio n. 3
0
        public void ProcessPacket(IPacket packet)
        {
            try
            {
                switch (packet)
                {
                case CharacterListActionPacket c:
                    ListAction(c);
                    break;

                case LaunchPacket l:
                    Launch();
                    break;

                case EnterLocationPacket lc:
                    msnRuntime?.EnterLocation(lc.Room, lc.Base);
                    break;

                case PositionUpdatePacket p:
                    //TODO: Error handling
                    World?.PositionUpdate(this, p.Position, p.Orientation);
                    break;

                case RTCCompletePacket cp:
                    RemoveRTC(cp.RTC);
                    break;

                case LineSpokenPacket lp:
                    msnRuntime?.LineFinished(lp.Hash);
                    break;

                case ConsoleCommandPacket cmd:
                    HandleConsoleCommand(cmd.Command);
                    break;
                }
            }
            catch (Exception e)
            {
                FLLog.Exception("Player", e);
                throw;
            }
        }
Esempio n. 4
0
 public void ProcessPacket(IPacket packet)
 {
     if (ResponseHandler.HandlePacket(packet))
     {
         return;
     }
     try
     {
         var hsp = GeneratedProtocol.HandleServerPacket(packet, this, this);
         hsp.Wait();
         if (hsp.Result)
         {
             return;
         }
     }
     catch (Exception e)
     {
         FLLog.Exception("Player", e);
         throw;
     }
     try
     {
         switch (packet)
         {
         case PositionUpdatePacket p:
             //TODO: Error handling
             World?.PositionUpdate(this, p.Position, p.Orientation, p.Speed);
             break;
         }
     }
     catch (Exception e)
     {
         FLLog.Exception("Player", e);
         throw;
     }
 }