public int GetMaxSpellForgeLevel() { int result = 0; List <Component> components = m_vComponents[3]; if (components.Count > 0) { foreach (UnitProductionComponent c in components) { if (c.IsSpellForge()) { Building b = (Building)c.GetParent(); if (!b.IsConstructing() || b.IsUpgrading()) { int level = b.GetUpgradeLevel(); if (level > result) { result = level; } } } } } return(result); }