// Use this for initialization
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
            tilePool = GameObject.FindGameObjectWithTag("EventSystem").GetComponent <TilePool>();

            GenerationMap = this.gameObject.AddComponent <GameMap>();
            GenerationMap.AttachMapGameObject();

            forestGenerator = this.gameObject.GetComponent <ForestGenerator>();
            GenerationMap.AttachForestGenerator(forestGenerator);

            GenerationMap.AttachTiles();

            CreatePaths.AttachMap(GenerationMap);
            CreatePaths.AttachTiles(GetCurrentBiomeTileSet().Road, GetCurrentBiomeTileSet().Shallows, GetCurrentBiomeTileSet().Water);

            displaySelected = canvas.GetComponent <DisplaySelected>();
        }
        else
        {
            instance.tilePool = this.gameObject.GetComponent <TilePool>();
            instance.canvas   = GameObject.FindGameObjectWithTag("Canvas").GetComponent <Canvas>();
            Destroy(this);
        }


        gamePlayCam         = cam1.GetComponent <Camera>();
        gamePlayCam.enabled = true;
        topDownCam          = cam2.GetComponent <Camera>();
        topDownCam.enabled  = false;

        testingPhaseCanvas.enabled = false;
    }
 private void Start()
 {
     displaySelected = canvas.GetComponent <DisplaySelected>();
 }