Beispiel #1
0
    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;
    }