To create a new action, create a new class and inherit from Action. Override the Perform method and return EActionStatus.Success as below.
using SGOAP;
public class FooAction : Action
{
// This is called before the action begins.
// This is useful for a final check, such as CanIReallyAttack?
public override bool PrePerform()
{
}
// This is called when the action is being executed by the agent.
// In here, you want to add the main logic for your action.
// For example, a TriggerAnimationAction will call Animator.SetTrigger(triggerName);
public override EActionStatus Perform()
{
// Returning success will automatically finishes the action.
return EActionStatus.Success;
}
// Called after your action successfully performs. This is useful for updating app's states.
public override bool PostPerform()
{
}
}