Пример #1
0
        public DataStream DeserializeContainer(DataStream ds)
        {
            DataStream dsret;

            switch (ds.Type)
            {
            case 0x2B: dsret = new InventoryInfoS2B(); break;

            case 0x26: dsret = new RoleInfoUpdateS26(); break;

            case 0x52: dsret = new MoneyInfoS52(); break;

            case 0x149: dsret = new MeditationInfoS149(); break;

            case 0x14A: dsret = new MeditationEnabledS14A(); break;

            default: return(ds);
            }
            dsret.Type   = ds.Type;
            dsret.Buffer = ds.Buffer;
            return(((PacketBase.IServerContainer)dsret).Deserialize());
        }
Пример #2
0
        private static void oog_Receive(object sender, ReceiveEventArgs e)
        {
            if (e.Stream is RoleInfoUpdateS26)
            {
                RoleInfoUpdateS26 info = (RoleInfoUpdateS26)e.Stream;

                if (RoleInfo.Experience != 0)
                {
                    ExpDelta = info.Experience - RoleInfo.Experience;
                }

                RoleInfo.Level      = info.Level;
                RoleInfo.Experience = info.Experience;
                RoleInfo.Spirit     = info.Spirit;
            }

            if (e.Stream is MeditationInfoS149)
            {
                MeditationTotal  = oog.Meditation.All;
                MeditationNormal = oog.Meditation.Today1;
                MeditationDeep   = oog.Meditation.Today2;
            }
        }