IEnumerator CreateStateWithFade(MoneyManagementSubTask _subTask, Level _level, int _state) { visualM.FadeOut(); for (; ;) { if (visualM.faded) { break; } yield return(null); } CreateState(_subTask, _level, _state); visualM.FadeIn(); }
void CreateState(MoneyManagementSubTask _subTask, Level _level, int _state) { generalManagerS.ActiveSubTask = (int)_subTask; generalManagerS.ActiveLevel = _level; state = _state; GameObject tempObj = null; timerS.setStateStartTime(); Debug.Log(_subTask + ", " + _level + ", " + _state); switch (_subTask) { #region CREATE_Recognizing case MoneyManagementSubTask.Recognizing: switch (_level) { case Level.Tutorial: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //tutorial visualM.tutorialSetNo = 0; visualM.ActivateTutorial(true); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //create customer CleanObjects(); tempObj = Instantiate(customers[Random.Range(0, customers.Length)], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //start save session saverS.StartSaveSession(); saverS.instanceCount = 1; timerS.setLevelStartTime(); break; case 1: //START GAME GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 0, 1); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.PlayVoice(3); visualM.visualNo = 0; visualM.ActivateVisuals(true); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; case Level.Train_without_Distracters: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //visuals visualM.ActivateTutorial(false); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); visualM.PlayVoice(6); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //create customer CleanObjects(); int customerIndex = Random.Range(0, customers.Length); tempObj = Instantiate(customers[customerIndex], customerPositions[0].position, customerPositions[0].rotation) as GameObject; tempObj.transform.parent = creations; int newCustomerIndex = -1; do { newCustomerIndex = Random.Range(0, customers.Length); }while (newCustomerIndex == customerIndex); tempObj = Instantiate(customers[newCustomerIndex], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //START GAME randomInstanceCount = Random.Range(5, 8); GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 0, randomInstanceCount); //start save session saverS.StartSaveSession(); saverS.instanceCount = randomInstanceCount; timerS.setLevelStartTime(); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.PlayVoice(8); visualM.visualNo = 0; visualM.ActivateVisuals(true); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; case Level.Train_with_Distracters: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //visuals visualM.ActivateTutorial(false); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); visualM.PlayVoice(6); //distracters on //generalManagerS.DistracterM.SetActiveDistracters(130048); generalManagerS.DistracterM.SetDistracterTiming(30.0f, 5.0f); generalManagerS.DistracterM.ActiveteDistracters(true); //create customer CleanObjects(); int customerIndex = Random.Range(0, customers.Length); tempObj = Instantiate(customers[customerIndex], customerPositions[0].position, customerPositions[0].rotation) as GameObject; tempObj.transform.parent = creations; int newCustomerIndex = -1; do { newCustomerIndex = Random.Range(0, customers.Length); }while (newCustomerIndex == customerIndex); tempObj = Instantiate(customers[newCustomerIndex], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //START GAME if (randomInstanceCount == 0) { randomInstanceCount = Random.Range(5, 8); } GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 0, randomInstanceCount); //start save session saverS.StartSaveSession(); saverS.instanceCount = randomInstanceCount; timerS.setLevelStartTime(); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.visualNo = 0; visualM.ActivateVisuals(true); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; } break; #endregion #region CREATE_Counting case MoneyManagementSubTask.Counting: switch (_level) { case Level.Tutorial: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //tutorial visualM.tutorialSetNo = 1; visualM.ActivateTutorial(true); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //create customer CleanObjects(); tempObj = Instantiate(customers[Random.Range(0, customers.Length)], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //start save session saverS.StartSaveSession(); saverS.instanceCount = 1; timerS.setLevelStartTime(); break; case 1: //START GAME GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 1, 1); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.PlayVoice(4); visualM.visualNo = 0; visualM.ActivateVisuals(true); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; case Level.Train_without_Distracters: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //visuals visualM.ActivateTutorial(false); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); visualM.PlayVoice(9); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //create customer CleanObjects(); int customerIndex = Random.Range(0, customers.Length); tempObj = Instantiate(customers[customerIndex], customerPositions[0].position, customerPositions[0].rotation) as GameObject; tempObj.transform.parent = creations; int newCustomerIndex = -1; do { newCustomerIndex = Random.Range(0, customers.Length); }while (newCustomerIndex == customerIndex); tempObj = Instantiate(customers[newCustomerIndex], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //START GAME randomInstanceCount = Random.Range(4, 7); GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 1, randomInstanceCount); //start save session saverS.StartSaveSession(); saverS.instanceCount = randomInstanceCount; timerS.setLevelStartTime(); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.PlayVoice(11); visualM.visualNo = 0; visualM.ActivateVisuals(true); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; case Level.Train_with_Distracters: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //visuals visualM.ActivateTutorial(false); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); visualM.PlayVoice(9); //distracters on //generalManagerS.DistracterM.SetActiveDistracters(130048); generalManagerS.DistracterM.SetDistracterTiming(30.0f, 5.0f); generalManagerS.DistracterM.ActiveteDistracters(true); //create customer CleanObjects(); int customerIndex = Random.Range(0, customers.Length); tempObj = Instantiate(customers[customerIndex], customerPositions[0].position, customerPositions[0].rotation) as GameObject; tempObj.transform.parent = creations; int newCustomerIndex = -1; do { newCustomerIndex = Random.Range(0, customers.Length); }while (newCustomerIndex == customerIndex); tempObj = Instantiate(customers[newCustomerIndex], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //START GAME if (randomInstanceCount == 0) { randomInstanceCount = Random.Range(4, 7); } GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 1, randomInstanceCount); //start save session saverS.StartSaveSession(); saverS.instanceCount = randomInstanceCount; timerS.setLevelStartTime(); break; case 100: //WIN //visual visualM.ActivatePictographs(false); visualM.visualNo = 0; visualM.ActivateVisuals(true); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; } break; #endregion #region CREATE_Change case MoneyManagementSubTask.Change: switch (_level) { case Level.Tutorial: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //tutorial visualM.tutorialSetNo = 2; visualM.ActivateTutorial(true); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //create customer CleanObjects(); tempObj = Instantiate(customers[Random.Range(0, customers.Length)], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //start save session saverS.StartSaveSession(); saverS.instanceCount = 1; timerS.setLevelStartTime(); break; case 1: //START GAME GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 2, 1); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.PlayVoice(5); visualM.visualNo = 0; visualM.ActivateVisuals(true); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; case Level.Train_without_Distracters: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //visuals visualM.ActivateTutorial(false); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); visualM.PlayVoice(12); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //create customer CleanObjects(); int customerIndex = Random.Range(0, customers.Length); tempObj = Instantiate(customers[customerIndex], customerPositions[0].position, customerPositions[0].rotation) as GameObject; tempObj.transform.parent = creations; int newCustomerIndex = -1; do { newCustomerIndex = Random.Range(0, customers.Length); }while (newCustomerIndex == customerIndex); tempObj = Instantiate(customers[newCustomerIndex], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //START GAME randomInstanceCount = Random.Range(4, 7); GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 2, randomInstanceCount); //start save session saverS.StartSaveSession(); saverS.instanceCount = randomInstanceCount; timerS.setLevelStartTime(); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.PlayVoice(14); visualM.visualNo = 0; visualM.ActivateVisuals(true); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; case Level.Train_with_Distracters: switch (_state) { case 0: //timing set timerS.initializeTimes(0.0f, 60.0f, 300.0f); //visuals visualM.ActivateTutorial(false); visualM.ActivatePictographs(false); visualM.ActivateVisuals(false); visualM.ActivateInfo(false); visualM.PlayVoice(12); //distracters on //generalManagerS.DistracterM.SetActiveDistracters(130048); generalManagerS.DistracterM.SetDistracterTiming(30.0f, 5.0f); generalManagerS.DistracterM.ActiveteDistracters(true); //create customer CleanObjects(); int customerIndex = Random.Range(0, customers.Length); tempObj = Instantiate(customers[customerIndex], customerPositions[0].position, customerPositions[0].rotation) as GameObject; tempObj.transform.parent = creations; int newCustomerIndex = -1; do { newCustomerIndex = Random.Range(0, customers.Length); }while (newCustomerIndex == customerIndex); tempObj = Instantiate(customers[newCustomerIndex], customerPositions[1].position, customerPositions[1].rotation) as GameObject; tempObj.transform.parent = creations; //START GAME if (randomInstanceCount == 0) { randomInstanceCount = Random.Range(4, 7); } GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 2, randomInstanceCount); //start save session saverS.StartSaveSession(); saverS.instanceCount = randomInstanceCount; timerS.setLevelStartTime(); break; case 100: //WIN //forman voice and visual visualM.ActivatePictographs(false); visualM.visualNo = 0; visualM.ActivateVisuals(true); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //save session saverS.result = 1; saverS.SaveDataBase(); break; case 200: //FAIL //visual visualM.ActivatePictographs(false); visualM.visualNo = 1; visualM.ActivateVisuals(true); //distracters off generalManagerS.DistracterM.ActiveteDistracters(false); //save session saverS.result = 2; saverS.SaveDataBase(); break; } break; } break; #endregion } //PHOTON CODE //generalManagerS.PhotonUpdate(); //PHOTON CODE }