UNPKG

@randomgeekdom/rollbard

Version:

Libraries and generators for fantasy/scifi worldbuilding

52 lines 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Randomizer_1 = require("../Services/Randomizer"); var GenderGenerator_1 = require("./GenderGenerator"); var NameGenerator_1 = require("./NameGenerator"); var CityNameGenerator = /** @class */ (function () { function CityNameGenerator(randomizer, nameGenerator, genderGenerator) { if (randomizer === void 0) { randomizer = Randomizer_1.default.Get(); } if (nameGenerator === void 0) { nameGenerator = NameGenerator_1.default.Get(); } if (genderGenerator === void 0) { genderGenerator = GenderGenerator_1.default.Get(); } this.randomizer = randomizer; this.nameGenerator = nameGenerator; this.genderGenerator = genderGenerator; this.prefixes = [ "Saint ", "San ", "Fort ", "New ", "Old ", "North ", "South ", "East ", "West " ]; this.suffixes = [ " Town", "ville", "ton", "polis", " City", "wall", "grad" ]; } CityNameGenerator.prototype.Generate = function () { var name = this.nameGenerator.GenerateName(this.genderGenerator.GetGender()); switch (this.randomizer.GetRandomInt(3)) { case 0: //suffix return name + this.randomizer.GetRandomElement(this.suffixes); case 1: //prefix return this.randomizer.GetRandomElement(this.prefixes) + name; default: return name; } }; CityNameGenerator.Get = function () { return new CityNameGenerator(Randomizer_1.default.Get()); }; return CityNameGenerator; }()); exports.default = CityNameGenerator; //# sourceMappingURL=CityNameGenerator.js.map