mirror of
https://github.com/tym1116/BH3.git
synced 2025-12-16 08:25:20 +01:00
51 lines
1.0 KiB
C#
51 lines
1.0 KiB
C#
using BehaviorDesigner.Runtime;
|
|
using BehaviorDesigner.Runtime.Tasks;
|
|
using UnityEngine;
|
|
|
|
namespace MoleMole
|
|
{
|
|
[TaskCategory("Ability/TriggerAbility")]
|
|
public class TriggerAbility : Action
|
|
{
|
|
public string abilityName;
|
|
|
|
public SharedFloat abilityArgument;
|
|
|
|
public bool isRandom;
|
|
|
|
public float randomMin;
|
|
|
|
public float randomMax;
|
|
|
|
public SharedFloat ratio;
|
|
|
|
private BaseMonoEntity _entity;
|
|
|
|
public override void OnAwake()
|
|
{
|
|
_entity = GetComponent<BaseMonoEntity>();
|
|
}
|
|
|
|
public override TaskStatus OnUpdate()
|
|
{
|
|
EvtAbilityStart evtAbilityStart = new EvtAbilityStart(_entity.GetRuntimeID());
|
|
evtAbilityStart.abilityName = abilityName;
|
|
float num = 1f;
|
|
if (ratio.IsShared)
|
|
{
|
|
num = ratio.Value;
|
|
}
|
|
if (isRandom)
|
|
{
|
|
evtAbilityStart.abilityArgument = Random.Range(randomMin, randomMax) * num;
|
|
}
|
|
else
|
|
{
|
|
evtAbilityStart.abilityArgument = abilityArgument.Value * num;
|
|
}
|
|
Singleton<EventManager>.Instance.FireEvent(evtAbilityStart);
|
|
return TaskStatus.Success;
|
|
}
|
|
}
|
|
}
|