using System; using NodeCanvas.Framework; using ParadoxNotion.Design; using Reset.Items; using UnityEngine; namespace Reset.Items { [Category("Reset/Combat")] [Description("Sends a named event as a string to the current weapon's WeaponActor.")] public class SendWeaponActorEvent : ActionTask{ public BBParameter weaponEvent; protected override string info{ get{ return $"Send weapon event {weaponEvent.value}"; } } //Use for initialization. This is called only once in the lifetime of the task. //Return null if init was successfull. Return an error string otherwise protected override string OnInit() { return null; } //This is called once each time the task is enabled. //Call EndAction() to mark the action as finished, either in success or failure. //EndAction can be called from anywhere. protected override void OnExecute(){ WeaponActor actor = agent.GetComponent(); if (actor == null) { Debug.LogError("No WeaponActor was found on this player."); EndAction(false); } actor.DoWeaponEvent(weaponEvent.value); EndAction(true); } //Called once per frame while the action is active. protected override void OnUpdate() { } //Called when the task is disabled. protected override void OnStop() { } //Called when the task is paused. protected override void OnPause() { } } }