public static void SerializableTable(string[] valuesList, int skey, Dictionary <int, List <object> > _hash) { if ((int)_ID.MAX_RECORD != valuesList.Length) { throw TableException.ErrorReader("Load {0} error as CodeSize:{1} not Equal DataSize:{2}", GetInstanceFile(), _ID.MAX_RECORD, valuesList.Length); } Tab_UnitTemplate _values = new Tab_UnitTemplate(); _values.m_Attack = Convert.ToSingle(valuesList[(int)_ID.ID_ATTACK] as string); _values.m_AttackSpaceTime = Convert.ToSingle(valuesList[(int)_ID.ID_ATTACKSPACETIME] as string); _values.m_AttackType = Convert.ToInt32(valuesList[(int)_ID.ID_ATTACKTYPE] as string); _values.m_Id = Convert.ToInt32(valuesList[(int)_ID.ID_ID] as string); _values.m_UnitArrowPath = valuesList[(int)_ID.ID_UNITARROWPATH] as string; _values.m_UnitAttackRange = Convert.ToSingle(valuesList[(int)_ID.ID_UNITATTACKRANGE] as string); _values.m_UnitMaxHP = Convert.ToSingle(valuesList[(int)_ID.ID_UNITMAXHP] as string); _values.m_UnitPath = valuesList[(int)_ID.ID_UNITPATH] as string; _values.m_UnitRadius = Convert.ToSingle(valuesList[(int)_ID.ID_UNITRADIUS] as string); _values.m_UnitSkillPath = valuesList[(int)_ID.ID_UNITSKILLPATH] as string; _values.m_UnitSpaceH = Convert.ToSingle(valuesList[(int)_ID.ID_UNITSPACEH] as string); _values.m_UnitSpaceL = Convert.ToSingle(valuesList[(int)_ID.ID_UNITSPACEL] as string); _values.m_UnitType = Convert.ToInt32(valuesList[(int)_ID.ID_UNITTYPE] as string); _values.m_UnitView = Convert.ToSingle(valuesList[(int)_ID.ID_UNITVIEW] as string); if (_hash.ContainsKey(skey)) { List <object> tList = _hash[skey]; tList.Add(_values); } else { List <object> tList = new List <object>(); tList.Add(_values); _hash.Add(skey, (List <object>)tList); } }
public static bool InitTable_UnitTemplate() { g_UnitTemplate.Clear(); Dictionary <int, List <object> > tmps = new Dictionary <int, List <object> >(); if (!Tab_UnitTemplate.LoadTable(tmps)) { return(false); } foreach (KeyValuePair <int, List <object> > kv in tmps) { List <Tab_UnitTemplate> values = new List <Tab_UnitTemplate>(); foreach (object subit in kv.Value) { values.Add((Tab_UnitTemplate)subit); } g_UnitTemplate.Add(kv.Key, values); } return(true); }