// this is the primary mode of progressing through the game // if a Section !hasMenu, then ActivateModule always moves us through to the next SubSection private void ActivateModule() { // set mission name for debug panel //debug.UpdateMission(missionName); // update the heirarchy for the debug panel display //debug.DrawList(currentSectionList, currentSection, currentSubSection, currentModule); // Dialogue if (currentModule.moduleType == Module.ModuleType.dialogue) { dialogue.OpenPanel(currentModule, false); currentModule.CallEntryEvent(); } // Audio else if (currentModule.moduleType == Module.ModuleType.audio) { audioSystem.PlayAudio(currentModule.audioClip); currentModule.CallEntryEvent(); } // Trigger else if (currentModule.moduleType == Module.ModuleType.trigger) { Trigger currentTrigger = currentModule.trigger.GetComponent <Trigger>(); currentTrigger.Activate(); currentModule.CallEntryEvent(); } // Activity else if (currentModule.moduleType == Module.ModuleType.activity) { Activity currentActivity = currentModule.activity.GetComponent <Activity>(); currentActivity.Activate(); currentModule.CallEntryEvent(); } // Timer else if (currentModule.moduleType == Module.ModuleType.timer) { timer.StartTimer(currentModule.timer); currentModule.CallEntryEvent(); NextModule(); } // Choice else if (currentModule.moduleType == Module.ModuleType.choice) { dialogue.OpenPanel(currentModule, true); } // Choice else if (currentModule.moduleType == Module.ModuleType.menu) { menu.OpenPanel(currentTaskList, true); // true flag let's the menu know it has been completed (currently a hack) } // Instructional //else if (currentModule.moduleType == Module.ModuleType.instructional) //{ // if (currentModule.moduleData != null) // instructional.OpenPanel(currentModule.missionActivity, currentModule.moduleData); // else // instructional.OpenPanel(currentModule.missionActivity); //} }
public void OpenPanel(Module _currentModule, bool _hasChoice) { currentModule = _currentModule; hasChoice = _hasChoice; if (hasChoice) { buttonNext.gameObject.SetActive(false); buttonOne.gameObject.SetActive(true); buttonTwo.gameObject.SetActive(true); //buttonOne.onClick.AddListener(SelectChoiceOne); //buttonTwo.onClick.AddListener(SelectChoiceTwo); } else { buttonNext.gameObject.SetActive(true); buttonOne.gameObject.SetActive(false); buttonTwo.gameObject.SetActive(false); //buttonOne.onClick.AddListener(ClosePanel); } if (currentModule.data != null) { if (currentModule.data.title != null) { title.text = currentModule.data.title; } else { title.text = currentModule.moduleName; } if (currentModule.data.copy != null) { copy.text = currentModule.data.copy; } else { copy.text = "Data exists but there is no copy data for this module."; } if (hasChoice) { if (currentModule.data.buttonOneText != null) { buttonOneText.text = currentModule.data.buttonOneText; } else { buttonOneText.text = "Choice 1"; } if (currentModule.data.buttonTwoText != null) { buttonTwoText.text = currentModule.data.buttonTwoText; } else { buttonTwoText.text = "Choice 2"; } } else { if (currentModule.data.buttonOneText != null) { buttonNextText.text = currentModule.data.buttonOneText; } else { buttonNextText.text = "Next"; } } if (currentModule.data.backgroundImage != null) { image.color = new Color(1, 1, 1, 1); image.sprite = currentModule.data.backgroundImage; } else { image.color = new Color(1, 1, 1, 0); } } else { title.text = currentModule.moduleName; copy.text = "No data for this module."; if (hasChoice) { buttonOneText.text = "Choice 1"; buttonTwoText.text = "Choice 2"; } else { buttonNextText.text = "Next"; } image.color = new Color(1, 1, 1, 0); } ShowDisplayPanel(); if (currentModule.audioClip != null) { //Debug.Log("Dialogue AudioClip !- null"); buttonOne.interactable = false; if (hasChoice) { buttonTwo.interactable = false; } buttonOne.GetComponent <ButtonTextColorChanger>().isActive = false; audioSystem.PlayAudio(currentModule.audioClip); } else { EnableButton(); } }