示例#1
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;
 }
    private void GenerateRewardVfx()
    {
        var rewardGo = Instantiate(_feedbackObj);
        LootRewardFeedback feedback = rewardGo.GetComponent <LootRewardFeedback>();
        var targetPosition          = _hudTimeTarget.position;

        targetPosition.z = -Camera.main.transform.position.z;
        var data = new LootRewardFeedbackData
        {
            StartTransform       = transform,
            TargetPosition       = Camera.main.ScreenToWorldPoint(targetPosition),
            OnFeedbackStarts     = null,
            OnFeedbackReachedEnd = _hudGameplayController.UpdateTimeCounter,
            Amount = _secondsAdded
        };

        feedback.Init(data);
    }