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 bool navigatable      = false; //due arcontrolscr use

    void Awake()
    {
        if (instance == null)
        {
            instance     = this;
            dijsktra     = new DijsktraAlgorithm();
            canvasButton = GameObject.Find("Canvas").GetComponent <CanvasButtonScript>();
            //canvasResolution = GameObject.Find("Canvas").GetComponent<CanvasResolutionScript>();
            showState = GameObject.Find("Canvas").GetComponent <ShowStateManager>();
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }
        DontDestroyOnLoad(gameObject);
    }