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()); }
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; } }