44 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|