private GameObject currentWings; private bool isActive = false;
void ActivateWings()
void RetractWings()
if (triggerOnTouch && other.CompareTag("Player") && !isActive) ActivateWings(); winged cloud patches
LeanTween.scale(currentWings, Vector3.zero, 0.3f).setOnComplete(() => Destroy(currentWings)); isActive = false; private GameObject currentWings
timer += Time.deltaTime; yield return null; RetractWings(); private bool isActive = false
isActive = true; currentWings = Instantiate(wingPrefab, transform); // Play unfurl animation LeanTween.scale(currentWings, Vector3.one, unfurlDuration).setEase(LeanTweenType.easeOutBack); // Apply wing type material / effects ApplyWingVisuals(wingStyle); // Start behavior coroutine StartCoroutine(WingBehavior());