using System; using System.Collections; using UnityEngine; using Yarn.Unity; using System.Collections.Generic; namespace AibisDream.FixSystem { public static class OpenYarnCommand { private static ShockSystem ShockSystem => FixSystemCenter.SystemDic.Get(); [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(); if (spriteFlashSystem != null) { ShockSystem.StartCoroutine(PlayShockFlash()); yield return spriteFlashSystem.TriggerFlash(imagePath); } } [YarnCommand("trigger_ending")] public static IEnumerator TriggerEnding(string imagePath, float duration = 3f) { var spriteFlashSystem = ShockSystem.GetComponent(); 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); } } }