// public void GoToBldg(string address) {
    //  currentAddress = address;
    //  if (AddressUtils.isBldg(address)) {
    //      currentAddress = AddressUtils.generateInsideAddress (address);
    //  }
    //  AddressChanged ();
    // }

    // public void GoIn() {
    //  InputField input = GameObject.FindObjectOfType<InputField> ();
    //  currentAddress = input.text;
    //  AddressChanged ();
    // }


    // public void GoOut() {
    //  InputField input = GameObject.FindObjectOfType<InputField> ();

    //  currentAddress = AddressUtils.getContainerFlr(input.text);

    //  AddressChanged ();
    // }


    // public void GoUp() {
    //  InputField input = GameObject.FindObjectOfType<InputField> ();
    //  currentAddress = input.text;
    //  int level = AddressUtils.getFlrLevel(currentAddress);
    //  currentAddress = AddressUtils.replaceFlrLevel (currentAddress, level + 1);
    //  AddressChanged ();
    // }


    // public void GoDown() {
    //  InputField input = GameObject.FindObjectOfType<InputField> ();
    //  currentAddress = input.text;
    //  int level = AddressUtils.getFlrLevel(currentAddress);
    //  if (level > 0) {
    //      currentAddress = AddressUtils.replaceFlrLevel (currentAddress, level - 1);
    //  }
    //  AddressChanged ();
    // }


    public void AddressChanged()
    {
        Debug.Log("Address changed to: " + currentAddress);
        // InputField input = GameObject.FindObjectOfType<InputField> ();
        // if (input.text != currentAddress) {
        //  input.text = currentAddress;
        // }

        PlayerPrefs.SetString("currentAddress", currentAddress);

        // TODO validate address

        currentFlr = AddressUtils.extractFlr(currentAddress);

        // TODO check whether it changed

        // check whether we need to switch scene
        if (currentAddress.ToLower() == "g" && SceneManager.GetActiveScene().name == "Floor")
        {
            SceneManager.LoadScene("Ground");
            return;
        }
        if (currentAddress.ToLower() != "g" && SceneManager.GetActiveScene().name == "Ground")
        {
            SceneManager.LoadScene("Floor");
            return;
        }

        // load the new address
        switchAddress(currentAddress);
    }