State machine with multiple player inputs?

Hi, I am trying to make a state machine for an RPG style game that takes in several inputs from the player before moving to the enemies turn. Very similar to how FFXIII combat works (queuing a string of actions)

68791-unityhelp1.png

At the moment I can record the number of times I press each of the two buttons, but I am stuck at how to store the order of buttons pressed, activating the ‘attack’ button when 3 actions have been qued and displaying them in Inputs 1 2 and 3 respectively.

Pressing the attack button would play animations for the unique attacks in order of input and damage the enemy accordingly, or that’s what I would like to happen

This is the code I have for each button

using UnityEngine;
using System.Collections;

public class buttonwep1 : MonoBehaviour {

	public int wep1presscount = 0;

	public void activatewep1 ()
	{
		stateMachine.buttoncounter = stateMachine.buttoncounter + 1;
		wep1presscount = wep1presscount + 1;
		Debug.Log(wep1presscount);
	}

}

I am fairly new to C# as a whole, any help is hugely appreciated. Thanks

You can create an array of integers and then store a 1 in the array if wep1 is pressed and a 2 if wep2 is pressed. Then the first element in the array will corespondent to the first button clicked and so on

int[] buttonClicks = new int[3];
public void activewep1(){
    buttonClicks[stateMachine.buttonCounter++] = 1;
}   
public void activewep2(){
    buttonClicks[stateMachine.buttonCounter++] = 2;
}

If the user clicks 1->1->2 buttonClicks will look like this

[1, 1, 2]

Then in the update function simply check if stateMachine.buttonCounter == 3 and if it does activate the attack button.
Also keep a counter for which attack you are on when using the attacks and them play the animation that corresponds to the number stored in that place in the array.