public override void OnAnimalExit(Animal animal) { if (_enterCount == 1) { // Set animal to null _animal = null; GameManager.Instance.OnAnimalExitFoothold(this); _isDouble = false; var delay = DelayAction.Create(0.5f); var playExplosion = CallFuncAction.Create(() => { // Play sound SoundManager.Instance.PlaySound(SoundID.Explose); if (explosionPrefab != null) { GameObject explosion = explosionPrefab.Create(transform, icon.transform.position); explosion.AddSortingOrder(icon.GetSortingOrder() + 1); } }); var fadeOut = FadeAction.FadeOut(0.25f); var hide = HideAction.Create(); // Hide icon icon.Play(SequenceAction.Create(delay, playExplosion, fadeOut, hide)); } else { base.OnAnimalExit(animal); } }
void UpdateTime() { // Get current time int time = Mathf.CeilToInt(_time); if (time != _currentTime) { if (_currentTime > 0) { // Frame frame.StopAction(); frame.Show(); frame.Play(BlinkAction.Create(2, 0.3f, false, false), () => { frame.Hide(); }); // Play effect GameObject effect = numberEffect.gameObject; effect.StopAction(true); effect.Show(); effect.transform.localScale = Vector3.one; effect.SetColor(_currentTime > 3 ? Color.white : alarmColor, true); numberEffect.Number = _currentTime; var zoomOut = ScaleAction.ScaleTo(alarmScale, alarmDuration); var fadeOut = FadeAction.RecursiveFadeOut(alarmDuration); var hide = HideAction.Create(); effect.Play(SequenceAction.Create(ParallelAction.ParallelAll(zoomOut, fadeOut), hide)); } // Set current time _currentTime = time; // Update number number.Number = time; } }
public void OnNextRound(int nextRound) { int index = (nextRound > 3) ? 2 : nextRound - 1; round.SetImageSprite(rounds[index]); target.SetImageSprite(targets[index]); round.Show(); target.Show(); var roundMove1 = AnchoredMoveAction.MoveTo(new Vector2(0, _roundPosition.y), 0.25f, Ease.SineOut); var roundDelay = DelayAction.Create(1.0f); var roundMove2 = AnchoredMoveAction.MoveTo(new Vector2(_targetPosition.x, _roundPosition.y), 0.25f, Ease.SineIn); var targetMove1 = AnchoredMoveAction.MoveTo(new Vector2(0, _targetPosition.y), 0.25f, Ease.SineOut); var targetDelay = DelayAction.Create(1.0f); var targetMove2 = AnchoredMoveAction.MoveTo(new Vector2(_roundPosition.x, _targetPosition.y), 0.25f, Ease.SineIn); round.Play(SequenceAction.Create(roundMove1, roundDelay, roundMove2, SetAnchoredPositionAction.Create(_roundPosition), HideAction.Create())); target.Play(SequenceAction.Create(targetMove1, targetDelay, targetMove2, SetAnchoredPositionAction.Create(_targetPosition), HideAction.Create())); }