public void SetDialog(Dialog dialog, UiPolicy uiPolicy)
    {
        if (!initialized)
        {
            Init();
        }
        bool isScrolledAllTheWayDown = !scrollRect.verticalScrollbar.gameObject.activeInHierarchy ||
                                       scrollRect.verticalNormalizedPosition < 1f / 1024; // keep scrolling down if really close to bottom

        switch (uiPolicy)
        {
        case UiPolicy.StartOver: RemoveDialogElements(); break;

        case UiPolicy.DisablePrev: DeactivateDialogChoices(); break;

        case UiPolicy.Continue: break;
        }
        if (dialog == null)
        {
            tokenizer.AddError("missing dialog");  return;
        }
        if (dialog.options != null)
        {
            for (int i = 0; i < dialog.options.Length; ++i)
            {
                Dialog.DialogOption opt = dialog.options[i];
                if (opt.Available(tokenizer, GetScriptScope()))
                {
                    AddDialogOption(opt, isScrolledAllTheWayDown);
                }
            }
        }
    }
    public void SetDialog(string name, UiPolicy uiPolicy)
    {
        if (!initialized)
        {
            Init();
        }
        Dialog dialog = dialogs.Find(d => d.name == name);

        if (dialog == null)
        {
            tokenizer.AddError("missing dialog \"" + name + "\"");
        }
        SetDialog(dialog, uiPolicy);
    }
Example #3
0
        public void SetDialog(object src, Tokenizer tok, string name, UiPolicy uiPolicy)
        {
            if (!initialized)
            {
                Init();
            }
            Dialog dialog = DialogManager.Instance.dialogs.Find(d => d.name == name);

            if (dialog == null)
            {
                tok.AddError("missing dialog \"" + name + "\"");
            }
            SetDialog(src, tok, dialog, uiPolicy);
        }
Example #4
0
        public void SetDialog(object src, Tokenizer tok, Dialog dialog, UiPolicy uiPolicy)
        {
            if (!initialized)
            {
                Init();
            }
            bool isScrolledAllTheWayDown = !scrollRect.verticalScrollbar.gameObject.activeInHierarchy ||
                                           scrollRect.verticalNormalizedPosition < 1f / 1024; // keep scrolling down if really close to bottom

            switch (uiPolicy)
            {
            case UiPolicy.StartOver: RemoveDialogElements(); break;

            case UiPolicy.DisablePrev: DeactivateDialogChoices(); break;

            case UiPolicy.Continue: break;
            }
            if (dialog == null)
            {
                tok.AddError("missing dialog"); return;
            }
            if (dialog.options != null)
            {
                for (int i = 0; i < dialog.options.Length; ++i)
                {
                    Dialog.DialogOption opt = dialog.options[i];
                    //NonStandard.Show.Log("checking opt " + NonStandard.Show.Stringify(opt, false));
                    ScriptedDictionaryManager m = Global.Get <ScriptedDictionaryManager>();
                    if (opt.Available(tok, m.Main))
                    {
                        AddDialogOption(opt, isScrolledAllTheWayDown);
                        //NonStandard.Show.Log("added" + NonStandard.Show.Stringify(opt, false));
                    }
                    else
                    {
                        //NonStandard.Show.Log("ignored" + NonStandard.Show.Stringify(opt, false));
                    }
                }
            }
            ShowErrors(tok.errors);
            onDialog?.Invoke();
        }