예제 #1
0
파일: ItemManager.cs 프로젝트: pb0/ID0_Test
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                ItemCode        = decoder.Decode4();
                Name            = decoder.DecodeString();
                Descriptions    = decoder.DecodeString();
                Icon            = decoder.DecodeString();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #2
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                VfxID       = decoder.Decode4();
                Resource    = decoder.DecodeString();
                Pivot       = decoder.DecodeString();
                OffsetX     = decoder.Decode4AsSingle();
                OffsetY     = decoder.Decode4AsSingle();
                OffsetZ     = decoder.Decode4AsSingle();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #3
0
파일: User.cs 프로젝트: pb0/ID0_Test
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                m_userSN            = decoder.Decode4();
                m_sessionId         = decoder.Decode8();
                m_typeCode          = (UserType)decoder.Decode1();
                m_userID            = decoder.DecodeString();
                m_nickname          = decoder.DecodeString();
                //m_isSync            = decoder.Decode1() > 0 ? true : false;
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #4
0
파일: ValConfig.cs 프로젝트: pb0/ID0_Test
            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;
            }
예제 #5
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;
            m_heroLevelSkillValues.Clear();

            try
            {
                SkillCode         = decoder.Decode4();
                SkillName         = decoder.DecodeString();
                IsActive          = decoder.Decode1() > 0;
                ManaConsume       = decoder.Decode4();
                CastTime          = decoder.Decode4();
                CoolTime          = decoder.Decode4();
                GlobalCoolTime    = decoder.Decode4();
                Priority          = decoder.Decode1();
                Motion            = decoder.DecodeString();
                Icon              = decoder.DecodeString();

                byte cnt = decoder.Decode1();
                for (byte i = 0; i < cnt; ++i)
                {
                    SkillValue s = new SkillValue();

                    byte heroLevel      = decoder.Decode1();
                    s.Descriptions      = decoder.DecodeString();
                    s.ActionPattern     = decoder.DecodeString();
                    s.EffectValue       = decoder.Decode4AsSingle();

                    m_heroLevelSkillValues.Add(heroLevel, s);
                }
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #6
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;
            m_blockCmds.Clear();

            try
            {
                BlockID                 = decoder.Decode1();
                IsApplyLifeRate         = decoder.Decode1() > 0;
                ChanceSpawnTutorial     = decoder.Decode4AsSingle();
                ChanceSpawnAdventure    = decoder.Decode4AsSingle();
                ChanceSpawnRaid         = decoder.Decode4AsSingle();
                ChanceSpawnArena        = decoder.Decode4AsSingle();
                Resource                = decoder.DecodeString();
                ChargeStartVfxID        = decoder.Decode4();
                ChargeStartSfxID        = decoder.Decode4();
                TransformVfxID          = decoder.Decode4();
                DestroyVfxID            = decoder.Decode4();
                Destroy1SfxID           = decoder.Decode4();
                Destroy2SfxID           = decoder.Decode4();
                Destroy3SfxID           = decoder.Decode4();
                ChargedDestroyVfxID     = decoder.Decode4();
                ChargedDestroySfxID     = decoder.Decode4();

                byte cnt = decoder.Decode1();
                for (byte i = 0; i < cnt; ++i)
                {
                    BlockCommand b = new BlockCommand();

                    byte blockCnt               = decoder.Decode1();
                    b.Priority                  = decoder.Decode1();
                    b.ActionPattern             = decoder.DecodeString();
                    b.ExtraEffectValue          = decoder.Decode4AsSingle();
                    b.CriticalStatusEffectCode  = decoder.Decode4();
                    b.Motion                    = decoder.DecodeString();

                    m_blockCmds.Add(blockCnt, b);
                }
            }
            catch (Exception)
            {
                m_blockCmds.Clear();
                ret = false;
            }

            return ret;
        }
예제 #7
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                m_reelID        = decoder.Decode1();
                m_betAmplify    = decoder.Decode4AsSingle();
                m_chanceSpin    = decoder.Decode4AsSingle();
                m_resource      = decoder.DecodeString();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #8
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                BufferActionID    = decoder.Decode1();
                IsBuffer          = decoder.Decode1() > 0;
                ActionPattern     = decoder.DecodeString();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #9
0
파일: ItemManager.cs 프로젝트: pb0/ID0_Test
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;
            m_stats.Clear();

            try
            {
                ret = base.OnDeSerialize(decoder, stream);
                if (ret)
                {
                    EquipmentType           = (EquipmentType)decoder.Decode1();
                    EquipmentRarityId       = (EquipmentRarityId)decoder.Decode1();
                    HeroItemCode            = decoder.Decode4();
                    BattlePower             = decoder.Decode4();
                    PriceSelling            = decoder.Decode4();
                    ItemChanceAmplifier     = decoder.Decode4AsSingle();
                    AtlasResource           = decoder.DecodeString();
                    TextureName             = decoder.DecodeString();

                    byte cnt = decoder.Decode1();
                    for (byte i = 0; i < cnt; ++i)
                    {
                        uint statCode   = decoder.Decode4();
                        float statValue = decoder.Decode4AsSingle();

                        m_stats.Add(statCode, statValue);
                    }
                }
            }
            catch (Exception)
            {
                m_stats.Clear();
                ret = false;
            }

            return ret;
        }
예제 #10
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;
            m_stageObjectTypeChances.Clear();
            m_stageObjectChances.Clear();

            try
            {
                StageCode         = decoder.Decode4();
                StageGroupID      = decoder.Decode1();
                StageName         = decoder.DecodeString();
                GameMode          = (GameModeType)decoder.Decode1();
                DifficultyType    = decoder.Decode1();
                Tier              = decoder.Decode1();
                LimitExp          = decoder.Decode4();
                LimitGold         = decoder.Decode4();
                Star1Point        = decoder.Decode4();
                Star2Point        = decoder.Decode4();
                Star3Point        = decoder.Decode4();
                ClearPoint        = decoder.Decode4();
                TimePoint         = decoder.Decode4();
                MinClearTime      = decoder.Decode4();
                TotalDist         = decoder.Decode4();
                ChanceShortDist   = decoder.Decode4AsSingle();
                ChanceMediumDist  = decoder.Decode4AsSingle();
                ChanceLongDist    = decoder.Decode4AsSingle();
                MinShortDist      = decoder.Decode4();
                MaxShortDist      = decoder.Decode4();
                MinMediumDist     = decoder.Decode4();
                MaxMediumDist     = decoder.Decode4();
                MinLongDist       = decoder.Decode4();
                MaxLongDist       = decoder.Decode4();
                LastFoCode        = decoder.Decode4();
                Resource          = decoder.DecodeString();
                Bgm               = decoder.DecodeString();

                byte cnt = decoder.Decode1();
                for (byte i = 0; i < cnt; ++i)
                {
                    StageObjectType soType  = (StageObjectType)decoder.Decode1();
                    float chance            = decoder.Decode4AsSingle();

                    m_stageObjectTypeChances.Add(soType, chance);
                }

                cnt = decoder.Decode1();
                for (byte i = 0; i < cnt; ++i)
                {
                    uint foCode     = decoder.Decode4();
                    float chance    = decoder.Decode4AsSingle();

                    m_stageObjectChances.Add(foCode, chance);
                }
            }
            catch (Exception)
            {
                m_stageObjectTypeChances.Clear();
                m_stageObjectChances.Clear();
                ret = false;
            }

            return ret;
        }
예제 #11
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                ret = base.OnDeSerialize(decoder, stream);
                if (ret)
                {
                    Msg1  = decoder.DecodeString();
                    Msg2  = decoder.DecodeString();
                }
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #12
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;
            m_skillValues.Clear();
            m_stats.Clear();

            try
            {
                ret = base.OnDeSerialize(decoder, stream);
                if (ret)
                {
                    Type                = (MonsterType)decoder.Decode1();
                    Grade               = (MonsterGradeType)decoder.Decode1();
                    BaseLevel           = decoder.Decode1();
                    IsHostile           = decoder.Decode1() > 0;
                    IsRange             = decoder.Decode1() > 0;
                    AttactRange         = decoder.Decode4AsSingle();
                    ProjectileFoCode    = decoder.Decode4();

                    byte cnt = decoder.Decode1();
                    for (byte i = 0; i < cnt; ++i)
                    {
                        MonsterSkillValue v = new MonsterSkillValue();

                        uint skillCode  = decoder.Decode4();
                        v.ActionPattern = decoder.DecodeString();
                        v.EffectValue   = decoder.Decode4AsSingle();

                        m_skillValues.Add(skillCode, v);
                    }

                    cnt = decoder.Decode1();
                    for (byte i = 0; i < cnt; ++i)
                    {
                        uint statCode   = decoder.Decode4();
                        float value     = decoder.Decode4AsSingle();

                        m_stats.Add(statCode, value);
                    }
                }
            }
            catch (Exception)
            {
                m_skillValues.Clear();
                m_stats.Clear();
                ret = false;
            }

            return ret;
        }
예제 #13
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                SfxID       = decoder.Decode4();
                Resource    = decoder.DecodeString();
                IsLoop      = decoder.Decode1() > 0;
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #14
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                FieldObjectCode   = decoder.Decode4();
                Name              = decoder.DecodeString();
                Resource          = decoder.DecodeString();
                DrawScale         = decoder.Decode4AsSingle();
                CollisionWidth    = decoder.Decode4AsSingle();
                CollisionHeight   = decoder.Decode4AsSingle();
                SpawnVfxID        = decoder.Decode4();
                SpawnSfxID        = decoder.Decode4();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #15
0
파일: ItemManager.cs 프로젝트: pb0/ID0_Test
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                MissionCode     = decoder.Decode1();
                MissionTypeCode = decoder.Decode1();
                Descriptions    = decoder.DecodeString();
                Condition       = (int)decoder.Decode4();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #16
0
파일: ItemManager.cs 프로젝트: pb0/ID0_Test
        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;
        }
예제 #17
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                StatusEffectCode    = decoder.Decode4();
                IsBuff              = decoder.Decode1() > 0;
                ExpireType          = decoder.Decode1();
                ExpireTime          = decoder.Decode4AsSingle();
                IsScript            = decoder.Decode1() > 0;
                StatMod             = decoder.DecodeString();
                EffectValue         = decoder.Decode4AsSingle();
                SpawnVfxID          = decoder.Decode4();
                SpawnSfxID          = decoder.Decode4();
                Icon                = decoder.DecodeString();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #18
0
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                ConsumableID        = decoder.Decode4();
                ConsumableType      = (ConsumableType)decoder.Decode1();
                ConsumableName      = decoder.DecodeString();
                Tier                = decoder.Decode1();
                IsDropTutorial      = decoder.Decode1() > 0;
                IsDropAdventure     = decoder.Decode1() > 0;
                IsDropRaid          = decoder.Decode1() > 0;
                IsDropArena         = decoder.Decode1() > 0;
                IsPuzzleActive      = decoder.Decode1() > 0;
                CastTime            = decoder.Decode4();
                GlobalCoolTime      = decoder.Decode4();
                Priority            = decoder.Decode1();
                ActionPattern       = decoder.DecodeString();
                EffectValue         = decoder.Decode4AsSingle();
                ProjectileFoCode    = decoder.Decode4();
                UseSfxID            = decoder.Decode4();
                Icon                = decoder.DecodeString();
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }
예제 #19
0
파일: ProxyServer.cs 프로젝트: pb0/ID0_Test
        protected override bool OnDeSerialize(SimpleStream.SerializableDecoder decoder, SimpleStream stream)
        {
            bool ret = true;

            try
            {
                m_serverIp                  = decoder.DecodeString();
                m_serverPort                = (int)decoder.Decode4();
                m_lastConnectedServerIp     = decoder.DecodeString();
                m_lastConnectedServerPort   = (int)decoder.Decode4();

                ValConfig config = new ValConfig();
                if (config.DeSerialize(stream))
                    m_config = config;
                else
                    m_config = null;

                StageManager stageManager = new StageManager();
                if (stageManager.DeSerialize(stream))
                {
                    stageManager.SetServer(this);
                    m_stageManager = stageManager;
                }

                ItemManager itemManager = new ItemManager();
                if (itemManager.DeSerialize(stream))
                {
                    itemManager.SetServer(this);
                    m_itemManager = itemManager;
                }
            }
            catch (Exception)
            {
                ret = false;
            }

            return ret;
        }