Example #1
0
 public override void Open()
 {
     HOTween.To(this.GetComponent <RectTransform>(), 0.3f, new TweenParms().Prop("anchoredPosition", new Vector2(0f, 100f)));
 }
Example #2
0
 void Start()
 {
     HOTween.To(transform, ScaleTime, new TweenParms().Prop("localScale", ScaleSize).OnComplete(Shoot));
 }
Example #3
0
 public void Show()
 {
     StopAnimations();
     HOTween.To(canvasGroup, 0.1f, "alpha", 1f, false).Play();
     HOTween.To(canvasGroup.transform, animDuration, "localScale", defaultScale, false, EaseType.EaseOutBack, 0).Play();
 }
Example #4
0
    // Update is called once per frame
    void Update()
    {
        //we make sure that we are not jumping
        bool prisonerGrounded = (PossessionMaster.CurrentlyPossesing == null) ? false : PossessionMaster.CurrentlyPossesing.PrisonerAnimator.GetBool("OnGround");

        //Entering into astral
        if (Input.GetKeyUp(KeyCode.E) && !PossessionMaster.AstralForm && possMaster.CanSwap && prisonerGrounded)
        {
            StartCoroutine(possMaster.enterAstral());
        }

        //Swapping
        if (Input.GetKeyUp(KeyCode.Q) && possMaster.CanSwap)
        {
            if (PossessionMaster.AstralForm && (possMaster.getInventory().Count >= 1))
            {
                StartCoroutine(possMaster.swap(possMaster.getInventory()[0]));
            }
            else if ((possMaster.getInventory().Count > 1) && prisonerGrounded)
            {
                ++curPosIndex;
                if (curPosIndex >= possMaster.getInventory().Count)
                {
                    curPosIndex = 0;
                    StartCoroutine(possMaster.swap(possMaster.getInventory()[curPosIndex]));
                }
                else
                {
                    StartCoroutine(possMaster.swap(possMaster.getInventory()[curPosIndex]));
                }
            }
        }

        if (Input.GetKeyUp(KeyCode.R) && julia.CurrentlyViewing != null && !possMaster.getInventory().Contains(julia.CurrentlyViewing) && !julia.CurrentlyViewing.IsDead)
        {
            julia.addPrisoner();
        }

        if (Input.GetKeyUp(KeyCode.T))
        {
            if (selectionMode)
            {
                julia.gameObject.rigidbody.useGravity = true;
                selectionMode = false;
                HOTween.To(julia.gameObject.transform.GetChild(0).GetChild(0).gameObject.GetComponent <Camera>(), 0.5f, "fieldOfView", 60);
                julia.startControlling();
            }
            else
            {
                julia.gameObject.rigidbody.useGravity = false;
                selectionMode = true;
                StartCoroutine(astralUp());
                //Vector3 up = julia.gameObject.transform.position;
                //up.y += 1.5f;
                // HOTween.To(julia.gameObject.transform, 0.5f, new TweenParms().Prop("position", up).Ease(EaseType.EaseOutQuad));
                // curPosIndex = 0;
                //julia.stopControlling();
                // selectPris2Poss(possMaster.getInventory()[0]);
            }
        }
        if (selectionMode)
        {
            if (Input.GetKeyUp(KeyCode.LeftArrow))
            {
                StartCoroutine(deselectPris2Pos(true));
            }
            if (Input.GetKeyUp(KeyCode.RightArrow))
            {
                StartCoroutine(deselectPris2Pos(false));
            }
        }
    }
Example #5
0
 // Use this for initialization
 void Start()
 {
     k = GetComponent <Kalidescope>();
     HOTween.To(k, 3, "angle", 12, false, EaseType.EaseInOutSine, 0);
 }
Example #6
0
 void OnGameOver()
 {
     HOTween.To(transform, 0.5f, new TweenParms().Ease(EaseType.EaseInBounce).Prop("position", Vector3.zero));
 }
        //creates a new HOTween tween with give arguments that moves along the path
        private void CreateTween()
        {
            //prepare HOTween's parameters, you can look them up here
            //http://www.holoville.com/hotween/documentation.html

            //create new plugin for curved paths
            //pass in array of Vector3 waypoint positions, relative = true
            plugPath = new PlugVector3Path(waypoints, true, pathType);

            //orients the tween target along the path
            if (orientToPath)
            {
                plugPath.OrientToPath(lookAhead, lockAxis);
            }

            //lock position axis, if set
            if (lockPosition != Holoville.HOTween.Axis.None)
            {
                plugPath.LockPosition(lockPosition);
            }

            //create a closed loop, if set
            if (loopType == LoopType.loop && closeLoop)
            {
                plugPath.ClosePath(true);
            }

            //create TweenParms for storing HOTween's parameters
            tParms = new TweenParms();
            //sets the path plugin as tween position property
            tParms.Prop("position", plugPath);

            //additional tween parameters
            tParms.AutoKill(false);
            tParms.Loops(1);
            if (!moveToPath)
            {
                tParms.OnComplete(ReachedEnd);
            }

            //differ between TimeValue, use speed with linear easing
            //or time based tweening with an animation easetype
            if (timeValue == TimeValue.speed)
            {
                tParms.SpeedBased();
                tParms.Ease(EaseType.Linear);
            }
            else
            {
                //use time in seconds and the chosen easetype
                if (easeType == Holoville.HOTween.EaseType.AnimationCurve)
                {
                    tParms.Ease(animEaseType);
                }
                else
                {
                    tParms.Ease(easeType);
                }
            }

            //finally create the tween
            tween = HOTween.To(transform, originSpeed, tParms);

            //continue new tween with adjusted speed if it was changed before
            if (originSpeed != speed)
            {
                ChangeSpeed(speed);
            }
        }
Example #8
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Application.Quit();
        }



        //Detecting if the player clicked on the left mouse button and also if there is no animation playing
        if (Input.GetButtonDown("Fire1"))
        {
            //The 3 following lines is to get the clicked GameObject and getting the RaycastHit2D that will help us know the clicked object
            RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
            if (hit.transform != null)
            {
                if (hit.transform.gameObject.name == _MenuButton.name)
                {
                    GetComponent <AudioSource>().PlayOneShot(MenuSound);
                    hit.transform.localScale = new Vector3(1.1f, 1.1f, 0);
                    Application.LoadLevel("MainMenu");
                }
                if (hit.transform.gameObject.name == _FaceBookButton.name)
                {
                    hit.transform.localScale = new Vector3(1.5f, 1.5f, 0);
                    onBragClicked();
                }
                if (hit.transform.gameObject.name == _ReloadButton.name)
                {
                    GetComponent <AudioSource>().PlayOneShot(MenuSound);
                    Time.timeScale = 1;
                    isPaused       = false;
                    HOTween.Play();
                    hit.transform.localScale = new Vector3(1.1f, 1.1f, 0);
                    Application.LoadLevel(Application.loadedLevelName);
                }
                if (hit.transform.gameObject.name == _PauseButton.name && !isPaused && !isCountingDown && !isEnded && HOTween.GetTweenersByTarget(_PlayButton.transform, false).Count == 0 && HOTween.GetTweenersByTarget(_MenuButton.transform, false).Count == 0)
                {
                    GetComponent <AudioSource>().PlayOneShot(MenuSound);
                    StartCoroutine(ShowMenu());
                    hit.transform.localScale = new Vector3(1.1f, 1.1f, 0);
                }
                else if ((hit.transform.gameObject.name == _PauseButton.name || hit.transform.gameObject.name == _PlayButton.name) && !isEnded && !isCountingDown && isPaused && HOTween.GetTweenersByTarget(_PlayButton.transform, false).Count == 0 && HOTween.GetTweenersByTarget(_MenuButton.transform, false).Count == 0)
                {
                    GetComponent <AudioSource>().PlayOneShot(MenuSound);
                    StartCoroutine(HideMenu());
                    hit.transform.localScale = new Vector3(1f, 1f, 0);
                }
                else if ((hit.transform.gameObject.name == _TestScore.name) && !isEnded && !isCountingDown && !isPaused)
                {
                    GetComponent <AudioSource>().PlayOneShot(MenuSound);
                    _scoreTotal += _scoreIncrement;
                    UpdateLevel(20 * _scoreIncrement);
                    Util.ButtonPressAnimation(hit.transform.gameObject);
                }
                else if ((hit.transform.gameObject.name == _TestLevelEnd.name) && !isEnded && !isCountingDown && !isPaused)
                {
                    isEnded  = true;
                    isPaused = true;
                    StartCoroutine(ShowBoardScore());
                    Util.ButtonPressAnimation(hit.transform.gameObject);
                    //Update the Level
                    UpdateReachedLevel();
                }
            }
        }
        if (isPaused)
        {
            return;
        }

        if (!isPaused)
        {
            timing  += 0.001f;
            progress = (float)(timing * _timerCoef);
            _Time.transform.localScale = new Vector3(Mathf.Clamp01(progress), _Time.transform.localScale.y, 0);
        }
        if (Mathf.Clamp01(progress) >= 1)
        {
            isEnded  = true;
            isPaused = true;
            TweenParms parms = new TweenParms().Prop("position", new Vector3(_TimeIsUp.transform.position.x, -0.85f, -6)).Ease(EaseType.EaseOutQuart);
            HOTween.To(_TimeIsUp.transform, 0.5f, parms).WaitForCompletion();
            StartCoroutine(ShowBoardScore());
        }
        //Update the score
        (GetComponent(typeof(TextMesh)) as TextMesh).text = _scoreTotal.ToString();
        if (PlayerPrefs.GetInt("HighScore") < _scoreTotal && !_BestScoreReached)
        {
            _BestScoreReached = true;
        }
        if (PlayerPrefs.GetInt("HighLevel") < level && !_BestLevelReached)
        {
            _BestLevelReached = true;
        }
    }
Example #9
0
    private void Update()
    {
        switch (state)
        {
        case GameState.MainMenu:

            break;

        case GameState.Pause:
            break;

        case GameState.Transition:
            break;

        case GameState.GetReady:
            ResetBattle();
            state = GameState.Battle;
            TimeText.gameObject.SetActive(true);
            ShowBattle();
            TimeText.color = Color.black;
            HOTween.Kill(TimeText);
            HOTween.To(TimeText, 10f, new TweenParms()
                       .Prop("color", Color.red)
                       .Ease(EaseType.Linear)
                       );
            break;

        case GameState.Battle:
            timer -= Time.deltaTime;

            TimeText.text = timer.ToString("0.00");

            if (timer <= 0.0f &&
                Player.go.GetComponent <PlayerScript>().GetState() != PlayerScript.PlayerState.Prepare &&
                Player.go.GetComponent <PlayerScript> ().GetState() != PlayerScript.PlayerState.Attack)
            {
                state = GameState.GameOver;
                TimeText.gameObject.SetActive(false);
                HOTween.To(Battle, 1f, new TweenParms()
                           .Prop("position", new Vector3(Screen.width * 0.5f, -512f, 0.5f))
                           .Ease(EaseType.EaseInOutBack)
                           .OnComplete(ShowGameOver)
                           );
            }
            else
            {
                if (enemyAttackTimes.Count > 0)
                {
                    float time = enemyAttackTimes[0];

                    if (timer <= time &&
                        numEnemyAttacks < maxEnemyAttacks &&
                        Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                    {
                        Enemy.go.GetComponent <EnemyScript> ().Attack();
                        Enemy.go.audio.PlayOneShot(prepareSFX);
                        enemyAttackTimes.RemoveAt(0);
                        numEnemyAttacks++;
                    }
                }

                if (Input.GetButtonDown("Attack") &&
                    hitted == false &&
                    gotHit == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle)
                {
                    Player.go.GetComponent <PlayerScript> ().Attack();
                    Player.go.audio.PlayOneShot(prepareSFX);
                }

                // Change to an collision detect
                if (hitted == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Attack &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Prepare)
                {
                    hitted = true;
                    Player.go.audio.PlayOneShot(hitSFX);
                }

                if (hitted == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Attack &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                {
                    Enemy.go.GetComponent <EnemyScript> ().Guard();
                }

                // Change to an collision detect
                if (gotHit == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Prepare &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Attack)
                {
                    gotHit = true;
                    Enemy.go.audio.PlayOneShot(hitSFX);
                }

                if (gotHit == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Attack)
                {
                    Player.go.GetComponent <PlayerScript> ().Guard();
                }

                if (hitted == true &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                {
                    Enemy.go.GetComponent <EnemyScript> ().Die();
                    state = GameState.Victory;
                    TimeText.gameObject.SetActive(false);
                    HOTween.To(Battle, 1f, new TweenParms()
                               .Prop("position", new Vector3(Screen.width * 0.5f, -512f, 0.5f))
                               .Ease(EaseType.EaseInOutBack)
                               .OnComplete(ShowVictory)
                               );
                }

                if (gotHit == true &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                {
                    Player.go.GetComponent <PlayerScript> ().Die();
                    state = GameState.GameOver;
                    TimeText.gameObject.SetActive(false);
                    HOTween.To(Battle, 1f, new TweenParms()
                               .Prop("position", new Vector3(Screen.width * 0.5f, -512f, 0.5f))
                               .Ease(EaseType.EaseInOutBack)
                               .OnComplete(ShowGameOver)
                               );
                }
            }

            if (Input.GetButtonDown("MainMenu"))
            {
                state = GameState.MainMenu;
                TimeText.gameObject.SetActive(false);
                HideBattle();
                ShowMainMenu();
            }

            break;

        case GameState.Victory:
        case GameState.GameOver:
            TimeText.gameObject.SetActive(false);
            if (Input.GetButtonDown("Reset"))
            {
                state = GameState.GetReady;
            }
            if (Input.GetButtonDown("MainMenu"))
            {
                state = GameState.MainMenu;
                HideGameOver();
                HideVictory();
                ShowMainMenu();
            }
            break;
        }
        StartGame.position = MainMenu.position + StartGameOff;
        About.position     = MainMenu.position + AboutOff;
        Exit.position      = MainMenu.position + ExitOff;
        Back.position      = Credit.position + BackOff;
    }
Example #10
0
    protected IEnumerator StartCombineWithBombEffect(BombTile neighborBombTile)
    {
        Match3Tile nextToEffectOriginTile;

//		TileColorType movedTileColor;

        IsDestroying = true;
        neighborBombTile.IsDestroying = true;

        if (OnDirectionalBombCombine != null)
        {
            OnDirectionalBombCombine(this);
        }

        isCombineWithBombEffect = true;

        if (!TappedFirst)
        {
            // Do the combo destroy effect from the other tiles world position because that one was moved by input.
            winterchilOriginTile   = neighborBombTile;
            nextToEffectOriginTile = this;
        }
        else
        {
            nextToEffectOriginTile = neighborBombTile;
        }

        // Spawn the combined tile effect (an enlarging cross directional tile that builds up and the destroys itself)
        CrossBombCombineVisualEffect combinedTileEffect = (Instantiate(prefabBombCombinedTileEffect) as GameObject).GetComponent <CrossBombCombineVisualEffect>();

        combinedTileEffect.InitComponent();

        // Bring this giant tile in the front
        combinedTileEffect.cachedTransform.position = winterchilOriginTile.WorldPosition - Vector3.forward * 0.5f;
        // Set the delay between the horizontal and vertical direction destroy effect.
        delayBetweenCrossDirections = combinedTileEffect.horizontalAnimTime;

        HOTween.To(nextToEffectOriginTile.cachedTransform, 0.2f, new TweenParms()
                   .Prop("localPosition", winterchilOriginTile.LocalPosition)
                   .Prop("localScale", Vector3.zero));

        bombCombineEffectColumn = winterchilOriginTile.BoardPiece.BoardPosition.col;

        yield return(new WaitForSeconds(0.2f));

        neighborBombTile.gameObject.SetActive(false);

        // Disable the default visual effect for this directional tile because we're doing a special combine effect.
        useDestroyEffect = false;

        StartCoroutine(DelayedTileRelease(0.1f));

        // Destroy the cross tile effect after a delay.
        GameObject.Destroy(combinedTileEffect.gameObject, combinedTileEffect.totalAnimTime);

        SetVerticalColumnsLock(bombCombineEffectColumn, true);

        canDestroyBaseTileAfterWinterchill = false;

        direction = Direction.Horizontal;
        StartDirectionalDestroy(() =>
        {
            canDestroyBaseTileAfterWinterchill = true;
            direction = Direction.Vertical;
            StartDirectionalDestroy();

            if (neighborBombTile.BoardPiece)
            {
                neighborBombTile.BoardPiece.Tile = null;
            }

            GameObject.Destroy(neighborBombTile.gameObject, 0.2f);
        });
    }
    // Rotate the die
    public IEnumerator RotateDie(int direction, float duration)
    {
        isAnimating = true;

        //if rotate to the front
        if (direction == 1)
        {
            dieTweener = HOTween.To
                         (
                anchorPointGameObject.transform,
                duration,
                new TweenParms()
                .Prop
                (
                    "rotation",
                    new Vector3
                    (
                        90f,
                        0f,
                        0f
                    ),
                    true
                )
                .Ease(EaseType.EaseInBack)
                .Delay(0f)
                         );
        }
        else
        //if rotate to the right
        if (direction == 2)
        {
            dieTweener = HOTween.To
                         (
                anchorPointGameObject.transform,
                duration,
                new TweenParms()
                .Prop
                (
                    "rotation",
                    new Vector3
                    (
                        0f,
                        0f,
                        -90f
                    ),
                    true
                )
                .Ease(EaseType.EaseInBack)
                .Delay(0f)
                         );
        }
        else
        //if rotate to the back
        if (direction == 3)
        {
            dieTweener = HOTween.To
                         (
                anchorPointGameObject.transform,
                duration,
                new TweenParms()
                .Prop
                (
                    "rotation",
                    new Vector3
                    (
                        -90f,
                        0f,
                        0f
                    ),
                    true
                )
                .Ease(EaseType.EaseInBack)
                .Delay(0f)
                         );
        }
        else
        //if rotate to the left
        if (direction == 4)
        {
            dieTweener = HOTween.To
                         (
                anchorPointGameObject.transform,
                duration,
                new TweenParms()
                .Prop
                (
                    "rotation",
                    new Vector3
                    (
                        0f,
                        0f,
                        90f
                    ),
                    true
                )
                .Ease(EaseType.EaseInBack)
                .Delay(0f)
                         );
        }

        yield return(new WaitForSeconds(duration));
    }
Example #12
0
 public override void Open()
 {
     HOTween.To(mainButton, 0.3f, new TweenParms().Prop("localRotation", new Vector3(0, 0, 45f)));
     mainMenu.gameObject.SetActive(true);
     HOTween.To(mainMenu, 0.3f, new TweenParms().Prop("anchoredPosition", new Vector2(mainMenu.anchoredPosition.x, 100f)));
 }
Example #13
0
    // Update is called once per frame
    void Update()
    {
        // float x = 0, y = 0, z = 0;
        // #if UNITY_ANDROID
        //  get_m(ref x, ref y, ref z);
        // #endif



        // tilt = (Input.acceleration.x) * 8;

        switch (menuPosition)
        {
        case MenuState.MAIN:
            if (tilt < -2.500812f)
            {
                v3.Set(9.47f, 2.43f, 2);
                HOTween.To(cursor.transform, 0.5f, "localScale", v3);
                v3.Set(-5.305806f, 1, 4.47749f);
                HOTween.To(cursor.transform, 1f, "localPosition", v3);

                if (buttonSelected == Button.NONE)
                {
                    GameObject.Find("Audio/ButtonHover").GetComponent <AudioSource>().Play();
                    buttonSelected = Button.START;
                }
                else if (buttonSelected == Button.START)
                {
                    timeButtonSelected++;
                    if (timeButtonSelected >= timeToSelectButton)
                    {
                        GameObject.Find("Audio/ButtonPress").GetComponent <AudioSource>().Play();
                        GameObject.Find("GameEngine").GetComponent <GameEngine>().startGame();
                        timeButtonSelected = 0;
                        switchToGame();
                    }
                }
            }
            else if (tilt > 3.385096f)
            {
                v3.Set(8.5f, 2, 2);
                HOTween.To(cursor.transform, 0.5f, "localScale", v3);
                v3.Set(6.128964f, 1, 4.47749f);
                HOTween.To(cursor.transform, 1f, "localPosition", v3);

                if (buttonSelected == Button.NONE)
                {
                    GameObject.Find("Audio/ButtonHover").GetComponent <AudioSource>().Play();
                    buttonSelected = Button.EXIT;
                }
                else if (buttonSelected == Button.EXIT)
                {
                    timeButtonSelected++;
                    if (timeButtonSelected >= timeToSelectButton)
                    {
                        GameObject.Find("Audio/ButtonPress").GetComponent <AudioSource>().Play();
                        Application.Quit();
                        timeButtonSelected = 0;
                    }
                }
            }
            else
            {
                v3.Set(2, 2, 2);
                HOTween.To(cursor.transform, 0.5f, "localScale", v3);
                v3.Set(tilt, -1, 3.891185f);
                HOTween.To(cursor.transform, 1f, "localPosition", v3);
                if (buttonSelected != Button.NONE)
                {
                    buttonSelected     = Button.NONE;
                    timeButtonSelected = 0;
                }
            }
            break;

        case MenuState.GAME:
            time.GetComponent <TextMesh>().text = (Mathf.Round((Time.time - GameEngine.startTime) * 100) / 100) + "";
            break;

        case MenuState.GAMEOVER:
            lastTime.GetComponent <TextMesh>().text = (Mathf.Round((GameEngine.endTime - GameEngine.startTime) * 100) / 100) + "";
            bestTime.GetComponent <TextMesh>().text = "Best: " + PlayerPrefs.GetFloat("HighScore");

            if (tilt < -2.500812f)
            {
                v3.Set(9.47f, 2.43f, 2);
                HOTween.To(cursor.transform, 0.5f, "localScale", v3);
                v3.Set(-5.305806f, 1, 4.47749f);
                HOTween.To(cursor.transform, 1f, "localPosition", v3);

                if (buttonSelected == Button.NONE)
                {
                    GameObject.Find("Audio/ButtonHover").GetComponent <AudioSource>().Play();
                    buttonSelected = Button.RESTART;
                }
                else if (buttonSelected == Button.RESTART)
                {
                    timeButtonSelected++;
                    if (timeButtonSelected >= timeToSelectButton)
                    {
                        GameObject.Find("Audio/ButtonPress").GetComponent <AudioSource>().Play();
                        GameObject.Find("GameEngine").GetComponent <GameEngine>().startGame();
                        timeButtonSelected = 0;
                        switchToGame();
                    }
                }
            }
            else if (tilt > 3.385096f)
            {
                v3.Set(8.5f, 2, 2);
                HOTween.To(cursor.transform, 0.5f, "localScale", v3);
                v3.Set(6.128964f, 1, 4.47749f);
                HOTween.To(cursor.transform, 1f, "localPosition", v3);

                if (buttonSelected == Button.NONE)
                {
                    GameObject.Find("Audio/ButtonHover").GetComponent <AudioSource>().Play();
                    buttonSelected = Button.BACK;
                }
                else if (buttonSelected == Button.BACK)
                {
                    timeButtonSelected++;
                    if (timeButtonSelected >= timeToSelectButton)
                    {
                        GameObject.Find("Audio/ButtonPress").GetComponent <AudioSource>().Play();
                        switchToMain();
                        timeButtonSelected = 0;
                    }
                }
            }
            else
            {
                v3.Set(2, 2, 2);
                HOTween.To(cursor.transform, 0.5f, "localScale", v3);
                v3.Set(tilt, -1, 3.891185f);
                HOTween.To(cursor.transform, 1f, "localPosition", v3);
                if (buttonSelected != Button.NONE)
                {
                    buttonSelected     = Button.NONE;
                    timeButtonSelected = 0;
                }
            }
            break;
        }
    }
Example #14
0
    void Start()
    {
        HOTween.showPathGizmos = true;

        Vector3[] path = new[] {
            Vector3.zero,
            new Vector3(0, 1, 0),
            new Vector3(1, 2, 0),
            new Vector3(2, 1, 0),
            new Vector3(2, 0, 0)
        };

        Axis lockRotation = lockRotation0 | lockRotation1;

        PlugVector3Path plugPath = new PlugVector3Path(path, true).ClosePath().OrientToPath(0.1f, lockRotation).LockPosition(lockPosition);

        if (is2DPath)
        {
            plugPath.Is2D(is2DSideScroller);
        }
        HOTween.To(targets[0], 3, new TweenParms()
                   .Prop("position", plugPath)
                   .Ease(EaseType.Linear)
                   .Loops(-1)
                   ).Pause();
        plugPath = new PlugVector3Path(path).ClosePath().LookAt(targets[2]).LockPosition(lockPosition);
        if (is2DPath)
        {
            plugPath.Is2D(is2DSideScroller);
        }
        HOTween.To(targets[1], 3, new TweenParms()
                   .Prop("position", plugPath)
                   .Ease(EaseType.Linear)
                   .Loops(-1)
                   ).Pause();

        // Linear VS curved
        plugPath = new PlugVector3Path(path, true, PathType.Curved).ClosePath().LookAt(Vector3.zero).LockPosition(lockPosition);
        if (is2DPath)
        {
            plugPath.Is2D(is2DSideScroller);
        }
        HOTween.To(targets[2], 3, new TweenParms()
                   .Prop("position", plugPath)
                   .Ease(EaseType.Linear)
                   .Loops(-1)
                   ).Pause();
        plugPath = new PlugVector3Path(path, true, PathType.Linear).ClosePath().OrientToPath(0.1f, lockRotation).LockPosition(lockPosition);
        if (is2DPath)
        {
            plugPath.Is2D(is2DSideScroller);
        }
        HOTween.To(targets[3], 3, new TweenParms()
                   .Prop("position", plugPath)
                   .Ease(EaseType.Linear)
                   .Loops(-1)
                   ).Pause();

        // Linear VS curved top-down
        path = new[] {
            Vector3.zero,
            new Vector3(0, 0, 1),
            new Vector3(1, 0, 2),
            new Vector3(2, 0, 1),
            new Vector3(2, 0, 0)
        };
        plugPath = new PlugVector3Path(path, true, PathType.Curved).ClosePath().OrientToPath(0.1f, lockRotation).LockPosition(lockPosition);
        if (is2DPath)
        {
            plugPath.Is2D(is2DSideScroller);
        }
        HOTween.To(targets[4], 3, new TweenParms()
                   .Prop("position", plugPath)
                   .Ease(EaseType.Linear)
                   .Loops(-1)
                   ).Pause();
        plugPath = new PlugVector3Path(path, true, PathType.Linear).ClosePath().OrientToPath(0.1f, lockRotation).LockPosition(lockPosition);
        if (is2DPath)
        {
            plugPath.Is2D(is2DSideScroller);
        }
        HOTween.To(targets[5], 3, new TweenParms()
                   .Prop("position", plugPath)
                   .Ease(EaseType.Linear)
                   .Loops(-1)
                   ).Pause();
    }
Example #15
0
 public void Camera3dToPosition(float x, float y)
 {
     HOTween.To(camera3d.transform, 0.3f, new TweenParms().Prop("localPosition", new Vector3(x, y, camera3d.transform.localPosition.z)));
 }
Example #16
0
 // 隐藏界面
 public override void Hide()
 {
     panel.alpha = 1f;
     isShow      = true;
     HOTween.To(panel, 0.5f, new TweenParms().Prop("alpha", 0f).OnComplete(() => { isShow = false;  gameObject.SetActive(false); }));
 }
Example #17
0
    public void Show(float PosDelay, float RotationDelay, float ScaleDelay)
    {
#if USE_DOTWEEN    // use DOTween: https://www.assetstore.unity3d.com/en/#!/content/27676 Documentation: http://dotween.demigiant.com/documentation.php
#elif USE_HOTWEEN  // use HOTween: https://www.assetstore.unity3d.com/#/content/3311 Documentation:  http://hotween.demigiant.com/documentation.html
                   // tween position
        m_PosValue = 0;
        HOTween.To(this, m_PosDuration, new TweenParms()
                   .Prop("m_PosValue", 1.0f, false)
                   .Delay(PosDelay)
                   .Ease(EaseType.EaseOutElastic)
                   .OnStart(UpdateTransformPos_Start)
                   .OnUpdate(UpdateTransformPos_Transforming)
                   .OnStepComplete(UpdateTransformPos_Finished)
                   );

        // tween rotation
        m_RotationValue = 0;
        if (m_RotationType == FCProp.eRotationType.Endless)
        {
            FCGameObjectUtil pFCGameObjectUtil = m_PropGameObject.AddComponent <FCGameObjectUtil>();
            pFCGameObjectUtil.InitRotation(m_Rotation);
        }
        else if (m_RotationType == FCProp.eRotationType.LimitedRound)
        {
            HOTween.To(this, m_RotationDurationPerRound * m_MaxRotationRound, new TweenParms()
                       .Prop("m_RotationValue", (float)m_MaxRotationRound, false)
                       .Delay(RotationDelay)
                       .Ease(EaseType.EaseInOutQuad)
                       .OnStart(UpdateRotation_Start)
                       .OnUpdate(UpdateRotation_Transforming)
                       .OnStepComplete(UpdateRotation_Finished)
                       );
        }

        // tween scale
        if (m_ScaleType == eScaleType.Enable)
        {
            HOTween.To(this, m_ScaleDuration, new TweenParms()
                       .Prop("m_ScaleValue", 1.0f, false)
                       .Delay(ScaleDelay)
                       .Ease(EaseType.EaseOutElastic)
                       .OnStart(UpdateScale_Start)
                       .OnUpdate(UpdateScale_Transforming)
                       .OnStepComplete(UpdateScale_Finished)
                       );
        }
#elif USE_LEANTWEEN // use LeanTween: https://www.assetstore.unity3d.com/#/content/3595 Documentation: http://dentedpixel.com/LeanTweenDocumentation/classes/LeanTween.html
        // tween position
//UpdateTransformPos_Start();
        LeanTween.value(m_PropGameObject, UpdateTransformPos_TransformingWithValue, 0.0f, 1.0f, m_PosDuration)
        .setDelay(PosDelay)
        .setEase(LeanTweenType.easeOutElastic)
        .setOnComplete(UpdateTransformPos_Finished);

        // tween rotation
        if (m_RotationType == FCProp.eRotationType.Endless)
        {
            FCGameObjectUtil pFCGameObjectUtil = m_PropGameObject.AddComponent <FCGameObjectUtil>();
            pFCGameObjectUtil.InitRotation(m_Rotation);
        }
        else if (m_RotationType == FCProp.eRotationType.LimitedRound)
        {
            //UpdateRotation_Start();
            LeanTween.value(m_PropGameObject, UpdateRotation_TransformingWithValue, 0.0f, (float)m_MaxRotationRound, m_RotationDurationPerRound * m_MaxRotationRound)
            .setDelay(RotationDelay)
            .setEase(LeanTweenType.easeInOutQuad)
            .setOnComplete(UpdateRotation_Finished);
        }

        // tween scale
        if (m_ScaleType == eScaleType.Enable)
        {
            //UpdateScale_Start();
            LeanTween.value(m_PropGameObject, UpdateScale_TransformingWithValue, 0.0f, 1.0f, m_ScaleDuration)
            .setDelay(ScaleDelay)
            .setEase(LeanTweenType.easeOutElastic)
            .setOnComplete(UpdateScale_Finished);
        }
#else // use iTween: https://www.assetstore.unity3d.com/#/content/84 Documentation: http://itween.pixelplacement.com/documentation.php
        // tween position
        iTween.ValueTo(m_PropGameObject, iTween.Hash("from", 0, "to", 1,
                                                     "time", m_PosDuration,
                                                     "delay", PosDelay,
                                                     "easeType", FCEaseType.EaseTypeConvert(m_PosEaseType),
                                                     "onstart", "UpdateTransformPos_Start",
                                                     "onupdate", "UpdateTransformPos_TransformingWithValue",
                                                     "onupdatetarget", this.gameObject,
                                                     "oncomplete", "UpdateTransformPos_Finished"));

        // tween rotation
        if (m_RotationType == FCProp.eRotationType.Endless)
        {
            FCGameObjectUtil pFCGameObjectUtil = m_PropGameObject.AddComponent <FCGameObjectUtil>();
            pFCGameObjectUtil.InitRotation(m_Rotation);
            pFCGameObjectUtil.StartRotation();
        }
        else if (m_RotationType == FCProp.eRotationType.LimitedRound)
        {
            iTween.ValueTo(m_PropGameObject, iTween.Hash("from", 0, "to", m_MaxRotationRound,
                                                         "time", m_RotationDurationPerRound * m_MaxRotationRound,
                                                         "delay", RotationDelay,
                                                         "easeType", FCEaseType.EaseTypeConvert(m_RotationEaseType),
                                                         "onstart", "UpdateRotation_Start",
                                                         "onupdate", "UpdateRotation_TransformingWithValue",
                                                         "onupdatetarget", this.gameObject,
                                                         "oncomplete", "UpdateRotation_Finished"));
        }

        // tween scale
        if (m_ScaleType == eScaleType.Enable)
        {
            iTween.ValueTo(m_PropGameObject, iTween.Hash("from", 0, "to", 1,
                                                         "time", m_ScaleDuration,
                                                         "delay", ScaleDelay,
                                                         "easeType", FCEaseType.EaseTypeConvert(m_ScaleEaseType),
                                                         "onstart", "UpdateScale_Start",
                                                         "onupdate", "UpdateScale_TransformingWithValue",
                                                         "onupdatetarget", this.gameObject,
                                                         "oncomplete", "UpdateScale_Finished"));
        }
#endif
    }
Example #18
0
    // show turn bumper animation. 1 is player, 2 is enemy
    public IEnumerator ShowTurnBumperAnimation(int turnTargetID)
    {
        GameObject bumperUI   = uiCanvas.transform.GetChild(3).gameObject.transform.GetChild(0).gameObject;
        Text       bumperText = bumperUI.transform.GetChild(0).gameObject.GetComponent <Text>();

        bumperUI.SetActive(true);

        //if going to player's turn
        if (turnTargetID == 1)
        {
            bumperUI.GetComponent <Image>().color = Color.blue;
            bumperText.text = "PLAYER'S TURN";
        }
        else
        //if going to enemy's turn
        if (turnTargetID == 2)
        {
            bumperUI.GetComponent <Image>().color = Color.red;
            bumperText.text = "ENEMY'S TURN";
        }

        HOTween.To
        (
            bumperUI.GetComponent <RectTransform>(),
            0.5f,
            new TweenParms()
            .Prop
            (
                "anchoredPosition",
                new Vector2
                (
                    0f,
                    0f
                ),
                false
            )
            .Ease(EaseType.EaseOutBack)
            .Delay(0f)
        );

        //yield return new WaitForSeconds(1f);

        HOTween.To
        (
            bumperUI.GetComponent <RectTransform>(),
            0.5f,
            new TweenParms()
            .Prop
            (
                "anchoredPosition",
                new Vector2
                (
                    2000f,
                    0f
                ),
                false
            )
            .Ease(EaseType.EaseInBack)
            .Delay(1f)
        );

        yield return(new WaitForSeconds(1.5f));

        bumperUI.SetActive(false);
        bumperUI.GetComponent <RectTransform>().anchoredPosition = new Vector2(-2000f, 0f);
    }
    /// <summary>
    /// Creates a tween based on the given tweenData and returns it,
    /// or returns <code>null</code> if the tween was empty.
    /// </summary>
    /// <param name="p_twData">
    /// A <see cref="HOTweenData"/>
    /// </param>
    public static Holoville.HOTween.Tweener CreateTween(HOTweenData p_twData, float p_globalDelay, float p_globalTimeScale)
    {
        if (p_twData.propDatas.Count == 0 || !p_twData.isActive)
        {
            return(null);
        }

        TweenParms parms = new TweenParms()
                           .Delay(p_twData.delay + p_globalDelay)
                           .Id(p_twData.id)
                           .Loops(p_twData.loops, p_twData.loopType)
                           .UpdateType(p_twData.updateType)
                           .Ease(p_twData.easeType)
                           .TimeScale(p_twData.timeScale * p_globalTimeScale)
                           .AutoKill(p_twData.autoKill)
                           .Pause(p_twData.paused);

        // Eventual onComplete
        if (p_twData.onCompleteActionType != HOTweenData.OnCompleteActionType.None)
        {
            switch (p_twData.onCompleteActionType)
            {
            case HOTweenData.OnCompleteActionType.PlayAll:
                parms.OnComplete(() => HOTween.Play());
                break;

            case HOTweenData.OnCompleteActionType.PlayTweensById:
                parms.OnComplete(() => HOTween.Play(p_twData.onCompletePlayId));
                break;

            case HOTweenData.OnCompleteActionType.SendMessage:
                if (p_twData.onCompleteTarget == null || p_twData.onCompleteMethodName == "")
                {
                    break;
                }
                object onCompleteParm = null;
                switch (p_twData.onCompleteParmType)
                {
                case HOTweenData.ParameterType.Color:
                    onCompleteParm = p_twData.onCompleteParmColor;
                    break;

                case HOTweenData.ParameterType.Number:
                    onCompleteParm = p_twData.onCompleteParmNumber;
                    break;

                case HOTweenData.ParameterType.Object:
                    onCompleteParm = p_twData.onCompleteParmObject;
                    break;

                case HOTweenData.ParameterType.Quaternion:
                    onCompleteParm = p_twData.onCompleteParmQuaternion;
                    break;

                case HOTweenData.ParameterType.Rect:
                    onCompleteParm = p_twData.onCompleteParmRect;
                    break;

                case HOTweenData.ParameterType.String:
                    onCompleteParm = p_twData.onCompleteParmString;
                    break;

                case HOTweenData.ParameterType.Vector2:
                    onCompleteParm = p_twData.onCompleteParmVector2;
                    break;

                case HOTweenData.ParameterType.Vector3:
                    onCompleteParm = p_twData.onCompleteParmVector3;
                    break;

                case HOTweenData.ParameterType.Vector4:
                    onCompleteParm = p_twData.onCompleteParmVector4;
                    break;
                }
                parms.OnComplete(p_twData.onCompleteTarget, p_twData.onCompleteMethodName, onCompleteParm);
                break;
            }
        }

        foreach (HOPropData propData in p_twData.propDatas)
        {
            if (propData.isActive)
            {
                parms.Prop(propData.propName, Activator.CreateInstance(propData.pluginType, propData.endVal, propData.isRelative));
            }
        }
        if (!parms.hasProps)
        {
            return(null);
        }

        if (p_twData.tweenFrom)
        {
            return(HOTween.From(p_twData.target, p_twData.duration, parms));
        }
        return(HOTween.To(p_twData.target, p_twData.duration, parms));
    }
Example #20
0
 public void FinishLevel()
 {
     HOTween.To(Camera.main.GetComponent <tk2dCamera> ().camera, 8.0f, new TweenParms().Prop("backgroundColor", (Color) new Color32(129, 184, 209, 255)).OnComplete(this.TransitionLevel));
 }
Example #21
0
    void TweenMoney(int val, EaseType easeType)
    {
        TweenParms parms = new TweenParms().Prop("tweenMoney", val).Ease(easeType).OnUpdate(TweenMoneyUpdate);

        HOTween.To(this, 0.5f, parms);
    }
Example #22
0
 public void TransitionLevel()
 {
     HOTween.To(GameObject.Find("Fade").GetComponent <SpriteRenderer> (), 4f, new TweenParms().Prop("color", Color.black).OnComplete(this.LoadLevel));
 }
Example #23
0
    //creates a new HOTween tween which moves us to the next waypoint
    //(defined by passed arguments)
    internal void CreateTween()
    {
        //play walk animation if set
        PlayWalk();

        //prepare HOTween's parameters, you can look them up here
        //http://www.holoville.com/hotween/documentation.html
        ////////////////////////////////////////////////////////////

        //create new HOTween plugin for curved paths
        //pass in array of Vector3 waypoint positions, relative = true
        plugPath = new PlugVector3Path(wpPos, true, pathtype);

        //orients the tween target along the path
        //constrains this game object on one axis
        if (orientToPath || lockAxis != Axis.None)
        {
            plugPath.OrientToPath(lookAhead, lockAxis);
        }

        //lock position axis
        if (lockPosition != Axis.None)
        {
            plugPath.LockPosition(lockPosition);
        }

        //create a smooth path if closePath was true
        if (closePath)
        {
            plugPath.ClosePath(true);
        }

        //create TweenParms for storing HOTween's parameters
        tParms = new TweenParms();
        //sets the path plugin as tween position property
        if (local)
        {
            tParms.Prop("localPosition", plugPath);
        }
        else
        {
            tParms.Prop("position", plugPath);
        }
        //additional tween parameters for partial tweens
        tParms.AutoKill(false);
        tParms.Pause(true);
        tParms.Loops(1);

        //differ between TimeValue like mentioned above at enum TimeValue
        //use speed with linear easing
        if (timeValue == TimeValue.speed)
        {
            tParms.SpeedBased();
            tParms.Ease(EaseType.Linear);
        }
        else
        {
            //use time in seconds and the chosen easetype
            tParms.Ease(easetype);
        }

        //create a new tween, move this gameobject with given arguments
        tween = HOTween.To(transform, originSpeed, tParms);

        //continue new tween with adjusted speed if it was changed before
        if (originSpeed != speed)
        {
            ChangeSpeed(speed);
        }
    }
Example #24
0
    protected void StartReshuffleTilesAnim()
    {
        // Start their re-shuffle tween animation.
        Match3Tile tile;

        // Spawn a reshuffle effect that will get auto-destroyed.
        effectReshuffle        = (GameObject.Instantiate(prefabEffectReshuffle) as GameObject).transform;
        effectReshuffle.parent = Match3BoardGameLogic.Instance.boardVisualContainer;
        cachedParticleSystem   = effectReshuffle.particleSystem;

        // Auto destroy the effect.
        GameObject.Destroy(effectReshuffle.gameObject, 4.0f);

        Tweener lastTween = null;

//		if(piecesToReshuffle.Count == 0) {
//			Debug.LogWarning("[piecesToReshuffle.Count] " + piecesToReshuffle.Count);
//		}

        for (int i = 0; i < piecesToReshuffle.Count; i++)
        {
            tile = piecesToReshuffle[i].Tile as Match3Tile;
            if (tile != null)
            {
                // Stored the tile position in a separate vector because so the below lambda method will receive a copy of this value to execute correctly.
                Vector3 tilePos = tile.cachedTransform.position;
                // Offset effect to bring it in front of the tiles.
                tilePos.z -= 1f;

                lastTween = HOTween.To(tile.tileModelTransform, 0.5f, new TweenParms()
                                       .Prop("localScale", Vector3.zero)
                                       .Ease(EaseType.EaseOutQuad)
                                       .Delay(0.9f)
                                       .OnStart(() => {
                    if (effectReshuffle != null)
                    {
                        // Position the effect
                        effectReshuffle.position = tilePos;
                        cachedParticleSystem.Emit(Random.Range(minNumParticles, maxNumParticles));
                    }
                }));

//				if (lastTween == null) {
//					Debug.LogWarning("Last tween is NULL!!!");
//				}
            }
//			else {
//				Debug.LogWarning("[StartReshuffleTilesAnim] Boardpiece has NULL tile = " + piecesToReshuffle[i]);
//			}
        }

        if (lastTween != null)
        {
            lastTween.ApplyCallback(CallbackType.OnComplete, () =>
            {
                ReshuffleTiles();
            });
        }
//		else {
//			Debug.LogWarning("[StartReshuffleTilesAnim] Error lastTween is NULL");
//		}
    }
    // ===================================================================================
    // UNITY METHODS ---------------------------------------------------------------------

    void Start()
    {
        // HOTWEEN INITIALIZATION
        // Must be done only once, before the creation of your first tween
        // (you can skip this if you want, and HOTween will be initialized automatically
        // when you create your first tween - using default values)
        HOTween.Init(true, true, true);

        // TWEEN CREATION
        // With each one is shown a different way you can create a tween,
        // so that in the end you can choose what you prefer

        // Tween the first transform using fast writing mode,
        // and applying an animation that will last 4 seconds
        HOTween.To(CubeTrans1, 4, "position", new Vector3(-3, 6, 0));

        // Tween the second transform using full mode with parameters and linebreaks,
        // applying a yoyo loop with custom ease,
        // and assigning an onStepComplete callback
        // which will be fired each time a loop iteration is complete.
        // Also note that we are tweening 2 proporties of the same target
        // (a transform, in this case)
        HOTween.To(CubeTrans2, 3, new TweenParms()
                   .Prop("position", new Vector3(0, 6, 0), true)    // Position tween (set as relative)
                   .Prop("rotation", new Vector3(0, 1024, 0), true) // Relative rotation tween (this way rotations higher than 360 can be applied)
                   .Loops(-1, LoopType.Yoyo)                        // Infinite yoyo loops
                   .Ease(EaseType.EaseInOutQuad)                    // Ease
                   .OnStepComplete(Cube2StepComplete)               // OnComplete callback
                   );

        // Tween the sample string using full mode with parameters and without linebreaks.
        // The result will be shown using OnGUI
        HOTween.To(this, 3, new TweenParms().Prop("SampleString", "Hello I'm a sample tweened string").Ease(EaseType.Linear).Loops(-1, LoopType.Yoyo));

        // Tween the sample floating point number while creating TweenParms first,
        // and then assigning it to HOTween.
        TweenParms tweenParms = new TweenParms().Prop("SampleFloat", 27.5f).Ease(EaseType.Linear).Loops(-1, LoopType.Yoyo);

        HOTween.To(this, 3, tweenParms);

        // SEQUENCE CREATION
        // Here you'll see how to create a Sequence,
        // which stores your tweens in a timeline-like way

        // Create a Sequence with cube3, which will rotate it,
        // then move it upwards, the rotate it again,
        // all the while changing the alpha of its material's color
        // (which can be done since the cube uses a transparent material).
        // The Sequence will also be set to loop.
        // Note that Sequences don't start automatically, so you'll have to call Play().
        Color colorTo = CubeTrans3.renderer.material.color;

        colorTo.a = 0;
        Sequence sequence = new Sequence(new SequenceParms().Loops(-1, LoopType.Yoyo));

        // "Append" will add a tween after the previous one/s have completed
        sequence.Append(HOTween.To(CubeTrans3, 1, new TweenParms().Prop("rotation", new Vector3(360, 0, 0))));
        sequence.Append(HOTween.To(CubeTrans3, 1, new TweenParms().Prop("position", new Vector3(0, 6, 0), true)));
        sequence.Append(HOTween.To(CubeTrans3, 1, new TweenParms().Prop("rotation", new Vector3(0, 360, 0))));
        // "Insert" lets you insert a tween where you want
        // (in this case we're having it start at half the sequence and last until the end)
        sequence.Insert(sequence.duration * 0.5f, HOTween.To(CubeTrans3.renderer.material, sequence.duration * 0.5f, new TweenParms().Prop("color", colorTo)));
        // Start the sequence animation
        sequence.Play();
        sequence.Rewind();
    }
Example #26
0
    protected void ReshuffleTiles()
    {
        // Re-shuffle tiles
        for (int i = 0; i < piecesToReshuffle.Count; i++)
        {
            int randomIdx = Random.Range(0, piecesToReshuffle.Count);

            if (randomIdx != i)
            {
                // Switch tiles
                Match3Tile tempTile = piecesToReshuffle[i].Tile as Match3Tile;
                piecesToReshuffle[i].Tile         = piecesToReshuffle[randomIdx].Tile;
                piecesToReshuffle[randomIdx].Tile = tempTile;
            }
        }

        int numTries = 0;

        matchesUndoer.OnNewTileSpawned = (newTile) =>
        {
            newTile.tileModelTransform.localScale = Vector3.zero;
            newTile.enabled = false;
        };

        possibleMatchGenerator.OnNewTileSpawned = (newTile) =>
        {
            newTile.tileModelTransform.localScale = Vector3.zero;
            newTile.enabled = false;
        };

        matchFailed = true;
        while ((numTries++) < 10 && (matchesUndoer.FindMatchesAndUndo(false) || numTries == 1))
        {
//			Debug.Log("Board shuffle re-tries: " + numTries);

            matchFailed = !possibleMatchesFinder.FindFirstPossibleMatch();
            if (matchFailed)
            {
//				Debug.LogWarning("Forcing a rematch because re-shuffle failed.");
                matchFailed = !possibleMatchGenerator.GenerateMatch(false);
            }
        }

        matchesUndoer.OnNewTileSpawned          = null;
        possibleMatchGenerator.OnNewTileSpawned = null;

        // Show hidden tiles.
        Match3Tile tile      = null;
        Tweener    lastTween = null;

//		if(piecesToReshuffle.Count == 0) {
//			Debug.LogWarning("[piecesToReshuffle.Count] " + piecesToReshuffle.Count);
//		}

        for (int i = 0; i < piecesToReshuffle.Count; i++)
        {
            tile = piecesToReshuffle[i].Tile as Match3Tile;
            piecesToReshuffle[i].ResetTilePosition();

            if (tile != null)
            {
                // Position the effect
//				effectReshuffle.position = tile.cachedTransform.position;
                //cachedParticleSystem.Emit(Random.Range(minNumParticles, maxNumParticles));

                lastTween = HOTween.To(tile.tileModelTransform, 0.5f, new TweenParms()
                                       .Prop("localScale", Vector3.one)
                                       .Ease(EaseType.EaseOutQuad));
//				if (lastTween == null) {
//					Debug.LogWarning("Last tween is NULL!!!");
//				}
            }
//			else {
//				Debug.LogWarning("[ReshuffleTiles] In show tiles anim Boardpiece has NULL tile = " + piecesToReshuffle[i]);
//			}
        }

        if (lastTween != null)
        {
            lastTween.ApplyCallback(CallbackType.OnComplete, () =>
            {
                RaiseBoardShuffleFinishedEvent();
                OnReshuffleFinished.RaiseEvent();
            });
        }
        else
        {
            RaiseBoardShuffleFinishedEvent();
            OnReshuffleFinished.RaiseEvent();
//			Debug.LogWarning("[StartReshuffleTilesAnim] Error lastTween is NULL");
        }
    }
Example #27
0
        void Start()
        {
            HOTween.Init(true, true, true);

            //----------------------------------------------------
            HOTween.To(tnCube1, 4, "position", tnCube1.position + Vector3.up * 5);
            //HOTween.To(tnCube1, 4, "rotation", tnCube1.rotation * Quaternion.Euler(0, 360+1, 0));
            HOTween.To(tnCube1, 4, "eulerAngles", new Vector3(0, 360 * 4, 0));
            HOTween.To(tnCube1.GetComponent <MeshRenderer>().material, 4, "color", new Color(1f, 0, 0));

            //--------------------------------------------------------
            //HOTween.To(tnCube2, 4, new TweenParms()
            //	.Prop("position", tnCube2.position + Vector3.up * 5, false)
            //	.Prop("eulerAngles", new Vector3(0, 360 * 4, 0), false)
            //	.Loops(-1, LoopType.Yoyo)
            //	.Ease(EaseType.EaseInOutQuad)
            //	.OnStepComplete(OnStepComplete)
            //	.OnComplete(OnComplete)
            //	.OnUpdate(OnUpdate)
            //	);

            //HOTween.To(tnCube2, 4, new TweenParms()
            //	.Prop("position", deltaPos2, true)
            //	.Prop("eulerAngles", deltaAngle2, true)
            //	.Loops(-1, loopType2)
            //	.Ease(easeType2)
            //	.OnStepComplete(OnStepComplete)
            //	.OnComplete(OnComplete)
            //	.OnUpdate(OnUpdate)
            //	);
            HOTween.To(tnCube2, 4, new TweenParms()
                       .Prop("localPosition", deltaPos2, true)
                       .Prop("localEulerAngles", deltaAngle2, true)
                       .Loops(-1, loopType2)
                       .Ease(easeType2)
                       .OnStepComplete(OnStepComplete)
                       .OnComplete(OnComplete)
                       .OnUpdate(OnUpdate)
                       );

            //--------------------------------------------------------
            //Material _mat3 = tnCube3.GetComponent<Renderer>().material;
            //Sequence _sequence = new Sequence(new SequenceParms().Loops(-1, LoopType.Yoyo));
            ////_sequence.AppendInterval(.1f);
            //_sequence.Append(HOTween.To(tnCube3, 1, new TweenParms().Prop("localEulerAngles", new Vector3(0, 360, 0), true)));
            //_sequence.Append(HOTween.To(tnCube3, 1, new TweenParms().Prop("localPosition", new Vector3(0, 5, 0), true)));
            //_sequence.Append(HOTween.To(tnCube3, 1, new TweenParms().Prop("localEulerAngles", new Vector3(0, 360, 0), true)));
            //Debug.Log(_sequence.duration);
            //float _time = _sequence.duration * 0.5f;
            //_sequence.Insert(_time, HOTween.To(_mat3, _time, new TweenParms().Prop("color", color3)));
            //_sequence.Play();

            //Material _mat3 = tnCube3.GetComponent<Renderer>().material;
            //Sequence _seq = new Sequence(new SequenceParms().Loops(-1, loopType3));
            //_seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localEulerAngles", deltaAngle3, true)));
            //_seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localPosition", deltaPos3, true)));
            //_seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localEulerAngles", deltaAngle3, true)));
            //float _duration = _seq.duration * 0.3f;
            //_seq.Insert(_duration, HOTween.To(_mat3, _duration, new TweenParms().Prop("color", color3)));
            //_seq.Play();

            //Material _mat3 = tnCube3.GetComponent<Renderer>().material;
            //Sequence _seq = new Sequence(new SequenceParms().Loops(-1, loopType3));
            //_seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localEulerAngles", deltaAngle3, true)));
            //_seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localPosition", deltaPos3, true)));
            //_seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localEulerAngles", deltaAngle3, true)));
            //float _duration = _seq.duration * 0.3f;
            //_seq.Insert(_duration, HOTween.To(_mat3, _duration, new TweenParms().Prop("color", color3)));
            //_seq.Play();

            Material _mat3 = tnCube3.GetComponent <Renderer>().material;
            Sequence _seq  = new Sequence(new SequenceParms().Loops(-1, loopType3));

            _seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localEulerAngles", deltaAngle3, true)));
            _seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localPosition", deltaPos3, true)));
            _seq.Append(HOTween.To(tnCube3, 1f, new TweenParms().Prop("localEulerAngles", deltaAngle3, true)));
            _seq.Insert(1f, HOTween.To(_mat3, 1f, new TweenParms().Prop("color", color3)));
            _seq.Play();
        }
Example #28
0
 void movePlayer()
 {
     HOTween.To(this.gameObject.transform, moveSpeed, new TweenParms().Prop("position", leftDistance, true).Ease(EaseType.Linear).OnComplete(changeMovingState));
 }
Example #29
0
 public void Hide()
 {
     StopAnimations();
     HOTween.To(canvasGroup, animDuration / 2.0f, "alpha", 0f, false, EaseType.EaseInOutExpo, animDuration - 0.1f).Play();
     HOTween.To(canvasGroup.transform, animDuration, "localScale", new Vector3(), false, EaseType.EaseInBack, 0).Play();
 }
Example #30
0
 public void StartDestroy()
 {
     destroying = true;
     Messenger.Broadcast(destroyEvent);
     HOTween.To(this, 2, new TweenParms().Prop("kill", 1));
 }