public BiomeSurvivalSkill(CellGroup group, BiomeSurvivalSkill baseSkill) : base(group, baseSkill.Id, baseSkill.Name, baseSkill.RngOffset, baseSkill.Value) { BiomeId = baseSkill.BiomeId; Group.AddBiomeSurvivalSkill(this); CalculateNeighborhoodBiomePresence(); }
public static CellCulturalSkill CreateCellInstance(CellGroup group, CulturalSkill baseSkill, float initialValue) { if (BiomeSurvivalSkill.IsBiomeSurvivalSkill(baseSkill)) { return(new BiomeSurvivalSkill(group, baseSkill, initialValue)); } if (SeafaringSkill.IsSeafaringSkill(baseSkill)) { return(new SeafaringSkill(group, baseSkill, initialValue)); } throw new System.Exception("Unhandled CulturalSkill type: " + baseSkill.Id); }
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); } } }