public void Update() { if (_dialogBoxInfoStack.Count >= 1) { if (_isShowgDialogBox == false) { _isShowgDialogBox = true; KDialogBoxInfo info = _dialogBoxInfoStack.Peek(); // get dialog box info from top of the stack //KDialogBoxCanvas handler = canvasContainer.GetComponent<KDialogBoxCanvas>(); SetTexts(info._caption, info._message); SetButtonTexts(info._button1Text, info._button2Text); SetButtonAction(info._action); canvasContainer.SetActive(true); _dialogBoxInfoStack.Pop(); // remove used dialog box info } } }
/// <summary> /// create dialog box - 20190327_jintaeks /// </summary> /// <param name="dialogBoxCanvas"> KDialogBoxCanvas game object in the hierarchy </param> /// <param name="caption"></param> /// <param name="message"></param> /// <param name="action"> Button down event handler </param> /// <returns></returns> /** <example> * private void OnGUI() * { * if (GUI.Button(new Rect(0, 0, 200, 40), "Test")) * { * KDialogBoxCanvas.DialogBox( "My Caption" * , "My Message" * , "Yes" * , "No" * , (int buttonId) => * { * // 1 : left button * // 2 : right button * Debug.Log("My Button " + buttonId as string ); * } ); * } * } * </example> */ public static KDialogBoxCanvas DialogBox(string caption, string message , string strLeftButton, string strRightButton, UnityAction <int> action) { KDialogBoxInfo info = new KDialogBoxInfo() { _caption = caption, _message = message , _button1Text = strLeftButton, _button2Text = strRightButton, _action = action }; KDialogBoxCanvas handler = canvasContainer.GetComponent <KDialogBoxCanvas>(); handler.PushDialogBoxInfo(info); //KDialogBoxCanvas handler = canvasContainer.GetComponent<KDialogBoxCanvas>(); //handler.SetTexts(caption, message); //handler.SetButtonTexts(strLeftButton, strRightButton); //handler.SetButtonAction(action); //canvasContainer.SetActive(true); return(handler); }