Example #1
0
            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;
            }
Example #2
0
        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;
        }
Example #3
0
        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;
        }
Example #4
0
        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;
        }