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); }