コード例 #1
0
    private IEnumerator ShowScadaLesson()
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.scadaLesson));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            message.body,
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);

            NotebookManager.isScadaLesson = true;

            ClassDb.notebookManager.ToggleNoteBook();
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #2
0
    private IEnumerator NewEmployeesHired(int employeesHired)
    {
        yield return(new WaitForSeconds(messageDelay));

        manager.GetGameData().employeesHired = employeesHired;

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.newEmployeesHired));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body, employeesHired),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            manager.GetGameData().totalEmployees += employeesHired;
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #3
0
    private IEnumerator ShowLessonFirstTime(Threat threat)
    {
        yield return(new WaitForSeconds(messageDelay));

        manager.GetGameData().firstThreat = threat;

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.showLessonFirstTime));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body, threat.threatAttack),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);

            NotebookManager.isFirstLesson     = true;
            NotebookManager.firstLessonThreat = threat;

            ClassDb.notebookManager.ToggleNoteBook();
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #4
0
    private IEnumerator MoneyEarnTrue(float moneyEarn)
    {
        yield return(new WaitForSeconds(messageDelay));

        manager.GetGameData().lastAmountEarn = moneyEarn;

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.moneyEarnTrue));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body, Math.Round(moneyEarn, 0).ToString(CultureInfo.CurrentCulture)),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            FindObjectOfType <RoomPcListener>().ToggleStoreScreen();
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });
    }
コード例 #5
0
    private IEnumerator Welcome()
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.welcomeTxt));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            message.body,
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            //TODO CHECK IF StopAllCoroutines METHOD IS WORKING CORRECTLY
            manager.StopAllCoroutines();
            ClassDb.sceneLoader.StartLoadByIndex(StaticDb.tutorialSceneIndex);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });
    }
コード例 #6
0
    private IEnumerator ConfirmPurchase(ItemStore item)
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        StoreManager storeManager = GameObject.Find(StaticDb.storeScreenName).GetComponent <StoreManager>();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.purchase));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body, item.price),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        //open dialog box
        //set listeners for the buttons on the dialog box
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            storeManager.PurchaseItem(item);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });
    }
コード例 #7
0
    private IEnumerator FailedCorruption()
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.failedCorruption));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            message.body,
            message.backBtn,
            message.nextBtn,
            dialog
            );

        //set listeners for the buttons on the dialog box
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #8
0
    private IEnumerator EndGame()
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(manager.GetGameData().isGameWon
            ? Resources.Load <TextAsset>(StaticDb.endGameWin)
            : Resources.Load <TextAsset>(StaticDb.endGameLoss));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            message.body,
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            //LOAD LEVEL 2
            ClassDb.sceneLoader.StartLoadByIndex(StaticDb.level2SceneIndex);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });
    }
コード例 #9
0
    private IEnumerator PlantReport(bool isOk, float moneyLoss)
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = isOk
            ? MessageFromJson(Resources.Load <TextAsset>(StaticDb.plantReportGood))
            : MessageFromJson(Resources.Load <TextAsset>(StaticDb.plantReportBad));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body, Math.Round(moneyLoss, 0).ToString(CultureInfo.CurrentCulture)),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #10
0
    private IEnumerator FakeThreatStopped(Threat threat)
    {
        yield return(new WaitForSeconds(messageDelay));

        manager.GetGameData().lastThreatStopped = threat;

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.fakeLocalStopped2));


        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            message.body,
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #11
0
    private IEnumerator ShowReport(string threatAttack)
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.researchReport));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body, threatAttack),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #12
0
    private IEnumerator ThreatManagementResult(TimeSpan elapsedTime, float moneyLoss)
    {
        yield return(new WaitForSeconds(messageDelay));

        manager.GetGameData().lastManagementTime = elapsedTime;
        manager.GetGameData().lastAmountLoss     = moneyLoss;

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.threatManagementResult));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body, elapsedTime.TotalMinutes.ToString(CultureInfo.CurrentCulture),
                          Math.Round(moneyLoss, 0).ToString(CultureInfo.CurrentCulture)),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #13
0
    public DialogBoxMessage MessageFromJson(TextAsset jsonFile)
    {
        DialogBoxMessage dialogBoxMessage = JsonUtility.FromJson <DialogBoxMessage>(jsonFile.text);

        Debug.Log(dialogBoxMessage.ToString());

        return(dialogBoxMessage);
    }
コード例 #14
0
    private IEnumerator ThreatDeployed(Threat threat)
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        DialogBoxMessage message;

        switch (threat.threatType)
        {
        case StaticDb.ThreatType.local:
            message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.localDeployed));
            break;

        case StaticDb.ThreatType.remote:
            message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.remoteDeployed));
            break;

        case StaticDb.ThreatType.fakeLocal:
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            yield break;

        case StaticDb.ThreatType.timeEvent:
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            yield break;

        default:
            throw new ArgumentOutOfRangeException();
        }


        DialogBoxMessage messageIntern = threat.threatAttacker == StaticDb.ThreatAttacker.intern
            ? MessageFromJson(Resources.Load <TextAsset>(StaticDb.internalMessage))
            : StaticDb.emptyMessage;

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            string.Format(message.body + "\n" + messageIntern.body, threat.threatAttack),
            message.backBtn,
            message.nextBtn,
            dialog
            );

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.dialogBoxManager.CloseDialog(dialog);
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(false);
    }
コード例 #15
0
        private void MyViewModel_TestHandler(object sender, EventArgs e)
        {
            var msg = new DialogBoxMessage(this);

            msg.Message = Name + "さん、こんにちは。";
            msg.Button  = MessageBoxButton.YesNo;
            Messenger.Default.Send(this, msg);
            if (msg.Result == MessageBoxResult.Yes)
            {
                Name = "";
            }
        }
コード例 #16
0
    public DialogBoxMessage ToDialogBoxMessage()
    {
        DialogBoxMessage dialogBoxMessage = new DialogBoxMessage
        {
            head     = this.head,
            bodyPath = this.bodyPath,
            backBtn  = this.backBtn,
            nextBtn  = this.nextBtn
        };


        return(dialogBoxMessage);
    }
コード例 #17
0
    private IEnumerator Exit(int level)
    {
        yield return(new WaitForSeconds(messageDelay));

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        //set flag to true: this will prevent esc key to hide pause menu
        StaticDb.isShowingExit = true;

        //disable interaction with pause menu
        ClassDb.pauseManager.pauseRaycaster.enabled = false;
        //open dialog box

        //set the text on dialog box
        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.exitTxt));

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            message.body,
            message.backBtn,
            message.nextBtn,
            dialog
            );

        //set listeners for the buttons on the dialog box
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.pauseManager.TogglePauseMenu();
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            ClassDb.gameDataManager.StartSaveLevelGameData(level);
            ClassDb.sceneLoader.StartLoadByIndex(StaticDb.menuSceneIndex);
            StaticDb.isShowingExit = false;
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.AddListener(delegate
        {
            ClassDb.pauseManager.TogglePauseMenu();
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            ClassDb.pauseManager.pauseRaycaster.enabled = true;
            StaticDb.isShowingExit = false;
        });
    }
コード例 #18
0
    public void Exit()
    {
        //yield return new WaitWhile(() => DialogBoxManager.dialogEnabled);

        Canvas dialog = ClassDb.dialogBoxManager.OpenDialog();

        //set flag to true: this will prevent esc key to hide pause menu
        StaticDb.isShowingExit = true;

        //disable interaction with pause menu
        ClassDb.pauseManager.pauseRaycaster.enabled = false;
        //open dialog box

        //set the text on dialog box
        DialogBoxMessage message = MessageFromJson(Resources.Load <TextAsset>(StaticDb.tutorialExit)).ToDialogBoxMessage();

        dialog.GetComponent <DialogBoxManager>().SetDialog(
            message.head,
            message.body,
            message.backBtn,
            message.nextBtn,
            dialog
            );

        //set listeners for the buttons on the dialog box
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnNext.onClick.AddListener(delegate
        {
            ClassDb.pauseManager.TogglePauseMenu();
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            ClassDb.sceneLoader.StartLoadByIndex(StaticDb.menuSceneIndex);
            StaticDb.isShowingExit = false;
        });

        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.RemoveAllListeners();
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.gameObject.SetActive(true);
        dialog.GetComponent <DialogBoxManager>().dialogBoxBtnBack.onClick.AddListener(delegate
        {
            ClassDb.pauseManager.TogglePauseMenu();
            ClassDb.dialogBoxManager.CloseDialog(dialog);
            ClassDb.pauseManager.pauseRaycaster.enabled = true;
            StaticDb.isShowingExit = false;
        });
    }