public void StartMiniGame(int currentVirusID) { //limpa a lista anterior availableRibos.Clear(); //se estiver tocando animação do ribossomo, destroi ela if (tween != null) { tween.Kill(); } //influenza é virus ID0 então foi adiciona+1 para aparecer pelo menos 1 ribossomo int riboQnt = currentVirusID + 1; //6 é o máximo de ribossomo então previne que passe disso if (riboQnt > 6) { riboQnt = 6; } //percorre todas as sprites dos ribossomos for (int c = 0; c < ribossomosSprites.Length; c++) { if (c < riboQnt) { //adiciona os ribossomos disponíveis availableRibos.Add(c); //seta a cor original dele ribossomosSprites[c].color = originalColor; //ativa ribossomosSprites[c].gameObject.SetActive(true); } else //se passou da quantidade disponível do mini game atual(baseado no vírus) { //desativa o ribossomo ribossomosSprites[c].gameObject.SetActive(false); } } //interpola a posição do painel para que fique visível myTransform.DOLocalMoveY(0f, 1f, false).SetEase(Ease.InExpo); //evita erros caso ainda não tenha achado o miniGameRnaViral if (miniGameRnaMensageiro == null) { miniGameRnaMensageiro = GetComponentInChildren <MiniGameRnaMensageiro>(); } //envia o comando para o rna viral se preparar de acordo com o vírus atual miniGameRnaMensageiro.SetUpRnaMensageiro(currentVirusID); //escolhe um ribossomo aleatório RandomizeRibossomo(); //ativa os colliders do miniGame EnableColliders(true); }
void Start() { //guarda a cor original baseada no primeiro ribossomo(são iguais então da na mesma) originalColor = ribossomosSprites[0].color; //define a cor com alfa baixo baseado na cor original halfColor = originalColor; halfColor.a = 0.2f; //guarda o transform do mini game myTransform = transform; //guarda o rna mensageiro miniGameRnaMensageiro = GetComponentInChildren <MiniGameRnaMensageiro>(); //guarda a particula para tocá-la particleEffect = GetComponentInChildren <ParticleSystem>(); //guarda o transform da particula para posicionamento particleEffectTransform = particleEffect.transform; //guarda a posição local Y do painel do minigame originalLocalY = myTransform.localPosition.y; //guarda o gameobject do background, que será usado para alterar o layer e assim tirar/colocar os colliders da borda background = myTransform.Find("background").gameObject; }