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); } } } }