public void Show(string title, string content, bool isDimissible) { if (rootCanvasPrefab == null || consentDialogUIPrefab == null) { return; } isShowing = true; rootCanvas = GameObject.Instantiate(rootCanvasPrefab); consentDialogUI = GameObject.Instantiate(consentDialogUIPrefab); consentDialogUI.transform.SetParent(rootCanvas, false); consentDialogUI.OnCompleteted += OnCompletedHandler; consentDialogUI.OnDismissed += OnDismissedHandler; consentDialogUI.OnToggleStateUpdated += OnToggleStateUpdatedHandler; consentDialogUI.Construct(title, isDimissible); BuildDialogFromContent(consentDialogUI, content); consentDialogUI.Show(); }
private void BuildDialogFromContent(EditorConsentDialogUI dialog, string contents) { foreach (var content in DeserializeContents(contents)) { if (content.IsPlainText()) { dialog.AddPlainText(content.content); } else if (content.IsButton()) { var buttonData = JsonUtility.FromJson <ConsentDialog.Button>(content.content); dialog.AddButton(buttonData); } else if (content.IsToggle()) { var toggleData = JsonUtility.FromJson <ConsentDialog.Toggle>(content.content); dialog.AddToggle(toggleData); } else { Debug.Log("Unexpected type of content: " + content.type); } } }
public EditorConsentDialog() { rootCanvasPrefab = LoadAndLogWarning <RectTransform>(RootCanvasPrefabPath); consentDialogUIPrefab = LoadAndLogWarning <EditorConsentDialogUI>(ConsentDialogPrefabPath); }