// Update is called once per frame void Update() { if (!updatedSceneToClient && GlobalController.Instance.getConnectionStatus()) { sender.prepareNewMessage4Client(PublicLabFactors.MessageType.Scene); updatedSceneToClient = true; } if (curPhase == Lab1Phase.in_lab1_scene) { switchPhase(Lab1Phase.check_connection); } else if (curPhase == Lab1Phase.check_connection) { // check if client is in the lab scene if (GlobalController.Instance.getConnectionStatus()) { trialController.setConnectionStatus(true); switchPhase(Lab1Phase.check_client_scene); } } else if (curPhase == Lab1Phase.check_client_scene) { if (GlobalController.Instance.curClientScene == PublicLabFactors.LabScene.Lab1_tap_33_33) { switchPhase(Lab1Phase.in_experiment); } } else if (curPhase == Lab1Phase.in_experiment) { trialController.setExperimentStatus(true); } else if (curPhase == Lab1Phase.end_experiment) { trialController.setExperimentStatus(false); curPhase = Lab1Phase.wait_to_back_to_entry; } else if (curPhase == Lab1Phase.wait_to_back_to_entry) { uiController.btnBack.gameObject.SetActive(true); } else if (curPhase == Lab1Phase.out_lab1_scene) { if (GlobalController.Instance.haveNextBlock()) { GlobalController.Instance.moveToNextBlock(); } else { sender.prepareNewMessage4Client(PublicLabFactors.MessageType.Command, PublicLabFactors.ServerCommand.server_say_end_lab); uiController.ShowTheEndText(); GlobalController.Instance.writeAllBlocksFinishedFlagToFile(); } } }
public void moveToPhase(Lab1Phase p1) { switchPhase(p1); }
private void switchPhase(Lab1Phase p1) { curPhase = p1; GlobalController.Instance.curLab1Phase = curPhase; }
// Update is called once per frame void Update() { if (!updatedSceneToServer && GlobalController.Instance.getConnectionStatus()) { sender.prepareNewMessage4Server(PublicLabFactors.MessageType.Scene); updatedSceneToServer = true; } if (curPhase != prevPhase) { GlobalController.Instance.curLab1Phase = curPhase; Debug.Log("Lab1Phase changed: " + prevPhase + " -> " + curPhase); prevPhase = curPhase; } if (curPhase == Lab1Phase.in_lab1_scene) { switchPhase(Lab1Phase.check_connection); } else if (curPhase == Lab1Phase.check_connection) { // check if client is in the lab scene if (GlobalController.Instance.getConnectionStatus()) { trialController.setConnectionStatus(true); switchPhase(Lab1Phase.check_client_scene); } } else if (curPhase == Lab1Phase.check_client_scene) { if (GlobalController.Instance.curServerScene == PublicLabFactors.LabScene.Lab1_tap_33_33) { switchPhase(Lab1Phase.in_experiment); } } else if (curPhase == Lab1Phase.in_experiment) { trialController.setExperimentStatus(true); } else if (curPhase == Lab1Phase.end_experiment) { trialController.setExperimentStatus(false); curPhase = Lab1Phase.wait_to_back_to_entry; } else if (curPhase == Lab1Phase.wait_to_back_to_entry) { if (GlobalController.Instance.serverCmdQueue.Count != 0 && GlobalController.Instance.serverCmdQueue.Peek() == PublicLabFactors.ServerCommand.server_say_exit_lab) { finishCurrentServerCmdExcution(); switchPhase(Lab1Phase.out_lab1_scene); } else if (GlobalController.Instance.serverCmdQueue.Count != 0 && GlobalController.Instance.serverCmdQueue.Peek() == PublicLabFactors.ServerCommand.server_say_end_lab) { finishCurrentServerCmdExcution(); uiController.ShowTheEndText(); } } else if (curPhase == Lab1Phase.out_lab1_scene) { GlobalController.Instance.curEntryPhase = PublicLabFactors.WelcomePhase.check_server_scene; Debug.Log("lab1Phase: back to entry scene soon"); string entrySceneName = (PublicLabFactors.LabScene.Entry_scene).ToString(); SceneManager.LoadScene(entrySceneName); } }