Exemple #1
0
    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));
        }
    }
Exemple #2
0
 public virtual void ClickPlayLevel()
 {
     if (!LevelEditor.StartPlayMode(out string failReason))
     {
         if (MessageModal != null)
         {
             MessageModal.ShowMessage("Play Mode Error", failReason, "Okay");
             ToggleMessageModal(true, false);
         }
     }
 }
Exemple #3
0
    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());
        }
    }
Exemple #4
0
    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;
    }
Exemple #5
0
    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());
        }
    }