Files
AliceBall/Assets/_Alice/Scripts/Player/PlayerActions.cs
2025-07-23 18:47:59 +08:00

44 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using BehaviorDesigner.Runtime;
using BehaviorDesigner.Runtime.Tasks;
using DarkTonic.MasterAudio;
using UnityEngine;
public class PlayerActions : Action
{
public class PlayPlayerAudio : Action
{
public SharedBool IsStop;
public SharedString AudioName;
public SharedBool IsBack;
private Player _player;
public override void OnStart()
{
base.OnStart();
_player = GameLocal.Ins.self;
if(IsStop.Value)
MasterAudio.StopAllSoundsOfTransform(_player.transform);
MasterAudio.PlaySound3DAtTransform(AudioName.Value, _player.transform);
}
public override TaskStatus OnUpdate()
{
base.OnUpdate();
TaskStatus status = TaskStatus.Running;
MasterAudioGroup audioGroup = MasterAudio.GrabGroup(AudioName.Value);
if (audioGroup == null)
{
status = TaskStatus.Failure;
}
else if (audioGroup.ActiveVoices <= 0|| IsBack.Value)
{
status = TaskStatus.Success;
}
return status;
}
}
}