예제 #1
0
    public void Show(RenameDialogDelegate Delegate)
    {
        gameObject.SetActive(true);
        this.Delegate = Delegate;

        this.confirmCanvasGroup = confirmButton.GetComponentInChildren <CanvasGroup>();
        KeyInputManager.shared.Register();
        InputRegistry.shared.Register(InputType.All, this);
        GestureRecognizerCollection.shared.GetAndroidBackButtonGestureRecognizer().OnGesture += OnAndroidBack;

        inputField.onValidateInput += delegate(string input, int charIndex, char addedChar) {
            if (Delegate.CanEnterCharacter(this, charIndex, addedChar))
            {
                return(addedChar);
            }
            else
            {
                return('\0');
            }
        };

        inputField.onValueChanged.AddListener(delegate {
            Delegate.DidChangeValue(this, inputField.text);
        });

        inputField.text = Delegate.GetOriginalName(this);

        confirmButton.onClick.AddListener(delegate() {
            OnRenameClicked();
        });

        ResetErrors();
    }
예제 #2
0
 public void Close()
 {
     Delegate = null;
     KeyInputManager.shared.Deregister();
     InputRegistry.shared.Deregister(this);
     GestureRecognizerCollection.shared.GetAndroidBackButtonGestureRecognizer().OnGesture -= OnAndroidBack;
     inputField.onValidateInput = null;
     inputField.onValueChanged.RemoveAllListeners();
     confirmButton.onClick.RemoveAllListeners();
     gameObject.SetActive(false);
 }