Example #1
0
    public void ConvertTekiInfo(string path)
    {
        List <string> lineList = this.getLineList(path);

        FlatBuffers.FlatBufferBuilder             fbb  = new FlatBuffers.FlatBufferBuilder(1);
        FlatBuffers.Offset <TekiInfoTable.Data>[] data = new FlatBuffers.Offset <TekiInfoTable.Data> [lineList.Count];
        int count = 0;

        foreach (string line in lineList)
        {
            string[]            values         = line.Split(',');
            int                 id             = int.Parse(values[0]);
            TekiDefine.MoveType moveType       = (TekiDefine.MoveType)Enum.Parse(typeof(TekiDefine.MoveType), values[1]);
            int                 messageEventId = int.Parse(values[2]);
            data[count] = TekiInfoTable.Data.CreateData(fbb, id, moveType, messageEventId);
            ++count;
        }
        FlatBuffers.VectorOffset infoVec = TekiInfoTable.DataList.CreateDatasVector(fbb, data);
        FlatBuffers.Offset <TekiInfoTable.DataList> reslut = TekiInfoTable.DataList.CreateDataList(fbb, infoVec);
        TekiInfoTable.DataList.FinishDataListBuffer(fbb, reslut);
        using (System.IO.FileStream fs = new System.IO.FileStream("teki-info-table.bin", System.IO.FileMode.Create))
        {
            using (System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs))
            {
                bw.Write(fbb.SizedByteArray());
            }
        }
    }
 public static Offset <Data> CreateData(FlatBufferBuilder builder,
                                        int id = 0,
                                        TekiDefine.MoveType moveType = TekiDefine.MoveType.None,
                                        int MessageEvent             = 0)
 {
     builder.StartObject(3);
     Data.AddMessageEvent(builder, MessageEvent);
     Data.AddId(builder, id);
     Data.AddMoveType(builder, moveType);
     return(Data.EndData(builder));
 }
 public static void AddMoveType(FlatBufferBuilder builder, TekiDefine.MoveType moveType)
 {
     builder.AddSbyte(1, (sbyte)moveType, 0);
 }