public void MoveAlong(List <Hex> path, int maxSteps = int.MaxValue, Action callback = null, string stepSound = "MechStep") { int step = 0; maxSteps = Math.Min(maxSteps, path.Count); LTSeq stepSequence = LeanTween.sequence(); Hex pos = Position; while (step < maxSteps) { pos = path[step]; if (stepSound != "") { stepSequence.append(() => { FXHelper.PlaySound(stepSound); }); } stepSequence.append(LeanTween.moveLocal(gameObject, Grid.GetWorldPosition(pos), 0.25f).setEaseInOutQuart()); step++; } Position = pos; if (callback != null) { stepSequence.append(callback); } }
public void OnNextPage() { ++_pageIndex; if (_pageIndex >= _pages.Length) { StateManager.instance.OpenState(GameConstants.STATENAME_LOBBY); return; } LTSeq sequence = LeanTween.sequence(); CanvasGroup prevPage = _page; if (prevPage != null) { prevPage.LeanCancel(); sequence.append(prevPage.LeanAlpha(0.0f, _pageOpenTime * 0.5f)); sequence.append(() => _page.gameObject.SetActive(false)); } _page = _pages[_pageIndex]; _page.alpha = 0.0f; sequence.append(() => _page.gameObject.SetActive(true)); sequence.append(_page.LeanAlpha(1.0f, _pageOpenTime * 0.5f)); sequence.append(() => { Animator animator = _page.GetComponent <Animator>(); if (animator != null) { animator.SetTrigger("Play"); } }); }
public void Emphasize() { float halfTime = _missionTextScalingTime * 0.5f; _missionText.LeanCancel(); LTSeq sequence = LeanTween.sequence(); sequence.append(_missionText.LeanScale(_missionTextScale, halfTime).setEaseOutBack()); sequence.append(_missionText.LeanScale(Vector3.one, halfTime).setEaseInBack()); }
private void Shake(UnityAction callBack = null) { Vector3 pos = _myTF.position; Vector3 shakePos = new Vector3(0.1f, 0, 0); LTSeq tweenSeq = LeanTween.sequence(); tweenSeq.append(LeanTween.move(myGO, pos + shakePos, 0.1f).setEase(LeanTweenType.easeShake)); tweenSeq.append(LeanTween.move(myGO, pos, 0.1f).setEase(LeanTweenType.easeShake)); tweenSeq.append(() => { callBack?.Invoke(); }); }
public LTDescr LoadScene(string sceneName) { LTSeq seq = LeanTween.sequence(); if (string.IsNullOrEmpty(loadedScene) == false && loadedScene != "App") { seq.append(canvasFader.FadeIn()); seq.append(() => StartCoroutine(UnloadAsync())); } seq.append(() => StartCoroutine(LoadAsync(sceneName))); seq.append(canvasFader.FadeOut()); return(seq.tween); }
private void SpawnSequence(Vector3 spawnPosition) { LTSeq alphaSeq = LeanTween.sequence(); alphaSeq.append(LeanTween.alpha(myGO, 0, 0)); alphaSeq.append(() => { _myTF.position = spawnPosition; }); alphaSeq.append(LeanTween.alpha(myGO, 1, 0.4f)); alphaSeq.append(() => { ToggleCollider(true); Online(false); }); }
public void Show() { LeanTween.alphaCanvas(canvasGroup, 0, 0); LeanTween.size(rt, startSize, 0); LeanTween.scale(rt, startScale, 0); LeanTween.alphaCanvas(placeholder, 0, 0); LeanTween.alphaCanvas(info, 0, 0); LTSeq sequence = LeanTween.sequence(); sequence .append(() => { LeanTween.scale(rt, Vector3.one, duration).setEase(easeIn); LeanTween.alphaCanvas(canvasGroup, 1, duration).setEase(easeIn); }) .append(1f) .append(() => LeanTween.size(rt, targetSize, duration).setEase(easeIn)) .append(duration / 2) .append(() => LeanTween.alphaCanvas(placeholder, 1, duration).setEase(easeIn)) .append(1f) .append(() => LeanTween.alphaCanvas(placeholder, 0, duration).setEase(easeIn)) .append(duration) .append(() => LeanTween.alphaCanvas(info, 1, duration).setEase(easeIn)); }
private void DeathSequence() { float scaleTime = 0.1f; LeanTween.alpha(myGO, 0, 0.4f); LTSeq tweenSeq = LeanTween.sequence(); tweenSeq.append(LeanTween.scale(myGO, Vector3.one, scaleTime)); tweenSeq.append(LeanTween.scale(myGO, Vector3.one * 0.8f, scaleTime)); tweenSeq.append(LeanTween.scale(myGO, Vector3.one, scaleTime)); tweenSeq.append(LeanTween.scale(myGO, Vector3.one * 0.8f, scaleTime)); tweenSeq.append(() => { Destroy(myGO); }); }
private void OnPressed(int index, Content content) { for (int i = 0; i < m_Pairs.Count; i++) { Content value = m_Pairs [i]; LTSeq seq = LeanTween.sequence(); seq.append(value.transform.LeanMove(value.defaultPosition, m_Duration)); if (i <= index) { seq.append(value.transform.LeanMove(value.defaultPosition + new Vector3(-m_ShiftInPixel, 0.0f, 0.0f), m_Duration)); } } m_SelectedIndex = index; //int direction = 0; //int newSelectedIndex = 0; //for ( int i = 0; i < m_RectTransforms.Length; i++ ) //{ // RectTransform rect = m_RectTransforms [ i ]; // if ( rect == selectedRect ) // { // direction = ( int ) Mathf.Sign( m_SelectedIndex - i ); // newSelectedIndex = i; // break; // } //} //if ( direction == 0 ) //{ // Debug.Log( "We cant choose a color twice!" ); // return; //} //for ( int i = m_SelectedIndex; i != newSelectedIndex; i++ ) //{ // if ( i == 0 || i == m_RectTransforms.Length - 1 ) // continue; // RectTransform rect = m_RectTransforms [ i ]; // LeanTween.moveX( rect.gameObject , rect.transform.position.x + m_ShiftInPixel * direction , m_Duration ); //} }
public void ShowAndHide(Action callback = null) { LTSeq sequence = LeanTween.sequence(); sequence .append(() => Show()) .append(delayBeforeHide) .append(() => Hide(callback)); }
public virtual void DoDamage(LTSeq seq, Vector2 targetPos, UnitScript currentTarget, bool retaliate = false) { float targetXOffset = currentTarget.Sprite.bounds.extents.x * (!_playerScript.IsMe ? 1 : -1); if (retaliate) { targetXOffset = (currentTarget.Sprite.bounds.extents.x / 4) * (!_playerScript.IsMe ? -1 : 1); } seq.append(LeanTween.moveX(gameObject, targetPos.x - targetXOffset, 0.15f) .setLoopPingPong(1) .setEaseInQuint()); seq.append(() => Instantiate(_impactEffectPrefab, currentTarget.Sprite.transform)); seq.append(() => { _unit.Attack(currentTarget.Unit, retaliate); }); seq.append(0.5f); }
public virtual void Show(params object[] args) { gameObject.SetActive(true); transform.localScale = BEGIN_SCALE; SoundManager.Instance.PlayUISoundInstance(_soundKey); gameObject.LeanCancel(); float scaleTime = _time * 0.3f; LTSeq sequence = LeanTween.sequence(); sequence.append(gameObject.LeanScale(Vector3.one, scaleTime).setEaseOutBack()); sequence.append(_time * 0.1f); sequence.append(gameObject.LeanScale(BEGIN_SCALE, scaleTime).setEaseInOutBack()); sequence.append(() => gameObject.SetActive(false)); }
public CommandLeanTween(LTDescr leanTween) { m_LeanTween = leanTween; m_LeanTween.pause(); m_Seq = LeanTween.sequence(); m_Seq .append(m_LeanTween) .append(() => m_CommandValidator.iSucceeded(this)); }
private void AnimateAndUseCard(Card card) { GameObject toRemove = null; foreach (GameObject cardObject in _cardsOnHand) { CardScript cardScript = cardObject.GetComponent <CardScript>(); if (cardScript.Card == card) { toRemove = cardObject; LeanTween.cancel(cardObject); cardScript.SetFaceForward(); cardScript.UndoDissolve(); cardObject.transform.position = new Vector2(Screen.width / 2, Screen.height / 2); cardObject.transform.eulerAngles = Vector3.zero; cardObject.transform.localScale = new Vector3(0.95f, 0.95f, 0.95f); GameScript.AnimationState = GameScript.GameAnimationState.Animating; LTSeq seq = LeanTween.sequence(); seq.append(LeanTween .scale(cardObject, new Vector3(0.55f, 0.55f, 0.55f), 0.3f) .setEaseInCirc()); seq.append(0.8f); seq.append(() => cardScript.Dissolve(() => { _player.UseCard(card); GameScript.AnimationState = GameScript.GameAnimationState.Idle; Destroy(cardObject); }, 0.3f)); break; } } if (toRemove != null) { _cardsOnHand.Remove(toRemove); } ReArrangeCardsOnHand(0.5f); }
void ShowHUD(Vector3 position, string message, Action onComplete = null) { position = _cachedMainCamera.WorldToScreenPoint(position); Vector3 begin = position + _addedScoreBeginOffset; Vector3 end = position + _addedScoreEndOffset; _addedScoreText.text = message; float appearTime = _addedScoreAppearTime * HUD_APPEAR_RATIO; float disappearTime = _addedScoreAppearTime * (1.0f - HUD_APPEAR_RATIO); _addedScoreText.LeanCancel(); LTSeq sequence = LeanTween.sequence(); sequence.append(() => _addedScoreText.LeanAlpha(0.0f, 1.0f, appearTime)); sequence.append(_addedScoreText.LeanScale(Vector3.zero, Vector3.one, appearTime).setEaseOutBack()); sequence.append(HUD_DISAPPEAR_DELAY); sequence.append(() => _addedScoreText.LeanAlpha(0.0f, disappearTime)); sequence.append(_addedScoreText.LeanMove(begin, end, disappearTime)); sequence.append(() => { if (onComplete != null) { onComplete(); } }); }
void Start() { RectTransform albumTransform = albumIcon.GetComponent <RectTransform>(); Vector2 startSize = albumTransform.sizeDelta; Vector2 targetSize = startSize + new Vector2(5, 5); LTSeq seq = LeanTween.sequence(); seq .append(LeanTween.size(albumTransform, targetSize, 2)) .append(LeanTween.size(albumTransform, startSize, 2)) .append(LeanTween.size(albumTransform, targetSize, 2)) .append(LeanTween.size(albumTransform, startSize, 2)); }
private void animateButton(float duration) { float shortTween = TweenDuration * .5f; float longTween = TweenDuration * 2f; float delay = screenIndex == 1 ? Mathf.Max(duration - longTween, 0) : 0; if (screenIndex > 1) { RectTransform oldBtnRect = MenuButtons[screenIndex - 2].GetComponent <RectTransform>(); LeanTween.scale(oldBtnRect, new Vector3(1f, 1f, 1f), longTween) .setEaseInOutQuad(); } ; RectTransform newBtnRect = MenuButtons[screenIndex - 1].GetComponent <RectTransform>(); LTSeq seq = LeanTween.sequence(); seq.append(delay); seq.append( LeanTween.scale(newBtnRect, new Vector3(1.4f, 1.4f, 1f), longTween) .setEaseInOutQuad() .setDelay(delay) ); seq.append(0.75f); seq.append( LeanTween.scale(newBtnRect, new Vector3(1.3f, 1.3f, 1f), shortTween) .setEaseInOutQuad() .setLoopPingPong(1) .setOnComplete(() => { //Invoke("playVideo",0.25f); //coroutine = StartCoroutine(initVideo()); Invoke("screenOpen", 0.5f); }) ); }
void CheckBoard() { if (_hoveredTiles.Count == _cells.Count) { if (onPlaced != null) { onPlaced(); } for (int i = 0, max = _hoveredTiles.Count; i < max; ++i) { NumberedHexaCell cell = _cells[i]; _hoveredTiles[i].SetCell(cell); LTSeq sequence = LeanTween.sequence(); sequence.append(cell.LeanScale(CELL_PLACED_SCALE, CELL_PLACED_TIME)); sequence.append(CELL_PLACED_DELAY); sequence.append(cell.LeanScale(Vector3.one, CELL_PLACED_TIME)); } _cells.Clear(); SoundManager.Instance.PlayUISoundInstance(GameConstants.FX_BLOCK_DROP); _cellRoot.position = _originPosition; GameManager.instance.CombineCells(_hoveredTiles.ToArray(), 0.25f); ResetHoveredTiles(); } else { ReplaceToPlace(); } }
IEnumerator PlayCutscene() { //Entry sequence shakeEffect = true; entryPS.Play(); mainSrc.PlayOneShot(wooshingWindSound); ambientSrc.Play(); cameraManager.Set(entryCam); yield return(new WaitForSeconds(entrySequenceTime)); mainSrc.Stop(); mainSrc.PlayOneShot(godSound); cameraManager.Set(godCam); shakeEffect = false; entryPS.Stop(); //God sequence fakePlayer.transform.position = godStartingPos.position; LeanTween.moveLocalZ(cloudParent.gameObject, 223f, 3f); LTSeq sequence = LeanTween.sequence(); sequence.append(LeanTween.move(fakePlayer, godFinalPos, 1.5f).setEase(LeanTweenType.easeOutCirc)); sequence.append(LeanTween.move(fakePlayer, godStartingPos, 1.5f).setEase(LeanTweenType.easeInCirc).setOnComplete(EndSequence)); }
public void Launch() { if (sequence != null) { return; } sequence = LeanTween.sequence(); sequence .append(() => audioSource.Play()) .append(FadeOut(0f)) .append(FadeIn(3f)) .append(() => background.enabled = false) .append(LeanTween.size(logo, new Vector2(270, 270), 5f)) .append(FadeOut(0.5f)) .append(() => LeanTween.dispatchEvent((int)FulementVidEventType.onFinish)) .append(() => sequence = null); }
public void Hide(Action callback = null) { LTSeq sequence = LeanTween.sequence(); sequence .append(() => LeanTween.alphaCanvas(info, 0, duration).setEase(easeIn)) .append(1f) .append(() => LeanTween.size(rt, startSize, duration).setEase(easeIn)) .append(1f) .append(() => { LeanTween.scale(rt, startScale, duration).setEase(easeIn); LTDescr descr = LeanTween.alphaCanvas(canvasGroup, 0, duration).setEase(easeIn); if (callback != null) { descr.setOnComplete(callback); } }); }
public virtual void AnimateAttack() { Vector3 targetPos = _currentTarget.transform.position; targetPos.x += (_currentTarget.Sprite.bounds.size.x) * (!_playerScript.IsMe ? 1 : -1); LTSeq seq = LeanTween.sequence(); seq.append(LeanTween.move(gameObject, targetPos, 0.5f)); seq.append(0.2f); DoDamage(seq, targetPos, _currentTarget); _currentTarget.DoDamage(seq, targetPos, this, true); seq.append(() => _unitSprite.flipX = !_unitSprite.flipX); seq.append(LeanTween.moveLocal(gameObject, Vector3.zero, 0.5f)); seq.append(() => _unitSprite.flipX = !_unitSprite.flipX); seq.append(() => _unit.SetGettingReady()); seq.append(() => _unitAction = UnitAction.Idle); }
private void OnMoveQueueReady(Queue <string> commands) { TaskScheduler.Instance.Queue(() => { LTSeq sequence = LeanTween.sequence(); while (commands.Any() && _player.Game.GameState == GameState.InProgress && _player.IsMyTurn) { string unparsedCommand = commands.Dequeue(); string[] tokens = unparsedCommand.Split(':'); switch (tokens[0]) { case "attack": Player opponent = _player.Opponent; Unit target = opponent; Unit dealer = _player.UnitsOnField[tokens[1]]; if (!tokens[2].Equals("opponent")) { target = opponent.UnitsOnField[tokens[2]]; } sequence.append(() => _player.RequestCommandAttack(_player.UnitsOnField[tokens[1]], target)); sequence.append(2f); break; case "use_card": sequence.append(() => _player.RequestUseCard(_player.CardsOnHand[int.Parse(tokens[1])])); sequence.append(2f); break; } sequence.append(0.5f); } if (_player.Game.GameState == GameState.InProgress) { sequence.append(() => _player.EndTurn()); } }); }
public void AddToSequence(LTSeq sequence) { sequence.append(Descriptor); }
//The animation for the knife stabbing. It is split into 3 parts: rising up a little, striking down, then rising back up again. public void StabDown() { //The lean tween sequence of animations for the knife. LTSeq seq = LeanTween.sequence(); //The current lean tween animation being created and added to the sequence. LTDescr curLeanTweenAnim; //First, make the knife rise a little bit upwards to prepare to strike. curLeanTweenAnim = LeanTween.moveLocalY(gameObject, kh.startStabPosY + 1, 0.25f); curLeanTweenAnim.setEase(LeanTweenType.easeOutCubic); curLeanTweenAnim.setOnComplete(() => { curEnabledAnimInSequence = 1; LeanTween.pause(id1); LeanTween.pause(id3); LeanTween.resume(id2); }); id1 = curLeanTweenAnim.id; seq.append(curLeanTweenAnim); //Then fly downwards and hit the ground, spawning debris. curLeanTweenAnim = LeanTween.moveLocalY(gameObject, kh.endStabPosY, 0.25f); curLeanTweenAnim.setEase(LeanTweenType.easeInCubic); curLeanTweenAnim.setOnComplete(() => { //Spawn 5 debris objects once the knife has hit the ground. for (int i = 0; i < 5; i++) { Instantiate(tileDebris, new Vector2(transform.position.x, 0), Quaternion.identity); } LeanTween.pause(id1); LeanTween.pause(id2); LeanTween.resume(id3); curEnabledAnimInSequence = 2; //Instantiate(tileDebris, new Vector2(transform.position.x, transform.position.y - (GetComponent<SpriteRenderer>().sprite.bounds.size.y / 2)), Quaternion.identity); }); id2 = curLeanTweenAnim.id; seq.append(curLeanTweenAnim); //Then fly back upwards back to the starting position. curLeanTweenAnim = LeanTween.moveLocalY(gameObject, kh.startStabPosY, 0.5f); curLeanTweenAnim.setEase(LeanTweenType.easeOutCubic); curLeanTweenAnim.setOnComplete(() => { curEnabledAnimInSequence = -1; if (!kh.finishedPanning) { StabDown(); } }); id3 = curLeanTweenAnim.id; seq.append(curLeanTweenAnim); curEnabledAnimInSequence = 0; LeanTween.pause(id2); LeanTween.pause(id3); }