using System.Collections; using UnityEngine; using AibisDream.Kit; using AibisDream.Framework; using UnityEngine.ResourceManagement.AsyncOperations; namespace AibisDream.FixSystem { public class EyeModule : BodyModule { private static IEnumerator ApplyCoverSprite(SpriteRenderer sp, string address) { var handle = ResourceSystem.LoadAsync(address); yield return handle; if (handle.Status == AsyncOperationStatus.Succeeded) sp.sprite = handle.Result; } public IEnumerator OpenEye() { var sp = transform.Find("Cover").GetComponent(); AudioManager.Instance.PlaySfx("event:/ActionFB/eye_open"); yield return ApplyCoverSprite(sp, FixAssetRef.EyeCoverOpenA); yield return new WaitForSeconds(0.1f); yield return ApplyCoverSprite(sp, FixAssetRef.EyeCoverOpenB); } public IEnumerator CloseEye() { var sp = transform.Find("Cover").GetComponent(); yield return ApplyCoverSprite(sp, FixAssetRef.EyeCoverOpenA); AudioManager.Instance.PlaySfx("event:/ActionFB/eye_close"); yield return new WaitForSeconds(0.1f); yield return ApplyCoverSprite(sp, FixAssetRef.EyeCoverClose); } } }