-
-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
Just as an example, see this FinalizeLoad code in CulturalSkillInfo:
public virtual void FinalizeLoad()
{
if (Id.Contains(BiomeSurvivalSkill.SkillIdPrefix))
{
string idSuffix = Id.Substring(BiomeSurvivalSkill.SkillIdPrefix.Length);
Biome biome = Biome.Biomes[idSuffix.Replace('_', ' ')];
Name = BiomeSurvivalSkill.GenerateName(biome);
RngOffset = BiomeSurvivalSkill.GenerateRngOffset(biome);
}
else
{
switch (Id)
{
case SeafaringSkill.SkillId:
Name = SeafaringSkill.SkillName;
RngOffset = SeafaringSkill.SkillRngOffset;
break;
default:
throw new System.Exception("Unhandled Skill Id: " + Id);
}
}
}
This method is being called when loading each skill on each group but most of what it does is duplicate data that should be shared by all Cultural Skills of the same type (Name, Id, RngOffset)
A solution would be to store a common CulturalSkillInfo object that all CulturalSkill objects with the same Id refer to.