public void ensureDataConsistency()
{
if (upgradeLevels == null) {
upgradeLevels = new UpgradeLevel[UpgradeLevel.NumLevels];
for (int i = 0; i < UpgradeLevel.NumLevels; ++i)
upgradeLevels[i] = new UpgradeLevel();
}
else if (upgradeLevels.Length != UpgradeLevel.NumLevels) {
int oldSize = upgradeLevels.Length;
Array.Resize<UpgradeLevel>(ref upgradeLevels, UpgradeLevel.NumLevels);
for (int i = oldSize; i < UpgradeLevel.NumLevels; ++i)
upgradeLevels[i] = new UpgradeLevel();
}
}