unityでGetInstanceIDを使うと便利だったケース: 簡易UIアニメーション振動メソッドの実装

前提

これは何

using DG.Tweening;
using UnityEngine;
using UnityEngine.UI;

    public static void VibrateRect(bool isActive, RectTransform rect) {
        var id = rect.GetInstanceID();
        if (isActive) {
            if (DOTween.IsTweening(id)) {
                return;
            }
            var sq = DOTween.Sequence().SetId(id);
            sq.AppendInterval(2f);
            sq.Append(
                rect.DOPunchScale(
                    new Vector3(0.2f, 0.2f, 0.2f),
                    0.2f,
                    1,
                    1
                ).SetEase(Ease.OutExpo).SetLoops(4)
            );
            sq.SetLoops(100);
        } else {
            if (DOTween.IsTweening(id)) {
                DOTween.Complete(id);
            }
        }
    }