public static string[] GetDependenciesCache(string[] files) { List <string> ret = new List <string>(); for (int i = 0; i < files.Length; ++i) { DependData data = null; m_dict.TryGetValue(files[i], out data); if (data == null) { string[] deps = GetDependencies(files[i]); data = new DependData(); data.assetPath = files[i]; data.dependPath = deps; data.InterString(); m_dict.Add(data.assetPath, data); } ret.AddRange(data.dependPath); } return(ret.ToArray()); }
public static void LoadActionRelation() { m_Relations = new ActionRelationData[(int)PEActionType.Max]; SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("ActionRelation"); int fieldCount = reader.FieldCount; while (reader.Read()) { ActionRelationData data = new ActionRelationData(); data.m_ActionType = (PEActionType)Convert.ToInt32(reader.GetString(reader.GetOrdinal("ActionType"))); data.m_DependMask = new List <DependData>(); int startIndex = 5; for (int i = startIndex; i < fieldCount; i++) { int mask = Convert.ToInt32(reader.GetString(i)); if (mask > 0) { DependData dependData = new DependData(); dependData.maskType = (PEActionMask)(i - startIndex); dependData.maskValue = (mask == 1); data.m_DependMask.Add(dependData); } } data.m_PauseAction = new List <PEActionType>(); string[] pauseStr = reader.GetString(reader.GetOrdinal("PauseAction")).Split(','); foreach (string str in pauseStr) { if ("0" != str) { data.m_PauseAction.Add((PEActionType)Convert.ToInt32(str)); } } data.m_EndAction = new List <PEActionType>(); string[] endStr = reader.GetString(reader.GetOrdinal("EndAction")).Split(','); foreach (string str in endStr) { if ("0" != str) { data.m_EndAction.Add((PEActionType)Convert.ToInt32(str)); } } data.m_EndImmediately = new List <PEActionType>(); string[] endImmediatelyStr = reader.GetString(reader.GetOrdinal("EndImmediately")).Split(','); foreach (string str in endImmediatelyStr) { if ("0" != str) { data.m_EndImmediately.Add((PEActionType)Convert.ToInt32(str)); } } if ((int)data.m_ActionType < m_Relations.Length) { m_Relations[(int)data.m_ActionType] = data; } } }