public void Deserialize(tabtoy.TableReader reader) { UInt32 tag = 0; while (reader.ReadTag(ref tag)) { switch (tag) { case 0x80000: { reader.ReadString(ref ServerIP); } break; case 0x40001: { reader.ReadUInt16(ref ServerPort); } break; case 0x20002: { reader.ReadInt32(ref GroupID); } break; } } }
static void Main(string[] args) { var curr = Directory.GetCurrentDirectory(); using (var stream = new FileStream("../../../../binary/table_gen.bin", FileMode.Open)) { stream.Position = 0; var reader = new tabtoy.TableReader(stream); var tab = new main.Table(); try { tab.Deserialize(reader); } catch (Exception e) { Console.WriteLine(e); throw; } Console.WriteLine(tab.ExampleData[3].Name); } }
// 加载所有表 static void LoadAllTable() { using (var stream = new FileStream("../../../../binary/table_gen.bin", FileMode.Open)) { stream.Position = 0; var reader = new tabtoy.TableReader(stream); var tab = new main.Table(); try { tab.Deserialize(reader); } catch (Exception e) { Console.WriteLine(e); throw; } // 表遍历 foreach (var kv in tab.ExampleData) { Console.Write("{0} {1}\n", kv.ID, kv.Name); } // 直接取值 Console.WriteLine(tab.ExtendData[1].Additive); // KV配置 Console.WriteLine(tab.GetKeyValue_ExampleKV().ServerIP); } }
public void Deserialize(tabtoy.TableReader reader) { UInt32 mamaSaidTagNameShouldBeLong = 0; while (reader.ReadTag(ref mamaSaidTagNameShouldBeLong)) { switch (mamaSaidTagNameShouldBeLong) { case 0x80000: { reader.ReadString(ref ServerIP); } break; case 0x40001: { reader.ReadUInt16(ref ServerPort); } break; default: { reader.SkipFiled(mamaSaidTagNameShouldBeLong); } break; } } }
public void Deserialize(tabtoy.TableReader reader) { reader.ReadHeader(); UInt32 mamaSaidTagNameShouldBeLong = 0; while (reader.ReadTag(ref mamaSaidTagNameShouldBeLong)) { if (mamaSaidTagNameShouldBeLong == 0x6f0000) { var tabName = string.Empty; reader.ReadString(ref tabName); switch (tabName) { case "MyData": { reader.ReadStruct(ref MyData); } break; default: { reader.SkipFiled(mamaSaidTagNameShouldBeLong); } break; } } } }
public void Deserialize(tabtoy.TableReader reader) { UInt32 mamaSaidTagNameShouldBeLong = 0; while (reader.ReadTag(ref mamaSaidTagNameShouldBeLong)) { switch (mamaSaidTagNameShouldBeLong) { case 0x70000: { reader.ReadFloat(ref Additive); } break; case 0x20001: { reader.ReadInt32(ref Index2); } break; default: { reader.SkipFiled(mamaSaidTagNameShouldBeLong); } break; } } }
public static void LoadAllTable() { using (var stream = new FileStream(Application.dataPath + "/Resources/Excel/table_gen.bin", FileMode.Open)) { stream.Position = 0; var reader = new tabtoy.TableReader(stream); var tab = new main.Table(); try { tab.Deserialize(reader); } catch (Exception e) { Console.WriteLine(e); throw; } // 表遍历 foreach (var kv in tab.ExampleData) { Debug.Log(kv.ID + " " + kv.Name); } // 直接取值 Debug.Log(tab.ExtendData[1].Additive); // KV配置 Debug.Log(tab.GetKeyValue_ExampleKV().ServerIP); } }
public void Deserialize(tabtoy.TableReader reader) { reader.ReadHeader(); reader.ReadStruct(ref ExampleData); reader.ReadStruct(ref ExampleKV); foreach (var kv in ExampleData) { ExampleDataByID[kv.ID] = kv; } }
public void Deserialize(tabtoy.TableReader reader) { UInt32 mamaSaidTagNameShouldBeLong = 0; while (reader.ReadTag(ref mamaSaidTagNameShouldBeLong)) { switch (mamaSaidTagNameShouldBeLong) { case 0x20000: { reader.ReadInt32(ref ID); } break; case 0x80001: { reader.ReadString(ref Name); } break; case 0x70002: { reader.ReadFloat(ref Rate); } break; case 0xa0003: { reader.ReadEnum(ref Type); } break; case 0x660004: { reader.ReadInt32(ref Skill); } break; case 0x660005: { reader.ReadInt32(ref Multi); } break; default: { reader.SkipFiled(mamaSaidTagNameShouldBeLong); } break; } } }
public void Deserialize(tabtoy.TableReader reader) { reader.ReadHeader(); UInt32 mamaSaidTagNameShouldBeLong = 0; while (reader.ReadTag(ref mamaSaidTagNameShouldBeLong)) { if (mamaSaidTagNameShouldBeLong == 0x6f0000) { var tabName = string.Empty; reader.ReadString(ref tabName); switch (tabName) { case "NPCData": { reader.ReadStruct(ref NPCData); } break; case "PlayerData": { reader.ReadStruct(ref PlayerData); } break; case "MyKV": { reader.ReadStruct(ref MyKV); } break; default: { reader.SkipFiled(mamaSaidTagNameShouldBeLong); } break; } } } foreach (var kv in PlayerData) { PlayerDataByID[kv.ID] = kv; } foreach (var kv in PlayerData) { PlayerDataByName[kv.Name] = kv; } }
// 读取指定名字的表, 可根据实际需求调整该函数适应不同加载数据来源 static void LoadTableByName(main.Table tab, string tableName) { using (var stream = new FileStream(string.Format("../../../../binary/{0}.bin", tableName), FileMode.Open)) { stream.Position = 0; var reader = new tabtoy.TableReader(stream); try { tab.Deserialize(reader); } catch (Exception e) { Console.WriteLine(e); throw; } } }
public void Init() { var textAssetTableBytes = EZResource.Instance.LoadRes("GameTable") as TextAsset; var bytes = textAssetTableBytes.bytes; using (MemoryStream stream = new MemoryStream(bytes)) { stream.Position = 0; var reader = new tabtoy.TableReader(stream); GameTable = new Table(); try { GameTable.Deserialize(reader); } catch (Exception e) { Console.WriteLine(e); throw; } } }
public void Deserialize(tabtoy.TableReader reader) { UInt32 tag = 0; while (reader.ReadTag(ref tag)) { switch (tag) { case 0x20000: { reader.ReadInt32(ref ID); } break; case 0x80001: { reader.ReadString(ref Name); } break; case 0x70002: { reader.ReadFloat(ref Rate); } break; case 0xa0003: { reader.ReadEnum(ref Type); } break; case 0x20004: { reader.ReadInt32(ref Skill); } break; } } }
public void Deserialize(tabtoy.TableReader reader) { reader.ReadHeader(); UInt32 tag = 0; while (reader.ReadTag(ref tag)) { if (tag == 0x6f0000) { var tabName = string.Empty; reader.ReadString(ref tabName); switch (tabName) { case "ExampleData": { reader.ReadStruct(ref ExampleData); } break; case "ExampleKV": { reader.ReadStruct(ref ExampleKV); } break; default: { reader.SkipFiled(tag); } break; } } } foreach (var kv in ExampleData) { ExampleDataByID[kv.ID] = kv; } }