protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream) { bool ret = true; try { m_valInfos = new Dictionary<byte, ServerInfo>(); m_version = decoder.Decode1(); byte size = decoder.Decode1(); for (byte i = 0; i < size; ++i) { ServerInfo si = new ServerInfo(); si.m_id = decoder.Decode1(); si.m_ip = decoder.DecodeString(); si.m_port = decoder.Decode2(); m_valInfos.Add(si.m_id, si); } if (decoder.Decode1() > 0) { } if (decoder.Decode1() > 0) { } } catch (Exception) { ret = false; } return ret; }
protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream) { bool ret = true; try { ushort size = 0; m_missions.Clear(); m_boosters.Clear(); m_equipments.Clear(); m_heroes.Clear(); m_treasureBoxes.Clear(); m_items.Clear(); m_goods.Clear(); size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Mission m = new Mission(); if (!m.DeSerialize(stream)) throw new Exception(); m_missions.Add(m.MissionCode, m); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Item o = null; ItemType itemType = (ItemType)decoder.Decode1(); switch (itemType) { case ItemType.Booster: o = new Booster(); break; case ItemType.Equipment: o = new Equipment(); break; case ItemType.Hero: o = new Hero(); break; case ItemType.TreasureBox: o = new TreasureBox(); break; default: o = new Item(itemType); break; } if (!o.DeSerialize(stream)) throw new Exception(); m_items.Add(o.ItemCode, o); switch (itemType) { case ItemType.Booster: m_boosters.Add(o.ItemCode, (Booster)o); break; case ItemType.Equipment: m_equipments.Add(o.ItemCode, (Equipment)o); break; case ItemType.Hero: m_heroes.Add(o.ItemCode, (Hero)o); break; case ItemType.TreasureBox: m_treasureBoxes.Add(o.ItemCode, (TreasureBox)o); break; } } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Goods t = new Goods(); if (!t.DeSerialize(stream)) throw new Exception(); m_goods.Add(t.GoodsCode, t); } } catch (Exception) { m_missions.Clear(); m_boosters.Clear(); m_equipments.Clear(); m_heroes.Clear(); m_treasureBoxes.Clear(); m_items.Clear(); m_goods.Clear(); m_hash = 0; ret = false; } return ret; }
protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream) { bool ret = true; m_itemGoods.Clear(); m_goodsLimitMission.Clear(); try { GoodsCode = decoder.Decode4(); GoodsTypeCode = decoder.Decode1(); GoodsName = decoder.DecodeString(); Descriptions = decoder.DecodeString(); CurrencyType = (CurrencyType)decoder.Decode1(); Price = decoder.Decode4AsSingle(); ContentsID1 = decoder.DecodeString(); ContentsID2 = decoder.DecodeString(); ContentsID3 = decoder.DecodeString(); ContentsID4 = decoder.DecodeString(); ContentsID5 = decoder.DecodeString(); SortNum = decoder.Decode2(); ushort size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { ItemGoods itemGoods = new ItemGoods(); if (!itemGoods.DeSerialize(stream)) throw new Exception(); m_itemGoods.Add(itemGoods.ItemCode, itemGoods); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { GoodsLimitMission mission = new GoodsLimitMission(); if (mission.DeSerialize(stream)) throw new Exception(); m_goodsLimitMission.Add(mission.MissionCode, mission); } } catch (Exception) { m_itemGoods.Clear(); m_goodsLimitMission.Clear(); ret = false; } return ret; }
protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream) { bool ret = true; try { ushort size = 0; m_vfxs.Clear(); m_sfxs.Clear(); m_statusEffects.Clear(); m_blocks.Clear(); m_skills.Clear(); m_gameModes.Clear(); m_projectiles.Clear(); m_heroObjects.Clear(); m_monsters.Clear(); m_noticeObjects.Clear(); m_warpGates.Clear(); m_buffers.Clear(); m_debuffers.Clear(); m_lockObstacles.Clear(); m_slotMachines.Clear(); m_challengers.Clear(); m_stageObjects.Clear(); m_stages.Clear(); m_consumableTypes.Clear(); m_consumables.Clear(); m_screenPositions.Clear(); m_bufferActions.Clear(); m_slotMachineReels.Clear(); size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { VFX o = new VFX(); if (!o.DeSerialize(stream)) throw new Exception(); m_vfxs.Add(o.VfxID, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { SFX o = new SFX(); if (!o.DeSerialize(stream)) throw new Exception(); m_sfxs.Add(o.SfxID, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { StatusEffect o = new StatusEffect(); if (!o.DeSerialize(stream)) throw new Exception(); m_statusEffects.Add(o.StatusEffectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Block o = new Block(); if (!o.DeSerialize(stream)) throw new Exception(); m_blocks.Add(o.BlockID, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Skill o = new Skill(); if (!o.DeSerialize(stream)) throw new Exception(); m_skills.Add(o.SkillCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { GameMode o = new GameMode(); if (!o.DeSerialize(stream)) throw new Exception(); m_gameModes.Add(o.Mode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Projectile o = new Projectile(); if (!o.DeSerialize(stream)) throw new Exception(); m_projectiles.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { HeroObject o = new HeroObject(); if (!o.DeSerialize(stream)) throw new Exception(); m_heroObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Monster o = new Monster(); if (!o.DeSerialize(stream)) throw new Exception(); m_monsters.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.Monster; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { NoticeObject o = new NoticeObject(); if (!o.DeSerialize(stream)) throw new Exception(); m_noticeObjects.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.Notice; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { WarpGate o = new WarpGate(); if (!o.DeSerialize(stream)) throw new Exception(); m_warpGates.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.WarpGate; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Buffer o = new Buffer(); if (!o.DeSerialize(stream)) throw new Exception(); m_buffers.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.Buffer; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { DeBuffer o = new DeBuffer(); if (!o.DeSerialize(stream)) throw new Exception(); m_debuffers.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.DeBuffer; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { LockObstacle o = new LockObstacle(); if (!o.DeSerialize(stream)) throw new Exception(); m_lockObstacles.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.Chest; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { SlotMachine o = new SlotMachine(); if (!o.DeSerialize(stream)) throw new Exception(); m_slotMachines.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.SlotMachine; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Challenger o = new Challenger(); if (!o.DeSerialize(stream)) throw new Exception(); m_challengers.Add(o.FieldObjectCode, o); o.SoType = StageObjectType.Challenger; m_stageObjects.Add(o.FieldObjectCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Stage o = new Stage(); if (!o.DeSerialize(stream)) throw new Exception(); m_stages.Add(o.StageCode, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { ConsumableTypeInfo o = new ConsumableTypeInfo(); if (!o.DeSerialize(stream)) throw new Exception(); m_consumableTypes.Add(o.ConsumableType, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { Consumable o = new Consumable(); if (!o.DeSerialize(stream)) throw new Exception(); m_consumables.Add(o.ConsumableID, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { ScreenPosition o = new ScreenPosition(); if (!o.DeSerialize(stream)) throw new Exception(); m_screenPositions.Add(o.LifeRate, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { BufferAction o = new BufferAction(); if (!o.DeSerialize(stream)) throw new Exception(); m_bufferActions.Add(o.BufferActionID, o); } size = decoder.Decode2(); for (ushort i = 0; i < size; ++i) { SlotMachineReel o = new SlotMachineReel(); if (!o.DeSerialize(stream)) throw new Exception(); m_slotMachineReels.Add(o.ReelID, o); } } catch (Exception) { m_vfxs.Clear(); m_sfxs.Clear(); m_statusEffects.Clear(); m_blocks.Clear(); m_skills.Clear(); m_gameModes.Clear(); m_projectiles.Clear(); m_heroObjects.Clear(); m_monsters.Clear(); m_noticeObjects.Clear(); m_warpGates.Clear(); m_buffers.Clear(); m_debuffers.Clear(); m_lockObstacles.Clear(); m_slotMachines.Clear(); m_challengers.Clear(); m_stageObjects.Clear(); m_stages.Clear(); m_consumableTypes.Clear(); m_consumables.Clear(); m_screenPositions.Clear(); m_bufferActions.Clear(); m_slotMachineReels.Clear(); m_hash = 0; ret = false; } return ret; }