I am currently trying the following code:
using UnityEngine;
using System.Collections;
using HutongGames.PlayMaker;
public class MecPMSendEvent : StateMachineBehaviour {
public string TargetFSMName;
public string EventName;
private PlayMakerFSM TargetFSM;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
PlayMakerFSM[]temp= GetComponents<PlayMakerFSM>();
foreach(PlayMakerFSM fsm in temp){
if (fsm.FsmName==TargetFSMName){
TargetFSM=fsm;
break;
}
}
}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
TargetFSM.Fsm.Event(EventName);
}
// OnStateMove is called right after Animator.OnAnimatorMove(). Code that processes and affects root motion should be implemented here
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateIK is called right after Animator.OnAnimatorIK(). Code that sets up animation IK (inverse kinematics) should be implemented here.
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
}
but I get an erro that says "the name 'GetComponents' does not exist in the current context.
Would someone be able to tell me what I am doing wrong?