Files
aibis-dream/Assets/Scripts/FixSystemNew/BodyModule/Modules/EyeModule.cs
T

38 lines
1.3 KiB
C#

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<Sprite>(address);
yield return handle;
if (handle.Status == AsyncOperationStatus.Succeeded)
sp.sprite = handle.Result;
}
public IEnumerator OpenEye()
{
var sp = transform.Find("Cover").GetComponent<SpriteRenderer>();
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<SpriteRenderer>();
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);
}
}
}