// instantiates an agent into the map public GameObject instantiate(GameObject prefab, Pos pos, GameAgentStats stats = null, string name = null) { if (!IsWalkable(pos)) { return(null); } GameObject clone = Instantiate(prefab, grid_to_world(pos), Quaternion.identity); GameAgent agent = clone.GetComponent <GameAgent>(); //string[] names = new string[] { "Keawa", "Benjamin", "Diana", "Jerry", "Joe" }; if (stats == null) { agent.init_agent(pos, new GameAgentStats(CharacterRaceOptions.Human, CharacterClassOptions.Knight, 1, CharacterClassOptions.Sword), name); } else { agent.init_agent(pos, stats, name); } nav_map.removeTraversableTile(pos); map[pos.x, pos.y].resident = agent; map[pos.x, pos.y].occupied = true; return(clone); }