feat(fix-system): 添加EyeModule并重构视觉模块控制
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user