コード例 #1
0
        void Start()
        {
            _musicControl = GameManager.Instance.GetMusicControl();
            imageNoSound.SetActive(!_musicControl.hasAudio);

            particleCelebration.Stop(true);

            SetActiveSearchTarget(true);
        }
コード例 #2
0
        void Start()
        {
            _musicControl = FindObjectOfType <MusicControl>();
            _loaderScene  = FindObjectOfType <LoaderScene>();

            _loaderScene.ShowLoadScreen(.5f, () =>
            {
                // Inicializar por primera vez main menu
                FindObjectOfType <RappiMainMenu>().InitMenu();
            });
        }
コード例 #3
0
        public void InitMenu()
        {
            _musicControl = GameManager.Instance.GetMusicControl();

            imageNoSound.SetActive(!_musicControl.hasAudio);

            if (GameManager.Instance.currPrize == PrizeType.None)
            {
                bttStart.interactable = false;
            }

            SetInfoSelectorPrize();
        }
コード例 #4
0
        private void initNextSequence()
        {
            if (_currSequence >= _maxSequence)
            {
                FinishElementAction();

                return;
            }

            _currSequence++;

            switch (_currSequence)
            {
            case 0:
            {
                //Se elevan los contenedores
                PlaySound(clipFailContainer);

                int count = containers.Length;

                for (int i = 0; i < containers.Length; i++)
                {
                    LeanTween.moveLocal(containers[i],
                                        new Vector3(containers[i].transform.localPosition.x, maxheightContainers, containers[i].transform.localPosition.z),
                                        timeMovContainer).setEase(LeanTweenType.easeOutQuint).setOnComplete(() =>
                        {
                            count--;

                            if (count <= 0)
                            {
                                LeanTween.delayedCall(timeToNextAction[_currSequence], () => { initNextSequence(); });
                            }
                        });
                }
                break;
            }

            case 1:
            {
                // Aparece mochila Rappi

                Container c = null;

                for (int i = 0; i < containers.Length; i++)
                {
                    if (containers[i].GetComponent <Container>().HasPrize)
                    {
                        c = containers[i].GetComponent <Container>();
                        break;
                    }
                }

                Transform initPoint = c.GetPositionPrize();

                bag.transform.position = initPoint.position;

                PlaySound(clipShowBag);

                LeanTween.move(bag,
                               new Vector3(bag.transform.position.x, pointPosBag.position.y, bag.transform.position.z),
                               timeMovContainer).setEase(LeanTweenType.easeOutBounce).setOnComplete(() =>
                    {
                        LeanTween.delayedCall(timeToNextAction[_currSequence], () =>
                        {
                            MusicControl mc = FindObjectOfType <MusicControl>();
                            mc.SetMusicVolume(.35f);
                            PlaySound(mc.clipDefeat);

                            FinishElementAction();
                        });
                    });

                LeanTween.scale(bag, Vector3.one * 1.1f * scaleBag, timeShowBag / 2).setOnComplete(() =>
                    {
                        LeanTween.scale(bag, Vector3.one * scaleBag, .1f);
                    });

                break;
            }
            }
        }
コード例 #5
0
        private void initNextSequence()
        {
            if (_currSequence >= _maxSequence)
            {
                FinishElementAction();

                return;
            }

            _currSequence++;

            switch (_currSequence)
            {
            case 0:
            {
                // Aparece mochila Rappi

                // Obtener posicion en donde aparece la mochila. La posicion se encuentra en el contenedor
                // correcto.
                Transform initPoint = _correctContainer.GetPositionPrize();

                bag.transform.position = initPoint.position;

                PlaySound(clipShowBag);

                LeanTween.move(bag,
                               new Vector3(bag.transform.position.x, pointPosBag.position.y, bag.transform.position.z),
                               timeMovContainer).setEase(LeanTweenType.easeOutBounce).setOnComplete(() =>
                    {
                        OnFinishAction1.Invoke();

                        LeanTween.delayedCall(timeToNextAction[_currSequence], () => { initNextSequence(); });
                    });

                LeanTween.scale(bag, Vector3.one * 1.1f * scaleBag, timeShowBag / 2).setOnComplete(() =>
                    {
                        LeanTween.scale(bag, Vector3.one * scaleBag, .1f);
                    });

                break;
            }

            case 1:
            {
                int count = containers.Length;

                // Se elevan los contenedores
                for (int i = 0; i < containers.Length; i++)
                {
                    LeanTween.moveLocal(containers[i],
                                        new Vector3(containers[i].transform.localPosition.x, maxheightContainers, containers[i].transform.localPosition.z),
                                        timeMovContainer).setEase(LeanTweenType.easeOutQuint).setOnComplete(() =>
                        {
                            count--;

                            if (count <= 0)
                            {
                                LeanTween.delayedCall(timeToNextAction[_currSequence], () => { initNextSequence(); });
                            }
                        });
                }

                break;
            }

            case 2:
            {
                // Mochila se posiciona al centro

                float timeNextMove = timeToNextAction[_currSequence];

                // Ejecutar la siguiente accion antes de finalizar la actual
                if (timeNextMove < 0)
                {
                    LeanTween.delayedCall(timetoPosBag + timeToNextAction[_currSequence], () => { initNextSequence(); });
                }

                LeanTween.move(bag, pointPosBag.position, timetoPosBag).setEase(LeanTweenType.easeOutSine).setOnComplete(() =>
                    {
                        if (timeNextMove >= 0)
                        {
                            LeanTween.delayedCall(timeToNextAction[_currSequence], () => { initNextSequence(); });
                        }
                    });

                break;
            }

            case 3:
            {
                // Desaparecer contenedores y abrir mochila

                int count = containers.Length;

                // Achicar contenedores
                for (int i = 0; i < containers.Length; i++)
                {
                    LeanTween.scale(containers[i], Vector3.zero, timeHideContainer).setEase(LeanTweenType.easeOutSine);
                }

                // Abrir mochila
                animBag.SetFloat("direction", 1f);
                animBag.Play("openningBag", 0, 0);

                // Obtener largo de la animacion
                AnimatorClipInfo[] m_CurrentClipInfo = animBag.GetCurrentAnimatorClipInfo(0);
                float lenghtAnim = m_CurrentClipInfo[0].clip.length;

                // Terminar accion
                LeanTween.delayedCall(timeToNextAction[_currSequence] + lenghtAnim, () => { initNextSequence(); });

                break;
            }

            case 4:
            {
                // Aparece premio girando desde el interior de la mochila

                OnInitAction5.Invoke();

                MusicControl mc = FindObjectOfType <MusicControl>();
                mc.SetMusicVolume(.35f);
                PlaySound(mc.clipVictory);
                // premio

                // Crear premio y ubicarlo en el punto de inicio de la mochila
                _prize = _correctContainer.CreatePrize(posBagPrize);

                // Activar animacion de rotacion premio
                Prize p = _prize.GetComponent <Prize>();
                p.CreateElementsPrize(() =>
                    {
                        p.StartRotation(velRotationPrize, Vector3.up);
                    });


                LeanTween.move(_prize,
                               posPrize.position,
                               timeShowPrize).setEase(LeanTweenType.easeOutSine).setOnComplete(() =>
                    {
                        p.StartAnimCoin(velCoin, timeSpawnCoin, velRotationCoin, Vector3.up);
                        //LeanTween.delayedCall(timeToNextAction[_currSequence], () => { FinishElementAction(); });
                        FinishElementAction();
                    });

                LeanTween.scale(_prize, Vector3.one, timeShowPrize / 1.5f);

                break;
            }
                //case 5:
                //    {
                //        // Activar animaciones monedas

                //        Prize p = _prize.GetComponent<Prize>();
                //        p.StartAnimation(velRotationPrize, velCoin, timeSpawnCoin);

                //        FinishElementAction();
                //        break;
                //    }
            }
        }