//============================================ //--4>: // Exported by ExcelConfigExport // // 此代码为工具根据配置自动生成, 请不要修改 // //============================================ using System; using Sog; using System.Collections.Generic; #if UNITY_2019_1_OR_NEWER using GameLogic; #endif public partial class TalismanDescMgr : IConfigManager { //Singleton private static TalismanDescMgr _instance; private static readonly object syslock = new object(); public static TalismanDescMgr Instance { get { if (_instance == null) { lock (syslock) { if (_instance == null) { _instance = new TalismanDescMgr(); }}} return _instance; }} public class ItemData { public TalismanDesc Item; public int Line; public bool ReadAlready; } protected SortedList m_ItemTable = new SortedList(); //for server only, m_readKeyOnly must be false protected SortedList m_ItemDescTable = new SortedList(); public SortedList ItemTable { get { if (m_ItemDescTable.Count == 0) { foreach (var item in m_ItemTable) { m_ItemDescTable.Add(item.Key, item.Value.Item); }} return m_ItemDescTable; } } private TabBinFile m_tbf; //private TabTextFile m_tf; private int m_curAsynKey1; public override bool InitBin(string fileName, byte[] fileContent) { m_ErrorCount = 0; m_ItemTable.Clear(); m_ItemDescTable.Clear(); m_allRead = false; m_curAsynKey1 = 0; m_tbf = new TabBinFile(fileName, fileContent); while (m_tbf.Next()) { ItemData itemData = new ItemData() { Item = new TalismanDesc() }; var item = itemData.Item; if (m_readKeyOnly) {m_tbf.SetCurrentCol(0); } if (item.ReadItemBin(m_tbf, m_readKeyOnly) == false) { TraceLog.Error("Failed to InitBin TabManager:{0}, read line error, line: {1}", this.ToString(), m_tbf.CurrentLine); m_ErrorCount++; continue; } if (m_ItemTable.ContainsKey(item.GetKey1())) { TraceLog.Error("Failed to InitBin TabManager:{0}, multi key:{1}, line: {2}", this.ToString(), item.GetKey1(), m_tbf.CurrentLine); m_ErrorCount++; continue; } m_ItemTable.Add(item.GetKey1(), itemData); if (m_readKeyOnly) { itemData.Line = m_tbf.CurrentLine; } else { itemData.ReadAlready = true; } } if (!m_readKeyOnly) { m_tbf = null; } return true; } #if UNITY_2019_1_OR_NEWER public override bool InitBinByIL(string fileName, byte[] fileContent) { m_ErrorCount = 0; m_ItemTable.Clear(); m_tbf = new TabBinFile(fileName, fileContent); while (m_tbf.Next()) { ItemData itemData = new ItemData() { Item = new TalismanDesc() }; int keyCount = 0; if(m_readKeyOnly) { keyCount = 1;} var item = itemData.Item; item = item.ReadItemInIL(m_tbf, keyCount); if (item == null) { TraceLog.Error("Failed to init TabManager:{0}, read line error, line: {1}", this.ToString(), m_tbf.CurrentLine); m_ErrorCount++; continue; } if (m_ItemTable.ContainsKey(item.GetKey1())) { TraceLog.Error("Failed to init TabManager:{0}, multi key:{1}, line: {2}", this.ToString(), item.GetKey1(), m_tbf.CurrentLine); m_ErrorCount++; continue; } m_ItemTable.Add(item.GetKey1(), itemData); if (m_readKeyOnly) { itemData.Line = m_tbf.CurrentLine; } else { itemData.ReadAlready = true; } } return true; } #endif public TalismanDesc GetConfig(int key) { ItemData itemData; if (m_ItemTable.TryGetValue(key, out itemData) == false) { return null; } if(itemData.ReadAlready) { return itemData.Item; } if (m_tbf == null) { TraceLog.Error("Cfg1KeyMgrTemplate.GetConfig Failed fs null TabManager:{ 0}, read line error,", this.ToString()); return null; } m_tbf.SetCurrentLine(itemData.Line); m_tbf.SetCurrentCol(0); itemData.ReadAlready = true; if (itemData.Item.ReadItemBin(m_tbf, false) == false) { TraceLog.Error("Cfg1KeyMgrTemplate.GetConfig Failed to init TabManager:{0}, read line error, line: {1}", this.ToString(), m_tbf.CurrentLine); return null; } return itemData.Item; } public override int AsynReadBin(int maxTimes) { int times = 0; if (m_allRead) { return times; } if (m_tbf == null) { return times; } for (; m_curAsynKey1 < m_ItemTable.Count && times < maxTimes; m_curAsynKey1++) { var itemData = m_ItemTable.Values[m_curAsynKey1]; if (itemData.ReadAlready) { continue; } m_tbf.SetCurrentLine(itemData.Line); m_tbf.SetCurrentCol(0); itemData.ReadAlready = true; if (itemData.Item.ReadItemBin(m_tbf, false) == false) { TraceLog.Error("Cfg1KeyMgrTemplate.AsynReadBin Failed to init TabManager:{ 0}, read line error, line: { 1}", this.ToString(), m_tbf.CurrentLine); return times; } times++; } if (m_curAsynKey1 >= m_ItemTable.Count) { m_allRead = true; m_tbf = null; } return times; } } public partial class TalismanDesc { public partial class BaseAttribute { public int[] Condition{ get; set; } // 0//基础属性条件参数1 public int Type{ get; set; } // 0//基础属性类型1 CSPropIDType表 public long[] NumStar{ get; set; } // 0//升星-基础属性每星加成1(万分比) } public static readonly string _KEY_id = "id"; public static readonly string _KEY_name = "name"; public static readonly string _KEY_desc = "desc"; public static readonly string _KEY_quality = "quality"; public static readonly string _KEY_isShow = "isShow"; public static readonly string _KEY_talismanSet = "talismanSet"; public static readonly string _KEY_fragmentID = "fragmentID"; public static readonly string _KEY_fragmentNum = "fragmentNum"; public static readonly string _KEY_fragmentAwakenID = "fragmentAwakenID"; public static readonly string _KEY_fragmentAwakenNum = "fragmentAwakenNum"; public static readonly string _KEY_levelUpCost = "levelUpCost"; public static readonly string _KEY_StarUpCost = "StarUpCost"; public static readonly string _KEY_baseAttribute_0_Condition_2_0 = "baseAttribute_0_Condition_2_0"; public static readonly string _KEY_baseAttribute_0_Condition_2_1 = "baseAttribute_0_Condition_2_1"; public static readonly string _KEY_baseAttribute_0_Type = "baseAttribute_0_Type"; public static readonly string _KEY_baseAttribute_0_NumStar_10_0 = "baseAttribute_0_NumStar_10_0"; public static readonly string _KEY_baseAttribute_0_NumStar_10_1 = "baseAttribute_0_NumStar_10_1"; public static readonly string _KEY_baseAttribute_0_NumStar_10_2 = "baseAttribute_0_NumStar_10_2"; public static readonly string _KEY_baseAttribute_0_NumStar_10_3 = "baseAttribute_0_NumStar_10_3"; public static readonly string _KEY_baseAttribute_0_NumStar_10_4 = "baseAttribute_0_NumStar_10_4"; public static readonly string _KEY_baseAttribute_0_NumStar_10_5 = "baseAttribute_0_NumStar_10_5"; public static readonly string _KEY_baseAttribute_0_NumStar_10_6 = "baseAttribute_0_NumStar_10_6"; public static readonly string _KEY_baseAttribute_0_NumStar_10_7 = "baseAttribute_0_NumStar_10_7"; public static readonly string _KEY_baseAttribute_0_NumStar_10_8 = "baseAttribute_0_NumStar_10_8"; public static readonly string _KEY_baseAttribute_0_NumStar_10_9 = "baseAttribute_0_NumStar_10_9"; public static readonly string _KEY_specialAttributeCondition_2_0 = "specialAttributeCondition_2_0"; public static readonly string _KEY_specialAttributeCondition_2_1 = "specialAttributeCondition_2_1"; public static readonly string _KEY_specialAttributeType = "specialAttributeType"; public static readonly string _KEY_specialAttributeNumStar_10_0 = "specialAttributeNumStar_10_0"; public static readonly string _KEY_specialAttributeNumStar_10_1 = "specialAttributeNumStar_10_1"; public static readonly string _KEY_specialAttributeNumStar_10_2 = "specialAttributeNumStar_10_2"; public static readonly string _KEY_specialAttributeNumStar_10_3 = "specialAttributeNumStar_10_3"; public static readonly string _KEY_specialAttributeNumStar_10_4 = "specialAttributeNumStar_10_4"; public static readonly string _KEY_specialAttributeNumStar_10_5 = "specialAttributeNumStar_10_5"; public static readonly string _KEY_specialAttributeNumStar_10_6 = "specialAttributeNumStar_10_6"; public static readonly string _KEY_specialAttributeNumStar_10_7 = "specialAttributeNumStar_10_7"; public static readonly string _KEY_specialAttributeNumStar_10_8 = "specialAttributeNumStar_10_8"; public static readonly string _KEY_specialAttributeNumStar_10_9 = "specialAttributeNumStar_10_9"; public static readonly string _KEY_specialAttributeNumLevel_50_0 = "specialAttributeNumLevel_50_0"; public static readonly string _KEY_specialAttributeNumLevel_50_1 = "specialAttributeNumLevel_50_1"; public static readonly string _KEY_specialAttributeNumLevel_50_2 = "specialAttributeNumLevel_50_2"; public static readonly string _KEY_specialAttributeNumLevel_50_3 = "specialAttributeNumLevel_50_3"; public static readonly string _KEY_specialAttributeNumLevel_50_4 = "specialAttributeNumLevel_50_4"; public static readonly string _KEY_specialAttributeNumLevel_50_5 = "specialAttributeNumLevel_50_5"; public static readonly string _KEY_specialAttributeNumLevel_50_6 = "specialAttributeNumLevel_50_6"; public static readonly string _KEY_specialAttributeNumLevel_50_7 = "specialAttributeNumLevel_50_7"; public static readonly string _KEY_specialAttributeNumLevel_50_8 = "specialAttributeNumLevel_50_8"; public static readonly string _KEY_specialAttributeNumLevel_50_9 = "specialAttributeNumLevel_50_9"; public static readonly string _KEY_specialAttributeNumLevel_50_10 = "specialAttributeNumLevel_50_10"; public static readonly string _KEY_specialAttributeNumLevel_50_11 = "specialAttributeNumLevel_50_11"; public static readonly string _KEY_specialAttributeNumLevel_50_12 = "specialAttributeNumLevel_50_12"; public static readonly string _KEY_specialAttributeNumLevel_50_13 = "specialAttributeNumLevel_50_13"; public static readonly string _KEY_specialAttributeNumLevel_50_14 = "specialAttributeNumLevel_50_14"; public static readonly string _KEY_specialAttributeNumLevel_50_15 = "specialAttributeNumLevel_50_15"; public static readonly string _KEY_specialAttributeNumLevel_50_16 = "specialAttributeNumLevel_50_16"; public static readonly string _KEY_specialAttributeNumLevel_50_17 = "specialAttributeNumLevel_50_17"; public static readonly string _KEY_specialAttributeNumLevel_50_18 = "specialAttributeNumLevel_50_18"; public static readonly string _KEY_specialAttributeNumLevel_50_19 = "specialAttributeNumLevel_50_19"; public static readonly string _KEY_specialAttributeNumLevel_50_20 = "specialAttributeNumLevel_50_20"; public static readonly string _KEY_specialAttributeNumLevel_50_21 = "specialAttributeNumLevel_50_21"; public static readonly string _KEY_specialAttributeNumLevel_50_22 = "specialAttributeNumLevel_50_22"; public static readonly string _KEY_specialAttributeNumLevel_50_23 = "specialAttributeNumLevel_50_23"; public static readonly string _KEY_specialAttributeNumLevel_50_24 = "specialAttributeNumLevel_50_24"; public static readonly string _KEY_specialAttributeNumLevel_50_25 = "specialAttributeNumLevel_50_25"; public static readonly string _KEY_specialAttributeNumLevel_50_26 = "specialAttributeNumLevel_50_26"; public static readonly string _KEY_specialAttributeNumLevel_50_27 = "specialAttributeNumLevel_50_27"; public static readonly string _KEY_specialAttributeNumLevel_50_28 = "specialAttributeNumLevel_50_28"; public static readonly string _KEY_specialAttributeNumLevel_50_29 = "specialAttributeNumLevel_50_29"; public static readonly string _KEY_specialAttributeNumLevel_50_30 = "specialAttributeNumLevel_50_30"; public static readonly string _KEY_specialAttributeNumLevel_50_31 = "specialAttributeNumLevel_50_31"; public static readonly string _KEY_specialAttributeNumLevel_50_32 = "specialAttributeNumLevel_50_32"; public static readonly string _KEY_specialAttributeNumLevel_50_33 = "specialAttributeNumLevel_50_33"; public static readonly string _KEY_specialAttributeNumLevel_50_34 = "specialAttributeNumLevel_50_34"; public static readonly string _KEY_specialAttributeNumLevel_50_35 = "specialAttributeNumLevel_50_35"; public static readonly string _KEY_specialAttributeNumLevel_50_36 = "specialAttributeNumLevel_50_36"; public static readonly string _KEY_specialAttributeNumLevel_50_37 = "specialAttributeNumLevel_50_37"; public static readonly string _KEY_specialAttributeNumLevel_50_38 = "specialAttributeNumLevel_50_38"; public static readonly string _KEY_specialAttributeNumLevel_50_39 = "specialAttributeNumLevel_50_39"; public static readonly string _KEY_specialAttributeNumLevel_50_40 = "specialAttributeNumLevel_50_40"; public static readonly string _KEY_specialAttributeNumLevel_50_41 = "specialAttributeNumLevel_50_41"; public static readonly string _KEY_specialAttributeNumLevel_50_42 = "specialAttributeNumLevel_50_42"; public static readonly string _KEY_specialAttributeNumLevel_50_43 = "specialAttributeNumLevel_50_43"; public static readonly string _KEY_specialAttributeNumLevel_50_44 = "specialAttributeNumLevel_50_44"; public static readonly string _KEY_specialAttributeNumLevel_50_45 = "specialAttributeNumLevel_50_45"; public static readonly string _KEY_specialAttributeNumLevel_50_46 = "specialAttributeNumLevel_50_46"; public static readonly string _KEY_specialAttributeNumLevel_50_47 = "specialAttributeNumLevel_50_47"; public static readonly string _KEY_specialAttributeNumLevel_50_48 = "specialAttributeNumLevel_50_48"; public static readonly string _KEY_specialAttributeNumLevel_50_49 = "specialAttributeNumLevel_50_49"; public int id { get; set; } // //遗物ID public string name { get; set; } // //遗物名 public string desc { get; set; } // //遗物描述 public int quality { get; set; } // //品质 public int isShow { get; set; } // //是否可见 public int talismanSet { get; set; } // //遗物所属套装 public int fragmentID { get; set; } // //分解获得的道具ID public int fragmentNum { get; set; } // //分解获得的道具数量 public int fragmentAwakenID { get; set; } // //觉醒碎片兑换材料ID public int fragmentAwakenNum { get; set; } // //觉醒碎片兑换材料数量(1碎片对应N材料) public int levelUpCost { get; set; } // //升级消耗与条件;对应TalismanLevel表 public int StarUpCost { get; set; } // //升星/觉醒消耗;对应TalismanStar表 public BaseAttribute[] baseAttribute { get; set; } public int[] specialAttributeCondition { get; set; } // //特殊属性条件参数 public int specialAttributeType { get; set; } // //特殊属性类型 CSPropIDType表 public long[] specialAttributeNumStar { get; set; } // //升星-特殊属性每星加成 public long[] specialAttributeNumLevel { get; set; } // //升级-特殊属性每级加成 public Dictionary listDic = new Dictionary(); public TalismanDesc() { baseAttribute = new BaseAttribute[1]; baseAttribute[0] = new BaseAttribute(); listDic.Add("baseAttribute", typeof(BaseAttribute)); baseAttribute[0].Condition = new int[2]; baseAttribute[0].NumStar = new long[10]; specialAttributeCondition = new int[2]; listDic.Add("specialAttributeCondition", typeof(int)); specialAttributeNumStar = new long[10]; listDic.Add("specialAttributeNumStar", typeof(long)); specialAttributeNumLevel = new long[50]; listDic.Add("specialAttributeNumLevel", typeof(long)); } public int GetKey1() { return id; } public bool ReadItem(TabTextFile txf, bool readKeyOnly) { id = txf.Get(_KEY_id); if(readKeyOnly) { return true; } name = txf.Get(_KEY_name); desc = txf.Get(_KEY_desc); quality = txf.Get(_KEY_quality); isShow = txf.Get(_KEY_isShow); talismanSet = txf.Get(_KEY_talismanSet); fragmentID = txf.Get(_KEY_fragmentID); fragmentNum = txf.Get(_KEY_fragmentNum); fragmentAwakenID = txf.Get(_KEY_fragmentAwakenID); fragmentAwakenNum = txf.Get(_KEY_fragmentAwakenNum); levelUpCost = txf.Get(_KEY_levelUpCost); StarUpCost = txf.Get(_KEY_StarUpCost); baseAttribute[0].Condition[0] = txf.Get(_KEY_baseAttribute_0_Condition_2_0); baseAttribute[0].Condition[1] = txf.Get(_KEY_baseAttribute_0_Condition_2_1); baseAttribute[0].Type = txf.Get(_KEY_baseAttribute_0_Type); baseAttribute[0].NumStar[0] = txf.Get(_KEY_baseAttribute_0_NumStar_10_0); baseAttribute[0].NumStar[1] = txf.Get(_KEY_baseAttribute_0_NumStar_10_1); baseAttribute[0].NumStar[2] = txf.Get(_KEY_baseAttribute_0_NumStar_10_2); baseAttribute[0].NumStar[3] = txf.Get(_KEY_baseAttribute_0_NumStar_10_3); baseAttribute[0].NumStar[4] = txf.Get(_KEY_baseAttribute_0_NumStar_10_4); baseAttribute[0].NumStar[5] = txf.Get(_KEY_baseAttribute_0_NumStar_10_5); baseAttribute[0].NumStar[6] = txf.Get(_KEY_baseAttribute_0_NumStar_10_6); baseAttribute[0].NumStar[7] = txf.Get(_KEY_baseAttribute_0_NumStar_10_7); baseAttribute[0].NumStar[8] = txf.Get(_KEY_baseAttribute_0_NumStar_10_8); baseAttribute[0].NumStar[9] = txf.Get(_KEY_baseAttribute_0_NumStar_10_9); specialAttributeCondition[0] = txf.Get(_KEY_specialAttributeCondition_2_0); specialAttributeCondition[1] = txf.Get(_KEY_specialAttributeCondition_2_1); specialAttributeType = txf.Get(_KEY_specialAttributeType); specialAttributeNumStar[0] = txf.Get(_KEY_specialAttributeNumStar_10_0); specialAttributeNumStar[1] = txf.Get(_KEY_specialAttributeNumStar_10_1); specialAttributeNumStar[2] = txf.Get(_KEY_specialAttributeNumStar_10_2); specialAttributeNumStar[3] = txf.Get(_KEY_specialAttributeNumStar_10_3); specialAttributeNumStar[4] = txf.Get(_KEY_specialAttributeNumStar_10_4); specialAttributeNumStar[5] = txf.Get(_KEY_specialAttributeNumStar_10_5); specialAttributeNumStar[6] = txf.Get(_KEY_specialAttributeNumStar_10_6); specialAttributeNumStar[7] = txf.Get(_KEY_specialAttributeNumStar_10_7); specialAttributeNumStar[8] = txf.Get(_KEY_specialAttributeNumStar_10_8); specialAttributeNumStar[9] = txf.Get(_KEY_specialAttributeNumStar_10_9); specialAttributeNumLevel[0] = txf.Get(_KEY_specialAttributeNumLevel_50_0); specialAttributeNumLevel[1] = txf.Get(_KEY_specialAttributeNumLevel_50_1); specialAttributeNumLevel[2] = txf.Get(_KEY_specialAttributeNumLevel_50_2); specialAttributeNumLevel[3] = txf.Get(_KEY_specialAttributeNumLevel_50_3); specialAttributeNumLevel[4] = txf.Get(_KEY_specialAttributeNumLevel_50_4); specialAttributeNumLevel[5] = txf.Get(_KEY_specialAttributeNumLevel_50_5); specialAttributeNumLevel[6] = txf.Get(_KEY_specialAttributeNumLevel_50_6); specialAttributeNumLevel[7] = txf.Get(_KEY_specialAttributeNumLevel_50_7); specialAttributeNumLevel[8] = txf.Get(_KEY_specialAttributeNumLevel_50_8); specialAttributeNumLevel[9] = txf.Get(_KEY_specialAttributeNumLevel_50_9); specialAttributeNumLevel[10] = txf.Get(_KEY_specialAttributeNumLevel_50_10); specialAttributeNumLevel[11] = txf.Get(_KEY_specialAttributeNumLevel_50_11); specialAttributeNumLevel[12] = txf.Get(_KEY_specialAttributeNumLevel_50_12); specialAttributeNumLevel[13] = txf.Get(_KEY_specialAttributeNumLevel_50_13); specialAttributeNumLevel[14] = txf.Get(_KEY_specialAttributeNumLevel_50_14); specialAttributeNumLevel[15] = txf.Get(_KEY_specialAttributeNumLevel_50_15); specialAttributeNumLevel[16] = txf.Get(_KEY_specialAttributeNumLevel_50_16); specialAttributeNumLevel[17] = txf.Get(_KEY_specialAttributeNumLevel_50_17); specialAttributeNumLevel[18] = txf.Get(_KEY_specialAttributeNumLevel_50_18); specialAttributeNumLevel[19] = txf.Get(_KEY_specialAttributeNumLevel_50_19); specialAttributeNumLevel[20] = txf.Get(_KEY_specialAttributeNumLevel_50_20); specialAttributeNumLevel[21] = txf.Get(_KEY_specialAttributeNumLevel_50_21); specialAttributeNumLevel[22] = txf.Get(_KEY_specialAttributeNumLevel_50_22); specialAttributeNumLevel[23] = txf.Get(_KEY_specialAttributeNumLevel_50_23); specialAttributeNumLevel[24] = txf.Get(_KEY_specialAttributeNumLevel_50_24); specialAttributeNumLevel[25] = txf.Get(_KEY_specialAttributeNumLevel_50_25); specialAttributeNumLevel[26] = txf.Get(_KEY_specialAttributeNumLevel_50_26); specialAttributeNumLevel[27] = txf.Get(_KEY_specialAttributeNumLevel_50_27); specialAttributeNumLevel[28] = txf.Get(_KEY_specialAttributeNumLevel_50_28); specialAttributeNumLevel[29] = txf.Get(_KEY_specialAttributeNumLevel_50_29); specialAttributeNumLevel[30] = txf.Get(_KEY_specialAttributeNumLevel_50_30); specialAttributeNumLevel[31] = txf.Get(_KEY_specialAttributeNumLevel_50_31); specialAttributeNumLevel[32] = txf.Get(_KEY_specialAttributeNumLevel_50_32); specialAttributeNumLevel[33] = txf.Get(_KEY_specialAttributeNumLevel_50_33); specialAttributeNumLevel[34] = txf.Get(_KEY_specialAttributeNumLevel_50_34); specialAttributeNumLevel[35] = txf.Get(_KEY_specialAttributeNumLevel_50_35); specialAttributeNumLevel[36] = txf.Get(_KEY_specialAttributeNumLevel_50_36); specialAttributeNumLevel[37] = txf.Get(_KEY_specialAttributeNumLevel_50_37); specialAttributeNumLevel[38] = txf.Get(_KEY_specialAttributeNumLevel_50_38); specialAttributeNumLevel[39] = txf.Get(_KEY_specialAttributeNumLevel_50_39); specialAttributeNumLevel[40] = txf.Get(_KEY_specialAttributeNumLevel_50_40); specialAttributeNumLevel[41] = txf.Get(_KEY_specialAttributeNumLevel_50_41); specialAttributeNumLevel[42] = txf.Get(_KEY_specialAttributeNumLevel_50_42); specialAttributeNumLevel[43] = txf.Get(_KEY_specialAttributeNumLevel_50_43); specialAttributeNumLevel[44] = txf.Get(_KEY_specialAttributeNumLevel_50_44); specialAttributeNumLevel[45] = txf.Get(_KEY_specialAttributeNumLevel_50_45); specialAttributeNumLevel[46] = txf.Get(_KEY_specialAttributeNumLevel_50_46); specialAttributeNumLevel[47] = txf.Get(_KEY_specialAttributeNumLevel_50_47); specialAttributeNumLevel[48] = txf.Get(_KEY_specialAttributeNumLevel_50_48); specialAttributeNumLevel[49] = txf.Get(_KEY_specialAttributeNumLevel_50_49); return true; } public bool ReadItemBin(TabBinFile txf, bool readKeyOnly) { id = txf.GetintByIndex(_KEY_id); if(readKeyOnly) { return true; } name = txf.GetstringByIndex(_KEY_name); desc = txf.GetstringByIndex(_KEY_desc); quality = txf.GetintByIndex(_KEY_quality); isShow = txf.GetintByIndex(_KEY_isShow); talismanSet = txf.GetintByIndex(_KEY_talismanSet); fragmentID = txf.GetintByIndex(_KEY_fragmentID); fragmentNum = txf.GetintByIndex(_KEY_fragmentNum); fragmentAwakenID = txf.GetintByIndex(_KEY_fragmentAwakenID); fragmentAwakenNum = txf.GetintByIndex(_KEY_fragmentAwakenNum); levelUpCost = txf.GetintByIndex(_KEY_levelUpCost); StarUpCost = txf.GetintByIndex(_KEY_StarUpCost); baseAttribute[0].Condition[0] = txf.GetintByIndex(_KEY_baseAttribute_0_Condition_2_0); baseAttribute[0].Condition[1] = txf.GetintByIndex(_KEY_baseAttribute_0_Condition_2_1); baseAttribute[0].Type = txf.GetintByIndex(_KEY_baseAttribute_0_Type); baseAttribute[0].NumStar[0] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_0); baseAttribute[0].NumStar[1] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_1); baseAttribute[0].NumStar[2] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_2); baseAttribute[0].NumStar[3] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_3); baseAttribute[0].NumStar[4] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_4); baseAttribute[0].NumStar[5] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_5); baseAttribute[0].NumStar[6] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_6); baseAttribute[0].NumStar[7] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_7); baseAttribute[0].NumStar[8] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_8); baseAttribute[0].NumStar[9] = txf.GetlongByIndex(_KEY_baseAttribute_0_NumStar_10_9); specialAttributeCondition[0] = txf.GetintByIndex(_KEY_specialAttributeCondition_2_0); specialAttributeCondition[1] = txf.GetintByIndex(_KEY_specialAttributeCondition_2_1); specialAttributeType = txf.GetintByIndex(_KEY_specialAttributeType); specialAttributeNumStar[0] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_0); specialAttributeNumStar[1] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_1); specialAttributeNumStar[2] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_2); specialAttributeNumStar[3] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_3); specialAttributeNumStar[4] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_4); specialAttributeNumStar[5] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_5); specialAttributeNumStar[6] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_6); specialAttributeNumStar[7] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_7); specialAttributeNumStar[8] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_8); specialAttributeNumStar[9] = txf.GetlongByIndex(_KEY_specialAttributeNumStar_10_9); specialAttributeNumLevel[0] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_0); specialAttributeNumLevel[1] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_1); specialAttributeNumLevel[2] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_2); specialAttributeNumLevel[3] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_3); specialAttributeNumLevel[4] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_4); specialAttributeNumLevel[5] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_5); specialAttributeNumLevel[6] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_6); specialAttributeNumLevel[7] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_7); specialAttributeNumLevel[8] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_8); specialAttributeNumLevel[9] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_9); specialAttributeNumLevel[10] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_10); specialAttributeNumLevel[11] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_11); specialAttributeNumLevel[12] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_12); specialAttributeNumLevel[13] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_13); specialAttributeNumLevel[14] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_14); specialAttributeNumLevel[15] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_15); specialAttributeNumLevel[16] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_16); specialAttributeNumLevel[17] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_17); specialAttributeNumLevel[18] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_18); specialAttributeNumLevel[19] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_19); specialAttributeNumLevel[20] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_20); specialAttributeNumLevel[21] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_21); specialAttributeNumLevel[22] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_22); specialAttributeNumLevel[23] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_23); specialAttributeNumLevel[24] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_24); specialAttributeNumLevel[25] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_25); specialAttributeNumLevel[26] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_26); specialAttributeNumLevel[27] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_27); specialAttributeNumLevel[28] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_28); specialAttributeNumLevel[29] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_29); specialAttributeNumLevel[30] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_30); specialAttributeNumLevel[31] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_31); specialAttributeNumLevel[32] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_32); specialAttributeNumLevel[33] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_33); specialAttributeNumLevel[34] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_34); specialAttributeNumLevel[35] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_35); specialAttributeNumLevel[36] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_36); specialAttributeNumLevel[37] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_37); specialAttributeNumLevel[38] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_38); specialAttributeNumLevel[39] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_39); specialAttributeNumLevel[40] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_40); specialAttributeNumLevel[41] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_41); specialAttributeNumLevel[42] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_42); specialAttributeNumLevel[43] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_43); specialAttributeNumLevel[44] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_44); specialAttributeNumLevel[45] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_45); specialAttributeNumLevel[46] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_46); specialAttributeNumLevel[47] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_47); specialAttributeNumLevel[48] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_48); specialAttributeNumLevel[49] = txf.GetlongByIndex(_KEY_specialAttributeNumLevel_50_49); return true; } #if UNITY_2019_1_OR_NEWER public TalismanDesc ReadItemInIL(TabBinFile txf ,int keyCount = 0) { byte[] ret = txf.GetLength(); if (ret.Length == 0) { return null; } return SerializeObj.ConfigDeSerialize(this, ret, txf.ColPosList, txf.listPosList, this.listDic, txf.m_stringBlock, keyCount); } #endif }