コード例 #1
0
 public bool CanStartUpgrading(CombatItemData cid)
 {
     bool result = false;
     if (m_vCurrentlyUpgradedUnit == null)
     {
         Building b = (Building)GetParent();
         ClientAvatar ca = GetParent().GetLevel().GetHomeOwnerAvatar();
         ComponentManager cm = GetParent().GetLevel().GetComponentManager();
         int maxProductionBuildingLevel;
         if(cid.GetCombatItemType() == 1)
             maxProductionBuildingLevel = cm.GetMaxSpellForgeLevel();
         else
             maxProductionBuildingLevel = cm.GetMaxBarrackLevel();
         if (ca.GetUnitUpgradeLevel(cid) < cid.GetUpgradeLevelCount() - 1)
         {
             if(maxProductionBuildingLevel >= cid.GetRequiredProductionHouseLevel() - 1)
             {
                 result = (b.GetUpgradeLevel() >= (cid.GetRequiredLaboratoryLevel(ca.GetUnitUpgradeLevel(cid) + 1)) - 1);
             }
         }
     }
     return result;
 }