예제 #1
0
        public static void Deserialize(DemoCfgMgr ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0xa0000:
                {
                    ins.Demo.Add(reader.ReadStruct <DemoDefine>(DemoDefineDeserializeHandler));
                }
                break;
                }
            }


            // Build Demo Index
            for (int i = 0; i < ins.Demo.Count; i++)
            {
                var element = ins.Demo[i];

                ins._DemoByID.Add(element.ID, element);

                ins._DemoByName.Add(element.Name, element);
            }
        }
예제 #2
0
파일: data.cs 프로젝트: bobwong89757/tabtoy
        public string imgName = ""; // 图片名


        public static img Deserialize(tabtoy.DataReader reader)
        {
            img ins = new img();
            int len = reader.ReadInt32();

            while (len > 0)
            {
                int tag = reader.ReadInt32();
                len--;
                switch (tag)
                {
                case 0x60000:
                {
                    ins.route = reader.ReadString();
                }
                break;

                case 0x60001:
                {
                    ins.imgName = reader.ReadString();
                }
                break;
                }
            }
            return(ins);
        }
예제 #3
0
파일: data.cs 프로젝트: bobwong89757/tabtoy
        public int max = 0; // 最大等级


        public static levRange Deserialize(tabtoy.DataReader reader)
        {
            levRange ins = new levRange();
            int      len = reader.ReadInt32();

            while (len > 0)
            {
                int tag = reader.ReadInt32();
                len--;
                switch (tag)
                {
                case 0x10000:
                {
                    ins.min = reader.ReadInt32();
                }
                break;

                case 0x10001:
                {
                    ins.max = reader.ReadInt32();
                }
                break;
                }
            }
            return(ins);
        }
예제 #4
0
        public static void Deserialize(VerticalDefine ins, tabtoy.DataReader reader)
        {
            // 服务器IP
            if (reader.MatchTag(0x60000))
            {
                ins.ServerIP = reader.ReadString();
            }

            // 调试模式
            if (reader.MatchTag(0x70001))
            {
                ins.DebugMode = reader.ReadBool();
            }

            // 客户端人数限制
            if (reader.MatchTag(0x10002))
            {
                ins.ClientLimit = reader.ReadInt32();
            }

            // 端
            if (reader.MatchTag(0x90003))
            {
                ins.Peer = reader.ReadStruct <PeerData>(PeerDataDeserializeHandler);
            }


            if (reader.MatchTag(0x50004))
            {
                ins.Float = reader.ReadFloat();
            }
        }
예제 #5
0
파일: data.cs 프로젝트: bobwong89757/tabtoy
        public int skillLevel = 0; // 等级


        public static skill Deserialize(tabtoy.DataReader reader)
        {
            skill ins = new skill();
            int   len = reader.ReadInt32();

            while (len > 0)
            {
                int tag = reader.ReadInt32();
                len--;
                switch (tag)
                {
                case 0x10000:
                {
                    ins.skillType = reader.ReadInt32();
                }
                break;

                case 0x10001:
                {
                    ins.skillLevel = reader.ReadInt32();
                }
                break;
                }
            }
            return(ins);
        }
예제 #6
0
파일: Config.cs 프로젝트: gucongyi/MyGold
        public static void Deserialize(Pos ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x80000:
                {
                    ins.Obj = reader.ReadEnum <Object>();
                }
                break;

                case 0x50001:
                {
                    ins.X = reader.ReadFloat();
                }
                break;

                case 0x50002:
                {
                    ins.Y = reader.ReadFloat();
                }
                break;
                }
            }
        }
예제 #7
0
        public PeerData Peer = new PeerData();         // 端



        public void Deserialize(tabtoy.DataReader reader)
        {
            // 服务器IP
            if (reader.MatchTag(0x60000))
            {
                this.ServerIP = reader.ReadString( );
            }

            // 调试模式
            if (reader.MatchTag(0x70001))
            {
                this.DebugMode = reader.ReadBool( );
            }

            // 客户端人数限制
            if (reader.MatchTag(0x10002))
            {
                this.ClientLimit = reader.ReadInt32( );
            }

            // 端
            if (reader.MatchTag(0x90003))
            {
                this.Peer = reader.ReadStruct <PeerData>( );
            }
        }
예제 #8
0
        public static void Deserialize(ItemPackGroup ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.ItemId = reader.ReadInt32();
                }
                break;

                case 0x20001:
                {
                    ins.Count = reader.ReadInt64();
                }
                break;

                case 0x10002:
                {
                    ins.Weight = reader.ReadInt32();
                }
                break;

                case 0x10003:
                {
                    ins.GroupId = reader.ReadInt32();
                }
                break;
                }
            }
        }
예제 #9
0
        public static void Deserialize(RankingAward ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.StartRanking = reader.ReadInt32();
                }
                break;

                case 0x10001:
                {
                    ins.EndRanking = reader.ReadInt32();
                }
                break;

                case 0x10002:
                {
                    ins.ItemPackId = reader.ReadInt32();
                }
                break;
                }
            }
        }
예제 #10
0
        public static void Deserialize(FixedRuleListDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x60000:
                {
                    ins.ID = reader.ReadString();
                }
                break;

                case 0x10001:
                {
                    ins.ParamType = reader.ReadInt32();
                }
                break;

                case 0x50002:
                {
                    ins.Value = reader.ReadFloat();
                }
                break;
                }
            }
        }
예제 #11
0
        public static void Deserialize(FixedRuleList ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0xa0000:
                {
                    ins.Datas.Add(reader.ReadStruct <FixedRuleListDefine>(FixedRuleListDefineDeserializeHandler));
                }
                break;
                }
            }


            // Build FixedRuleList Index
            for (int i = 0; i < ins.Datas.Count; i++)
            {
                var element = ins.Datas[i];

                ins._ByID.Add(element.ID, element);
            }
        }
예제 #12
0
        public static void Deserialize(TalkConfigDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x60000:
                {
                    ins.ID = reader.ReadString();
                }
                break;

                case 0x10001:
                {
                    ins.Desc = reader.ReadInt32();
                }
                break;

                case 0x10002:
                {
                    ins.FixedTalk = reader.ReadInt32();
                }
                break;

                case 0x10003:
                {
                    ins.RandomTalk = reader.ReadInt32();
                }
                break;
                }
            }
        }
        public static void Deserialize(InitialInformationConfig ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0xa0000:
                {
                    ins.Datas.Add(reader.ReadStruct <InitialInformationConfigDefine>(InitialInformationConfigDefineDeserializeHandler));
                }
                break;
                }
            }


            // Build InitialInformationConfig Index
            for (int i = 0; i < ins.Datas.Count; i++)
            {
                var element = ins.Datas[i];

                ins._ByID.Add(element.ID, element);
            }
        }
예제 #14
0
        public static void Deserialize(EffectConfigDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.ID = reader.ReadInt32();
                }
                break;

                case 0x60001:
                {
                    ins.Path = reader.ReadString();
                }
                break;

                case 0x50002:
                {
                    ins.Time = reader.ReadFloat();
                }
                break;
                }
            }
        }
예제 #15
0
        public static void Deserialize(Config ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0xa0000:
                {
                    ins.Sample.Add(reader.ReadStruct <SampleDefine>(SampleDefineDeserializeHandler));
                }
                break;
                }
            }


            // Build Sample Index
            for (int i = 0; i < ins.Sample.Count; i++)
            {
                var element = ins.Sample[i];

                ins._SampleByID.Add(element.ID, element);

                ins._SampleByName.Add(element.Name, element);
            }
        }
예제 #16
0
        public static void Deserialize(GrowRandom ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.GrowType = reader.ReadInt32();
                }
                break;

                case 0x10001:
                {
                    ins.GrowRate = reader.ReadInt32();
                }
                break;

                case 0x10002:
                {
                    ins.GrowMin = reader.ReadInt32();
                }
                break;

                case 0x10003:
                {
                    ins.GrowMax = reader.ReadInt32();
                }
                break;
                }
            }
        }
예제 #17
0
파일: Config.cs 프로젝트: gucongyi/MyGold
        public static void Deserialize(Config ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0xa0000:
                {
                    ins.Level.Add(reader.ReadStruct <LevelDefine>(LevelDefineDeserializeHandler));
                }
                break;
                }
            }


            // Build Level Index
            for (int i = 0; i < ins.Level.Count; i++)
            {
                var element = ins.Level[i];

                ins._LevelByID.Add(element.ID, element);
            }
        }
예제 #18
0
        public static void Deserialize(GameAttributeDisplay ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.属性类型 = reader.ReadInt32();
                }
                break;

                case 0x10001:
                {
                    ins.属性上限 = reader.ReadInt32();
                }
                break;

                case 0x10002:
                {
                    ins.属性下限 = reader.ReadInt32();
                }
                break;
                }
            }
        }
예제 #19
0
        static void Main(string[] args)
        {
            using (var stream = new FileStream("../../../../Config.bin", FileMode.Open))
            {
                stream.Position = 0;

                var reader = new tabtoy.DataReader(stream, stream.Length);

                if (!reader.ReadHeader(  ))
                {
                    Console.WriteLine("combine file crack!");
                    return;
                }

                var config = new table.Config();
                table.Config.Deserialize(config, reader);

                // 直接通过下标获取或遍历
                var directFetch = config.Sample[2];

                // 添加日志输出或自定义输出
                config.TableLogger.AddTarget(new tabtoy.DebuggerTarget());

                // 取空时, 当默认值不为空时, 输出日志
                var nullFetchOutLog = config.GetSampleByID(0);

                // Vertical: "true"是的配置表, 直接取配置
                var c = config.GetVertical();
            }
        }
예제 #20
0
        public static void Deserialize(JobConfigDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x60000:
                {
                    ins.ID = reader.ReadString();
                }
                break;

                case 0x60001:
                {
                    ins.Professional = reader.ReadString();
                }
                break;

                case 0x60002:
                {
                    ins.ProfessionalAction = reader.ReadString();
                }
                break;

                case 0x10003:
                {
                    ins.ProfessionalSkills.Add(reader.ReadInt32());
                }
                break;
                }
            }
        }
예제 #21
0
        public static void Deserialize(RoleDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.ID = reader.ReadInt32();
                }
                break;

                case 0x60001:
                {
                    ins.Name = reader.ReadString();
                }
                break;

                case 0x60002:
                {
                    ins.NormalDrawing = reader.ReadString();
                }
                break;
                }
            }
        }
예제 #22
0
        public static void Deserialize(JobCfgMgr ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0xa0000:
                {
                    ins.JobConfig.Add(reader.ReadStruct <JobConfigDefine>(JobConfigDefineDeserializeHandler));
                }
                break;
                }
            }


            // Build JobConfig Index
            for (int i = 0; i < ins.JobConfig.Count; i++)
            {
                var element = ins.JobConfig[i];

                ins._JobConfigByID.Add(element.ID, element);
            }
        }
예제 #23
0
        public static void Deserialize(ExpDefine ins, tabtoy.DataReader reader)
        {
            // 唯一ID
            if (reader.MatchTag(0x10000))
            {
                ins.Level = reader.ReadInt32();
            }

            // 经验值
            if (reader.MatchTag(0x10001))
            {
                ins.Exp = reader.ReadInt32();
            }

            // 布尔检查
            if (reader.MatchTag(0x70002))
            {
                ins.BoolChecker = reader.ReadBool();
            }

            // 类型
            if (reader.MatchTag(0x80003))
            {
                ins.Type = reader.ReadEnum <ActorType>();
            }
        }
예제 #24
0
파일: Config.cs 프로젝트: zsjinit/tabtoy
        public static void Deserialize(ExpDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.Level = reader.ReadInt32();
                }
                break;

                case 0x10001:
                {
                    ins.Exp = reader.ReadInt32();
                }
                break;

                case 0x70002:
                {
                    ins.BoolChecker = reader.ReadBool();
                }
                break;

                case 0x80003:
                {
                    ins.Type = reader.ReadEnum <ActorType>();
                }
                break;
                }
            }
        }
예제 #25
0
파일: data.cs 프로젝트: bobwong89757/tabtoy
        public int num = 0; // 数量


        public static costItem Deserialize(tabtoy.DataReader reader)
        {
            costItem ins = new costItem();
            int      len = reader.ReadInt32();

            while (len > 0)
            {
                int tag = reader.ReadInt32();
                len--;
                switch (tag)
                {
                case 0x10000:
                {
                    ins.itemID = reader.ReadInt32();
                }
                break;

                case 0x10001:
                {
                    ins.num = reader.ReadInt32();
                }
                break;
                }
            }
            return(ins);
        }
예제 #26
0
파일: Config.cs 프로젝트: xupengfey/tabtoy
        public void Deserialize(tabtoy.DataReader reader)
        {
            // Sample
            if (reader.MatchTag(0x90000))
            {
                reader.ReadList_Struct <SampleDefine>(this.Sample);
            }

            // Exp
            if (reader.MatchTag(0x90001))
            {
                reader.ReadList_Struct <ExpDefine>(this.Exp);
            }


            // Build Sample Index
            for (int i = 0; i < this.Sample.Count; i++)
            {
                var element = this.Sample[i];

                _SampleByID.Add(element.ID, element);

                _SampleByName.Add(element.Name, element);
            }

            // Build Exp Index
            for (int i = 0; i < this.Exp.Count; i++)
            {
                var element = this.Exp[i];

                _ExpByLevel.Add(element.Level, element);
            }
        }
예제 #27
0
파일: data.cs 프로젝트: bobwong89757/tabtoy
        public string backpack = ""; // 背包


        public static partsInfo Deserialize(tabtoy.DataReader reader)
        {
            partsInfo ins = new partsInfo();
            int       len = reader.ReadInt32();

            while (len > 0)
            {
                int tag = reader.ReadInt32();
                len--;
                switch (tag)
                {
                case 0x60000:
                {
                    ins.weapons = reader.ReadString();
                }
                break;

                case 0x60001:
                {
                    ins.weapons2 = reader.ReadString();
                }
                break;

                case 0x60002:
                {
                    ins.backpack = reader.ReadString();
                }
                break;
                }
            }
            return(ins);
        }
예제 #28
0
        public static void Deserialize(Prop ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.HP = reader.ReadInt32();
                }
                break;

                case 0x50001:
                {
                    ins.AttackRate = reader.ReadFloat();
                }
                break;

                case 0x80002:
                {
                    ins.ExType = reader.ReadEnum <ActorType>();
                }
                break;
                }
            }
        }
예제 #29
0
파일: data.cs 프로젝트: bobwong89757/tabtoy
        public static Vec3 Deserialize(tabtoy.DataReader reader)
        {
            Vec3 ins = new Vec3();
            int  len = reader.ReadInt32();

            while (len > 0)
            {
                int tag = reader.ReadInt32();
                len--;
                switch (tag)
                {
                case 0x50000:
                {
                    ins.X = reader.ReadFloat();
                }
                break;

                case 0x50001:
                {
                    ins.Y = reader.ReadFloat();
                }
                break;

                case 0x50002:
                {
                    ins.Z = reader.ReadFloat();
                }
                break;
                }
            }
            return(ins);
        }
예제 #30
0
        public static void Deserialize(DemoDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.ID = reader.ReadInt32();
                }
                break;

                case 0x60001:
                {
                    ins.Name = reader.ReadString();
                }
                break;

                case 0x50002:
                {
                    ins.HP = reader.ReadFloat();
                }
                break;

                case 0x10003:
                {
                    ins.Skills.Add(reader.ReadInt32());
                }
                break;
                }
            }
        }