void Awake() { Debug.Log("Started controller"); textController = (TextController)TextControllerObject.GetComponent <TextController>(); map = MapLoader.ImportMap("Assets/Resources/Pond.tmx"); //Rect mapRect = new Rect(0, 0, map.width, map.height * 0.5f); GameObject mapObject = GameObject.Find("Map"); mapObject.transform.position = new Vector3(0, map.height / 4, 0); MapLayout layout = mapObject.GetComponent <MapLayout>(); layout.SetMap(map); playerPersonController = player.GetComponent <PersonController>(); List <GameObject> npcs = NPCFactory.Instance.LoadNPCFile(); foreach (GameObject npcObject in npcs) { npcObject.transform.parent = mapObject.transform; NPC npc = npcObject.GetComponent <NPC>(); Vector2 npcPosition = map.ObjectPositionAtMapPoint(npc.position); npcObject.transform.localPosition = new Vector3(npcPosition.x, npcPosition.y, 0); } // Listen for the UI to be on the screen GameObject uigo = GameObject.Find("UIController"); UIController uic = uigo.GetComponent <UIController>(); uic.OnScreenHandler += (bool onscreen) => { uiIsOnScreen = onscreen; }; Item coat = new Item { name = "Jacket", description = "It looks like it belongs to Robin Hood", location = new MapPoint { row = 1, column = 5 }, assetFile = "robin-hood-jacket" }; GameObject coatObject = (GameObject)Instantiate(itemPrefab); coatObject.transform.parent = mapObject.transform; MapPoint itemPoint = new MapPoint { row = 1, column = 6 }; Vector2 itemPosition = map.ObjectPositionAtMapPoint(itemPoint); coatObject.transform.localPosition = new Vector3(itemPosition.x, itemPosition.y, 0); ItemController itemController = coatObject.GetComponent <ItemController>(); itemController.Item = coat; }