public void Proceed() { //check flagged count var reportItems = GameData.instance.digitalReportFlaggedItems; int flaggedCount = 0; for (int i = 0; i < reportItems.Length; i++) { if (reportItems[i].isFlagged) { flaggedCount++; } } if (flaggedCount >= flaggedReqCount) { //show confirm mConfirmParms[ModalConfirm.parmTitleTextRef] = confirmTitleRef; mConfirmParms[ModalConfirm.parmDescTextRef] = confirmDescRef; mConfirmParms[ModalConfirm.parmCallback] = (System.Action <bool>)OnConfirmProceed; M8.ModalManager.main.Open(confirmModal, mConfirmParms); } else { //show message MessageModal.Open(M8.Localize.Get(reqTitleRef), M8.Localize.Get(reqDescRef)); } }
public virtual void ClickPlayLevel() { if (!LevelEditor.StartPlayMode(out string failReason)) { if (MessageModal != null) { MessageModal.ShowMessage("Play Mode Error", failReason, "Okay"); ToggleMessageModal(true, false); } } }
IEnumerator DoRegistryInspect() { //some dialog //open search mSearchKeyword = null; mSearchModalParms[SearchModal.parmTitle] = M8.Localize.Get(registrySearchTitleRef); mSearchModalParms[SearchModal.parmCallback] = (SearchModal.CommitCallback)OnSearchProceed; M8.ModalManager.main.Open(searchModal, mSearchModalParms); //wait for search while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(searchModal)) { yield return(null); } if (mSearchKeyword) { var searchProgressTitle = string.Format(M8.Localize.Get(registrySearchProgressTitleFormatRef), mSearchKeyword.key); //do progress yield return(StartCoroutine(DoSearchProgress(searchProgressTitle, searchProgressDelay))); //check if there is match if (mSearchKeyword.CheckResultSearch(SearchType.Registry)) { //open registry log modal M8.ModalManager.main.Open(registryModal, null); while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(registryModal)) { yield return(null); } //some dialog } else //show no match message { MessageModal.Open(searchProgressTitle, M8.Localize.Get(searchNoMatchTextRef)); while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(MessageModal.modal)) { yield return(null); } } //return to search StartCoroutine(DoRegistryInspect()); } }
IEnumerator DoAnalyze(int ind) { var itmWidget = GetItem(mCurIndex); if (itmWidget != null) { var itm = itemData[mCurIndex]; //is item already checked? if (!itmWidget.isFlagged) { //show progress var progParms = new M8.GenericParams(); progParms[ProgressModal.parmTitleString] = string.Format(M8.Localize.Get(progressTitleFormat), itm.flaggedItem.key); progParms[ProgressModal.parmDelay] = progressDelay; M8.ModalManager.main.Open(progressModal, progParms); while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(progressModal)) { yield return(null); } //check flag itmWidget.isFlagged = true; GameData.instance.SetMalwareChecked(itm.flaggedItem.key, true); } //show dialogs if (itm.malwareItems.Length > 0) { var malParms = new M8.GenericParams(); //go through each items to show dialog for (int i = 0; i < itm.malwareItems.Length; i++) { var malItm = itm.malwareItems[i]; malParms[MalwareDetailModal.parmFilename] = malItm.key; malParms[MalwareDetailModal.parmMalwareData] = malItm.malwareData; M8.ModalManager.main.Open(malwareDetailModal, malParms); while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(malwareDetailModal)) { yield return(null); } //flag malware for host item GameData.instance.SetMalwareChecked(malItm.key, true); } } else { //show no malware message MessageModal.Open(itm.flaggedItem.key, M8.Localize.Get(malwareNotFoundTextRef)); while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(MessageModal.modal)) { yield return(null); } } } mAnalyzeRout = null; }
IEnumerator DoFileInspect() { //some dialog //open search mSearchKeyword = null; mSearchModalParms[SearchModal.parmTitle] = M8.Localize.Get(fileInspectSearchTitleRef); mSearchModalParms[SearchModal.parmCallback] = (SearchModal.CommitCallback)OnSearchProceed; M8.ModalManager.main.Open(searchModal, mSearchModalParms); //wait for search while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(searchModal)) { yield return(null); } if (mSearchKeyword) { var searchProgressTitle = string.Format(M8.Localize.Get(fileInspectSearchProgressTitleFormatRef), mSearchKeyword.key); //do progress yield return(StartCoroutine(DoSearchProgress(searchProgressTitle, searchProgressDelay))); //check if there is match if (mSearchKeyword.CheckResultSearch(SearchType.File)) { //show search result mSearchResultIndex = -1; mSearchResultParms[SearchResultModal.parmSearchType] = SearchType.File; mSearchResultParms[SearchResultModal.parmSearchKeywordData] = mSearchKeyword; mSearchResultParms[SearchResultModal.parmProceedCallback] = (SearchResultModal.ProceedCallback)OnSearchResultProceed; M8.ModalManager.main.Open(searchResultModal, mSearchResultParms); //wait for search result while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(searchResultModal)) { yield return(null); } if (mSearchResultIndex != -1) { //open file inspect modal mFileInspectParms[FileInspectModal.parmSearchKeywordData] = mSearchKeyword; mFileInspectParms[FileInspectModal.parmSearchKeywordResultIndex] = mSearchResultIndex; M8.ModalManager.main.Open(fileInspectModal, mFileInspectParms); while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(fileInspectModal)) { yield return(null); } //some dialog } } else //show no match message { MessageModal.Open(searchProgressTitle, M8.Localize.Get(searchNoMatchTextRef)); while (M8.ModalManager.main.isBusy || M8.ModalManager.main.IsInStack(MessageModal.modal)) { yield return(null); } } //return to search StartCoroutine(DoFileInspect()); } }