I took the two scripts of the state machine from here:
And the Main.cs script for the example:
And then i’m trying to use it with my code.
In my script PlayerController.cs i added at the top the states i think i should have:
using UnityEngine;
using System.Collections;
using MonsterLove.StateMachine;
public class PlayerController : MonoBehaviour {
//Declare which states we'd like use
public enum States
{
Init,
Move,
Walk,
Idle,
Look
}
Move is to move the player and Walk is to move the player with the walk animation but maybe i should use here only Move and in another script to decide if to use the walk animation or not ?
Then i added some variables:
public int moveSpeed = 3;
public int walkSpeed = 3;
private Animator _animator;
private StateMachine<States> fsm;
Then added Awake function:
private void Awake()
{
_animator = GetComponent<Animator>();
//Initialize State Machine Engine
fsm = StateMachine<States>.Initialize(this, States.Init);
}
Then added State function but maybe i’m wrong here too.
I should add a method for each state ? For example for Walk so to do
void Walk()
{
}
I messed it up.
From my other question answer i quote:
PlayerController, which controls the movement and states of the player
MouseTargetController, which feeds the mouse target info into the player controller
AnimationController, which reads the player controllers state and updates the animation based off that
so i want to have this 3 scripts but not sure how to use the State Machine with them and how to integrate between the 3 scripts and the state machine.
I didn’t create the two other scripts yet.
This is my previous question and answer i got:
The state machine and making 3 scripts and then integrate between all of them seems to be very hard.