How do i use StateMachine logic with my code ?

I took the two scripts of the state machine from here:

State Machine Scripts

And the Main.cs script for the example:

Main.cs

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:

Previous question and answer

The state machine and making 3 scripts and then integrate between all of them seems to be very hard.

The state machine you’re using is not a true state machine. A true state machine has predefined rules, and you may not transition from one state to another without a preexisting rule for that transition.

I suggest that you follow the answer for state machines in C# found on Stackoverflow, here

It’s what I’ve used for state machines in the past, and it has the exact behaviour that you’d expect out of a state machine.

All you will need is the state machine Process class, an enum for your States, and an enum for the transitional Commands. Your game script will check for certain conditions and send commands to the state machine based off of those conditions.