public bool RetainsColorFrom(CraftSystem system, Type type) { if (system.RetainsColorFrom(this, type)) { return(true); } bool inItemTable = RetainsColor(m_Type); if (!inItemTable) { return(false); } bool inResourceTable = false; for (int i = 0; !inResourceTable && i < m_ColoredResourceTable.Length; ++i) { inResourceTable = type == m_ColoredResourceTable[i] || type.IsSubclassOf(m_ColoredResourceTable[i]); } return(inResourceTable); }