Beispiel #1
0
        static void Main(string[] args)
        {
            using (var stream = new FileStream("../../Config.bin", FileMode.Open))
            {
                stream.Position = 0;

                var reader = new tabtoy.DataReader(stream);

                var config = new table.Config();

                var result = reader.ReadHeader(config.GetBuildID());
                if (result != FileState.OK)
                {
                    Console.WriteLine("combine file crack!");
                    return;
                }


                table.Config.Deserialize(config, reader);

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

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

                // 取空时, 当默认值不为空时, 输出日志
                var nullFetchOutLog = config.GetSampleByID(0);
            }
        }
Beispiel #2
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();
            }
        }
Beispiel #3
0
        // 本例子需要第三方库支持 https://github.com/davyxu/MemQLSharp
        // 将第三方库与tabtoy放在同层即可

        static void Main(string[] args)
        {
            using (var stream = new FileStream("../../../../Config.bin", FileMode.Open))
            {
                stream.Position = 0;

                var reader = new tabtoy.DataReader(stream);

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

                // 读取配置
                var config = new table.Config();
                config.Deserialize(reader);

                // 简单范围查询
                var cmql = new table.ConfigMemQL(config);

                foreach (var v in cmql.NewQuerySample()
                         .Where("ID", ">=", (Int64)101)
                         .Where("ID", "<=", (Int64)102)
                         .Result())
                {
                    var def = v as table.SampleDefine;
                    Console.WriteLine(def.ID);
                }



                // 枚举查询

                foreach (var v in cmql.NewQuerySample()
                         .Where("Type", ">=", table.ActorType.Monkey)
                         .Where("Type", "<=", table.ActorType.Hammer)
                         .Result())
                {
                    var def = v as table.SampleDefine;
                    Console.WriteLine(def.Type);
                }
            }
        }