private void enqueueAlert(IModerationAlert alert) { if (!containsText(alert)) { queuedAlerts.Enqueue(alert); } }
public void ClearAlert(IModerationAlert alert) { List <IAlert> list = new List <IAlert>(); list.Add(alert.MixAlert); List <IAlert> alerts = list; Service.Get <SessionManager>().LocalUser.ClearAlerts(alerts, onClearAlertsSent); }
private bool containsText(IModerationAlert alert) { foreach (IModerationAlert queuedAlert in queuedAlerts) { if (queuedAlert.Text == alert.Text) { return(true); } } return(false); }
private void checkAndDisplayMessage() { if (!isShowingMessage && queuedAlerts.Count > 0) { isShowingMessage = true; IModerationAlert alert = queuedAlerts.Peek(); PromptDefinition promptDefinition = Service.Get <PromptManager>().GetPromptDefinition(alert.IsCritical ? "ModerationCriticalPrompt" : "ModerationWarningPrompt"); PromptLoaderCMD promptLoaderCMD = new PromptLoaderCMD(this, promptDefinition, delegate(PromptLoaderCMD loader) { showModerationPrompt(loader, alert); }); promptLoaderCMD.Execute(); } }
private void showModerationPrompt(PromptLoaderCMD promptLoader, IModerationAlert alert) { if (alert.IsCritical) { CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>(); if (cPDataEntityCollection.TryGetComponent <DisplayNameData>(cPDataEntityCollection.LocalPlayerHandle, out var component)) { promptLoader.PromptData.SetText(DPrompt.PROMPT_TEXT_TITLE, component.DisplayName, isTranslated: true); } else { Log.LogError(this, "Could not find display name data on local player"); } promptLoader.PromptData.SetText("Moderation.Text.Time", "11hrs 26m", isTranslated: true); } promptLoader.PromptData.SetText(DPrompt.PROMPT_TEXT_BODY, alert.Text, isTranslated: true); Service.Get <PromptManager>().ShowPrompt(promptLoader.PromptData, onModerationPromptClosed, promptLoader.Prefab); }
public void SetAlert(IModerationAlert alert) { Alert = alert; MessageText.text = alert.Text; }