void Awake()
    {
        if (instance == null)
        {
            Debug.Log("Start MainController");
            instance = this;
            dijsktra = new DijsktraAlgorithm();
            ar       = new ARDisplayController();
            canvas   = GameObject.Find("Canvas").GetComponent <CanvasButtonScript>();
            canvas.StartCanvas();

            jsonReader = gameObject.GetComponent <JsonReader>();//new JsonReader();
            JsonReader.ReadState readState = jsonReader.ReadJsonData();
            Debug.Log("State " + readState);

            if (readState == JsonReader.ReadState.ReadOK)
            {
                GameObject.FindWithTag("Building").GetComponent <BuildingData>().GetAllFloorToList();
                canvas.StartNormalStateAppCanvas();
                stateDisplay = GameObject.Find("Canvas").GetComponent <StateDisplayController>();
            }
            else
            {
                canvas.ShowErrorCantReadFile(readState);
            }
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }
        DontDestroyOnLoad(gameObject);
    }
    public void ShowErrorCantReadFile(JsonReader.ReadState readState)
    {
        isErrorCantReadFile = true;
        errorDialog.SetActive(true);
        errorPanel.SetActive(true);
        searchButton.GetComponent <Button>().enabled = false;
        searchButton.transform.GetChild(0).gameObject.GetComponent <Image>().color = Color.gray;
        mapButton.GetComponent <Button>().enabled = false;
        mapButton.transform.GetChild(0).gameObject.GetComponent <Image>().color = Color.gray;
        string errortext = "Error in Json File";

        switch (readState)
        {
        case JsonReader.ReadState.BuildingError:
            errortext = "Error in Building Json File";
            break;

        case JsonReader.ReadState.FloorError:
            errortext = "Error in Floor Json File";
            break;

        case JsonReader.ReadState.RoomError:
            errortext = "Error in Room Json File";
            break;

        case JsonReader.ReadState.NodeError:
            errortext = "Error in Node Json File";
            break;

        case JsonReader.ReadState.MarkerError:
            errortext = "Error in Marker Json File";
            break;

        case JsonReader.ReadState.ConnectError:
            errortext = "Error in Connect Json File";
            break;
        }
        errorHeadText.GetComponent <Text>().text = errortext;
    }