Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    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;
    }