Files
aibis-dream/Assets/Scripts/FixSystemNew/Open/OpenYarnCommand.cs
T
2025-05-29 15:27:49 +08:00

52 lines
1.6 KiB
C#

using System;
using System.Collections;
using UnityEngine;
using Yarn.Unity;
namespace AibisDream.FixSystem
{
public static class OpenYarnCommand
{
private static ShockSystem ShockSystem => FixSystemCenter.SystemDic.Get<ShockSystem>();
[YarnCommand("play_shock_flash")]
public static IEnumerator PlayShockFlash()
{
yield return ShockSystem.PlayFlashEffect();
}
[YarnCommand("play_shock_flashback")]
public static IEnumerator PlayShockFlashback(string imagePath)
{
var spriteFlashSystem = ShockSystem.GetComponent<SpriteFlashSystem>();
if (spriteFlashSystem != null)
{
yield return spriteFlashSystem.TriggerFlash(imagePath);
}
}
[YarnCommand("trigger_ending")]
public static IEnumerator TriggerEnding(string imagePath, float duration = 3f)
{
var spriteFlashSystem = ShockSystem.GetComponent<SpriteFlashSystem>();
yield return spriteFlashSystem.TriggerEnding(imagePath, duration);
}
[YarnCommand("start_shock")]
public static IEnumerator StartShock()
{
yield return ShockSystem.StartShock();
}
[YarnCommand("stop_shock")]
public static IEnumerator StopShock()
{
yield return ShockSystem.StopShock();
}
[YarnCommand("auto_charge_and_release")]
public static IEnumerator AutoChargeAndRelease(float duration = 1f)
{
yield return ShockSystem.AutoChargeAndRelease(duration);
}
}
}