public CultureParser BranchCulture(string Culture) { var rel = CultureMap[Culture]; var group = rel.Group; var cultureName = rel.dna.GetPlaceName(); while (GroupMap.ContainsKey(StarNames.SafeName(cultureName))) { cultureName = rel.dna.GetPlaceName(); } CultureParser rel2 = null; if (allowMultiCultureGroups) { rel2 = group.AddCulture(cultureName); rel2.Init(); rel2.dna = rel.dna.MutateSmall(4); } else { // need to make a new group for the culture var newGroupName = rel.dna.GetPlaceName(); while (GroupMap.ContainsKey(StarNames.SafeName(newGroupName))) { newGroupName = rel.dna.GetPlaceName(); } LanguageManager.instance.Add(StarNames.SafeName(newGroupName), newGroupName); var newCultureGroup = AddCultureGroup(StarNames.SafeName(newGroupName), group); newCultureGroup.Name = StarNames.SafeName(newGroupName); rel2 = newCultureGroup.AddCulture(cultureName); newCultureGroup.AddCulture(rel2); rel2.Init(); rel2.dna = rel.dna.Mutate(16, rel); rel2.dna.DoRandom(); CultureGroupMap[newCultureGroup.Name] = newCultureGroup; } rel2.DoDetailsForCulture(); return(rel2); }
public CultureParser AddCulture(String name) { if (name != "norse") { String oname = name; name = StarNames.SafeName(name); LanguageManager.instance.Add(name, oname); } ScriptScope scope = new ScriptScope(); scope.Name = name; Name = name; Scope.Add(scope); CultureParser r = new CultureParser(scope); CultureManager.instance.AllCultures.Add(r); Cultures.Add(r); CultureManager.instance.CultureMap[name] = r; r.Name = Name; r.Init(); Scope.SetChild(r.Scope); return r; }
public CultureParser AddCulture(String name) { if (name != "norse") { String oname = name; name = StarNames.SafeName(name); LanguageManager.instance.Add(name, oname); } ScriptScope scope = new ScriptScope(); scope.Name = name; Name = name; Scope.Add(scope); CultureParser r = new CultureParser(scope); CultureManager.instance.AllCultures.Add(r); Cultures.Add(r); CultureManager.instance.CultureMap[name] = r; r.Name = Name; r.Init(); Scope.SetChild(r.Scope); return(r); }
public CultureParser BranchCulture(string Culture) { var rel = this.CultureMap[Culture]; var group = rel.Group; var naa = rel.dna.GetPlaceName(); while (GroupMap.ContainsKey(StarNames.SafeName(naa))) { naa = rel.dna.GetPlaceName(); } CultureParser rel2 = null; if (!allowMultiCultureGroups) { var na = rel.dna.GetPlaceName(); while (GroupMap.ContainsKey(StarNames.SafeName(na))) { na = rel.dna.GetPlaceName(); } LanguageManager.instance.Add(StarNames.SafeName(na), na); var group2 = AddCultureGroup(StarNames.SafeName(na), group); group2.Name = StarNames.SafeName(na); rel2 = group2.AddCulture(naa); group2.AddCulture(rel2); rel2.Init(); rel2.dna = rel.dna.Mutate(16, rel); rel2.dna.DoRandom(); CultureGroupMap[group2.Name] = group2; } else { rel2 = group.AddCulture(naa); rel2.Init(); rel2.dna = rel.dna.MutateSmall(4); } rel2.DoDetailsForCulture(); return(rel2); }
public CultureParser AddCulture(String name) { string langName = ""; if (name != "norse") { String oname = name; name = StarNames.SafeName(name); LanguageManager.instance.Add(name, oname); langName = oname; } ScriptScope scope = new ScriptScope(); scope.Name = name; Scope.Add(scope); CultureParser r = new CultureParser(scope, this); CultureManager.instance.AllCultures.Add(r); r.LanguageName = langName; Cultures.Add(r); CultureManager.instance.CultureMap[name] = r; r.Name = name; r.Init(); r.group = this; var col = Col(); r.r = col.R; r.g = col.G; r.b = col.B; Scope.SetChild(r.Scope); return(r); }