Esempio n. 1
0
    void Update()
    {
        switch (_state)
        {
        case LootRewardFeedbackState.None:
            break;

        case LootRewardFeedbackState.Spawning:
            transform.localScale = Vector3.Lerp(transform.localScale, _beforeMovingScale, _scaleSpeed * Time.deltaTime);
            if (Vector3.Distance(transform.localScale, _beforeMovingScale) < _scaleReachingDistance)
            {
                _state = LootRewardFeedbackState.Moving;
            }
            break;

        case LootRewardFeedbackState.Moving:
            transform.position = Vector3.Lerp(transform.position, _targetPosition, _moveSpeed * Time.deltaTime);
            if (Vector3.Distance(transform.position, _targetPosition) < _moveReachingDistance)
            {
                _state = LootRewardFeedbackState.Dissapearing;
                _onFeedbackReachedEnd?.Invoke(_amount);
            }
            break;

        case LootRewardFeedbackState.Dissapearing:
            transform.localScale = Vector3.Lerp(transform.localScale, Vector3.zero, _scaleSpeed * Time.deltaTime);
            if (Vector3.Distance(transform.localScale, Vector3.zero) < _scaleReachingDistance)
            {
                _state = LootRewardFeedbackState.None;
                OnFeedbackEnded();
            }
            break;
        }
    }
Esempio n. 2
0
 public void Init(LootRewardFeedbackData data)
 {
     transform.position   = data.StartTransform != null ? data.StartTransform.position : Vector3.zero;
     transform.localScale = _initialScale;
     _targetPosition      = data.TargetPosition;
     _onFeedbackStarts    = data.OnFeedbackStarts;
     _onFeedbackStarts?.Invoke();
     _onFeedbackReachedEnd = data.OnFeedbackReachedEnd;
     _amount = data.Amount;
     InitParticle(_amount > 1);
     _state = LootRewardFeedbackState.Spawning;
 }
Esempio n. 3
0
 public void OnFeedbackEnded()
 {
     //Debug.Log("LootRewardFeedback ended! Target: " + _targetTransform.name);
     _state = LootRewardFeedbackState.None;
     Destroy(gameObject);
 }