public static AcceptanceReport IsValidBlueprintName(string name) { if (!CouldBeValidBlueprintName(name)) { return(new AcceptanceReport("Fluffy.Blueprints.InvalidBlueprintName".Translate(name))); } // TODO: figure out why this doesn't work if (BlueprintController.FindBlueprint(name) != null) { return(new AcceptanceReport("Fluffy.Blueprints.NameAlreadyTaken".Translate(name))); } return(true); }
public Blueprint(List <BuildableInfo> contents, IntVec2 size, string defaultName = null) { // input this.contents = contents; name = defaultName; _size = size; // provide reference to this blueprint in all contents foreach (var item in contents) { item.blueprint = this; } // just created, so not exported yet exported = false; // 'orrible default name if (name == null || !CouldBeValidBlueprintName(name)) { name = "Fluffy.Blueprints.DefaultBlueprintName".Translate(); } // increment numeric suffix until we have a unique name var i = 1; while (BlueprintController.FindBlueprint(name + "_" + i) != null) { i++; } // set name name = name + "_" + i; // ask for name Find.WindowStack.Add(new Dialog_NameBlueprint(this)); }