예제 #1
0
    void AddDialog(int id, bool stackable)
    {
        var buttons = new List <IDialogButton>();

        buttons.Add(new ConfirmDialogButton("add", "Enqueue"));
        buttons.Add(new ConfirmDialogButton("stack", "Overlay"));
        buttons.Add(new ConfirmDialogButton("close", "Close"));

        var dialog = new ConfirmDialog("Dialog " + id + (stackable ? "(Stackable)": ""), buttons, ConfirmDialogSize.Small);

        dialog.OnClickAsObservable().Subscribe(b =>
        {
            switch (b.Id)
            {
            case "add":
                AddDialog(n++, false);
                break;

            case "stack":
                AddDialog(n++, true);
                break;

            case "close":
                dialog.Close();
                break;
            }
        }).AddTo(this);
        dialog.Stackable = stackable;

        _dialogRoot.Enqueue(dialog);
    }