public void ResetCycle() { //finaliza o ciclo interfaceScript.ShowJoysticks(false, 1); isInLifeCycle = false; cicloDeVida = CicloDeVida.nenhum; //se for modo protetor, toca a musica dele if (isProtectorMode) { AudioManager.instance.PlayMusic(AudioManager.instance.music_ProtectorMode); } else //se não for, é o modo viral { AudioManager.instance.PlayMusic(AudioManager.instance.music_ViralMode); } }
public void StartLifeCycle() { //o padrão é tudo pausado stop = stopNpc = true; //define que está no ciclo de vida isInLifeCycle = true; //verifica qual a etapa do ciclo de vida switch (cicloDeVida) { //se não estiver em nenhuma etapa case CicloDeVida.nenhum: //inicia a adesão que seria a primeira etapa do ciclo de vida //aqui o jogador deverá conectar o receptor do vírus no da célula cicloDeVida = CicloDeVida.adesao; //toca a risadinha do virus AudioManager.instance.VirusSound(); //inicia a musica que ficará até o fim do ciclo de vida AudioManager.instance.PlayMusic(AudioManager.instance.music_LifeCycle); //mostra uma informação simples sobre os receptores interfaceScript.simpleInfo.ShowSimpleTip("A adesão só é possível se o receptor do vírion for compatível com o da célula"); interfaceScript.ShowJoysticks(true, 0); //ativa o joystick de movimento interfaceScript.ShowJoysticks(true, 1); //ativa o joystick de rotação //se for virus que possui DNA, mostra a informação sobre o ciclo lisogênico //se for vírus RNA, mostra a informação sobre o ciclo lítico if (player.IsVirusDNA()) { interfaceScript.elementInfoPanel.ShowLifeCycleInfo(false); } else { interfaceScript.elementInfoPanel.ShowLifeCycleInfo(true); } break; case CicloDeVida.adesao: //inicia a etapa penetração na qual o jogador deverá tocar na tela rápidamente para fazer com que o vírus entre na célula cicloDeVida = CicloDeVida.penetracao1; interfaceScript.ShowJoysticks(false, -1); //desativa todos joysticks, só vai usar o toque na tela interfaceScript.tutorialPanel.ShowTutorial(3); //clique na tela rapidamente //inicia o contador de toques touchCounter.StartCounting(); break; case CicloDeVida.penetracao1: //inicia a etapa penetração 2 em que o jogador deverá deslizar seu dedo horizontalmente para liberar o capsídio viral cicloDeVida = CicloDeVida.penetracao2; //na etapa de adesão, o player(que possui todos os vírus), se torna filho do receptor da célula //se torna filho para assim seguir os movimentos do receptor da célula //agora que acabou a parte de penetração, o player volta a não ter pai, ou seja, é livre para se movimentar do jeito que quiser player.SetPlayerParent(null); interfaceScript.tutorialPanel.ShowTutorial(4); //deslize seu dedo horizontalmente para liberar o capsídio //começa a contar os deslizamentos shakeCounter.StartCounting(); //para a contagem dos toques touchCounter.StopCounting(); break; case CicloDeVida.penetracao2: //para a contagem dos deslizamentos shakeCounter.StopCounting(); //se for virus DNA(ciclo lisogênico) if (player.IsVirusDNA()) { if (player.currentVirusID == 7) // se for o hiv { //inicia a integracao 1 exclusiva para o HIV //o objetivo é converter seu RNA em DNA, miniGame da cobrinha cicloDeVida = CicloDeVida.integracao1_HIV; //desativa o joystick de movimento interfaceScript.ShowJoysticks(false, 0); //ativa o joystick de rotação interfaceScript.ShowJoysticks(true, 1); //integração 3.1 - snake tutorial interfaceScript.tutorialPanel.ShowTutorial(9); //inicia o mini game miniGameController.integracaoHIV.StartMiniGame(); //dá zoom out cameraController.Zoom(false); } else //se for qualquer outro vírus de dna(papiloma ou varicela zóster) { //inicia a integracao1 normal //o objetivo é mover o vírus até o núcleo da célula cicloDeVida = CicloDeVida.integracao1; //busca o núcleo da célula para que a seta que indica a direção direcione para o núcleo FindTargetCellNucleus(); //dá zoom in cameraController.Zoom(true); //ativa o joystick de movimento interfaceScript.ShowJoysticks(true, 0); //desativa o joystick de rotação interfaceScript.ShowJoysticks(false, 1); //integracao1- levar o dna viral até o núcleo da célula interfaceScript.tutorialPanel.ShowTutorial(7); //desabilita o virus atual e habilita só o rna viral player.ShowOnlyTheNucleicAcid(true, true); break; } } else //se for vírus RNA(lítico) { //inicia a biossintese1 em que o jogador deverá levar o rna mensageiro até os ribossomos para criar proteínas virais cicloDeVida = CicloDeVida.biossintese1; //busca o núcleo da célula para que a seta que indica a direção direcione para o núcleo FindTargetCellNucleus(); //dá zoom in cameraController.Zoom(true); //ativa o joystick de movimento interfaceScript.ShowJoysticks(true, 0); //desativa o joystick de rotação interfaceScript.ShowJoysticks(false, 1); //biossintese 3.1 - mover até o núcleo da célula interfaceScript.tutorialPanel.ShowTutorial(5); //desabilita o virus HIV e habilita só o dna viral player.ShowOnlyTheNucleicAcid(true, false); } break; case CicloDeVida.integracao1_HIV: //inicia a etapa integracao2 onde é necessário levar o dna viral até o núcleo da célula cicloDeVida = CicloDeVida.integracao2_HIV; //busca o núcleo da célula para que a seta que indica a direção direcione para o núcleo FindTargetCellNucleus(); //dá zoom in cameraController.Zoom(true); //ativa o joystick de movimento interfaceScript.ShowJoysticks(true, 0); //desativa o joystick de rotação interfaceScript.ShowJoysticks(false, 1); //integraçãoHIV 3.2 - mover até o núcleo da célula interfaceScript.tutorialPanel.ShowTutorial(10); //desabilita o virus HIV e habilita só o dna viral player.ShowOnlyTheNucleicAcid(true, true); break; case CicloDeVida.integracao2_HIV: //inicia a ultima etapa do HIV, o jogador deverá integrar o dna viral no dna da célula cicloDeVida = CicloDeVida.integracao3_HIV; //dá zoom out cameraController.Zoom(false); //desativa todos joysticks, só vai usar o toque na tela interfaceScript.ShowJoysticks(false, -1); //integraçãoHIV 3.3 - toque na tela para mover o dna viral interfaceScript.tutorialPanel.ShowTutorial(11); //inicia o mini game miniGameController.integracao.StartMiniGame(player.currentVirusID); break; case CicloDeVida.integracao1: //inicia a etapa integracao2 em que o jogador deve integrar o dna viral no dna da célula cicloDeVida = CicloDeVida.integracao2; //da zoom out cameraController.Zoom(false); //desativa todos joysticks, só vai usar o toque na tela interfaceScript.ShowJoysticks(false, -1); //integração 3.2 - toque na tela para mover o dna viral interfaceScript.tutorialPanel.ShowTutorial(8); //inicia o mini game miniGameController.integracao.StartMiniGame(player.currentVirusID); break; case CicloDeVida.integracao2: case CicloDeVida.integracao3_HIV: //finaliza o ciclo lisogênico //já é finalizado no método ElementInfoOk break; case CicloDeVida.biossintese1: //inicia a etapa biossintese2 onde o jogador deverá levar o rna mensageiro até os ribossomos para criar as proteínas virais cicloDeVida = CicloDeVida.biossintese2; //da zoom out cameraController.Zoom(false); //desativa todos joysticks, só vai usar o toque na tela interfaceScript.ShowJoysticks(false, -1); //integraçãoHIV 3.2 - toque na tela para mover o rna viral que rotaciona interfaceScript.tutorialPanel.ShowTutorial(6); //inicia o mini game miniGameController.biossintese.StartMiniGame(player.currentVirusID); break; case CicloDeVida.biossintese2: //inicia a etapa de maturação onde o jogador deverá memorizar as estruturas virais cicloDeVida = CicloDeVida.maturacao; //maturação 4 - memorize e acerte as partes virais interfaceScript.tutorialPanel.ShowTutorial(12); //inicia o mini game miniGameController.maturacao.StartMiniGame(player.currentVirusID); break; case CicloDeVida.maturacao: //inicia o processo de liberação: o jogador deverá tocar rapidamente para atingir o limite da célula e assim liberar os novos vírus cicloDeVida = CicloDeVida.liberacao; //desativa os acidos nucleicos do miniGame maturação player.ShowOnlyTheNucleicAcid(false, false); //começa a contar os toques na tela touchCounter.StartCounting(); //liberação 5 - toque o mais rápido que puder para romper a célula interfaceScript.tutorialPanel.ShowTutorial(13); //inicia o mini game passando qual seria o ponto inicial(meio da célula) e o final(limite da célula) miniGameController.liberation.StartMiniGame(currentCell.miniGameStartPosToLiberate, currentCell.miniGameEndPosToLiberate); break; case CicloDeVida.liberacao: //é a ultima etapa, então reseta o ciclo para sair ResetCycle(); //para o contador touchCounter.StopCounting(); break; } }