public void OnBuyClick() { _clickCount += 1; showCoinNumber = 5 * _clickCount >= 15 ? MAXCount : 5 * _clickCount; GameData.Instance.ChangeCoinsData(5 * _clickCount); callback = () => { CoinCollectionAnim.ShowCollectionAnim(fromTransform, targetTransform, coinPrefab, coinsCount, showCoinNumber); }; _openChestDialog.Init(showCoinNumber, callback); }
public static void ShowCollectionAnim(Transform fromTransform, Transform targetTransform, CoinCollectionAnim coinPrefab, Text text, int showCoinNumber) { Sequence mainSequence = DOTween.Sequence(); for (int i = 0; i < showCoinNumber; i++) { mainSequence.AppendCallback((() => { ShowSingleCoinAnim(fromTransform, targetTransform, coinPrefab); })); mainSequence.AppendInterval(0.1f); } mainSequence.AppendCallback((() => { ShowCoinsPlusAnim(text); })); }
private static void ShowSingleCoinAnim(Transform fromTransform, Transform targetTransform, CoinCollectionAnim coinPrefab) { float scaleRate = 50f; float x = fromTransform.position.x + Random.Range(-1f, 1f); float y = fromTransform.position.y + Random.Range(-1f, 1f); Vector3 vector3 = new Vector3(x, y, 0); Sequence sequence = DOTween.Sequence(); CoinCollectionAnim anim = Instantiate(coinPrefab, fromTransform); anim.transform.localScale *= scaleRate; sequence.Append(anim.transform.DOMove(vector3, 1f)); sequence.Append(anim.transform.DOMove(targetTransform.position, 1f)); sequence.AppendCallback(() => { anim.gameObject.SetActive(false); Destroy(anim.gameObject, 0.5f); }); }
public void OnBgClick() { CoinCollectionAnim.ShowCollectionAnim(fromTransform, targetTransform, coinPrefab, coinsCount, showCoinNumber); showChestDialog.SetActive(false); }