public static CellCulturalSkill CreateCellInstance(string id, CellGroup group, float initialValue = 0) { if (BiomeSurvivalSkill.IsBiomeSurvivalSkill(id)) { Biome biome = Biome.Biomes[BiomeSurvivalSkill.GetBiomeId(id)]; return(new BiomeSurvivalSkill(group, biome, initialValue)); } if (SeafaringSkill.IsSeafaringSkill(id)) { return(new SeafaringSkill(group, initialValue)); } throw new System.Exception("Unhandled CulturalSkill type: " + id); }
public virtual void FinalizeLoad() { if (Id.Contains(BiomeSurvivalSkill.SkillIdSuffix)) { string idPrefix = BiomeSurvivalSkill.GetBiomeId(Id); Biome biome = Biome.Biomes[idPrefix]; 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); } } }