using Microsoft.Xna.Framework; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Subsurface { class Location { private string name; private Vector2 mapPosition; private LocationType type; private HireManager hireManager; public List Connections; public string Name { get { return name; } } public Vector2 MapPosition { get { return mapPosition; } } public bool Discovered; public LocationType Type { get { return type; } } public HireManager HireManager { get { return hireManager; } } public Location(Vector2 mapPosition) { this.type = LocationType.Random(); this.name = RandomName(type); this.mapPosition = mapPosition; if (type.HasHireableCharacters) { hireManager = new HireManager(); hireManager.GenerateCharacters(Character.HumanConfigFile, 10); } Connections = new List(); } public static Location CreateRandom(Vector2 position) { return new Location(position); } private string RandomName(LocationType type) { string name = ToolBox.GetRandomLine("Content/Map/locationNames.txt"); int nameFormatIndex = Rand.Int(type.NameFormats.Count, false); return type.NameFormats[nameFormatIndex].Replace("[name]", name); } } }