public bool CollectDataFromBinary(string file) { long t1 = TimeUtility.Instance.GetElapsedTimeUs(); bool result = true; BinaryTable table = new BinaryTable(); table.Load(HomePath.Instance.GetAbsolutePath(file)); long t2 = TimeUtility.Instance.GetElapsedTimeUs(); long t3 = TimeUtility.Instance.GetElapsedTimeUs(); for (int index = 0; index < table.Records.Count; ++index) { try { TData data = new TData(); bool ret = data.CollectDataFromBinary(table, index); if (ret && !m_DataContainer.ContainsKey(data.GetId())) { m_DataContainer.Add(data.GetId(), data); } else { string info = string.Format("DataTempalteMgr.CollectDataFromBinary collectData Row:{0} failed!", index); LogUtil.Error(info); LogUtil.CallStack(); result = false; } } catch (System.Exception ex) { LogUtil.Error("CollectData failed. file:{0} rowIndex:{1}\nException:{2}\n{3}", file, index, ex.Message, ex.StackTrace); } } long t4 = TimeUtility.Instance.GetElapsedTimeUs(); LogUtil.Info("binary load {0} parse {1}, file {2}", t2 - t1, t4 - t3, file); return(result); }
public static float SetValue(BinaryTable table, float val, float defaultVal) { return(val); }
public static int SetValue(BinaryTable table, int val, int defaultVal) { return(val); }
public static int SetValue(BinaryTable table, long val, long defaultVal) { return((int)val); }
public static int SetValue(BinaryTable table, bool val, bool defaultVal) { return(val ? 1 : 0); }
public static bool ExtractBool(BinaryTable table, int recordVal, bool defaultVal) { return(recordVal != 0); }
public static float ExtractFloat(BinaryTable table, float recordVal, float defaultVal) { return(recordVal); }
public static long ExtractLong(BinaryTable table, int recordVal, long defaultVal) { return(recordVal); }
public static int ExtractInt(BinaryTable table, int recordVal, int defaultVal) { return(recordVal); }