- Home /
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)
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
Answer by JimNotaro · Apr 25, 2016 at 10:07 AM
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.
Your answer
![](https://koobas.hobune.stream/wayback/20220612075542im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Has my project's data corrupted? Script keeps returning null but 20 minutes ago it wasn't? 1 Answer
What is the diffrence between Reference and GetComponent ? 1 Answer
Resource Counting 1 Answer
How to set a default value for Drop-downs, but not display that value in the actual list? 0 Answers
how to track UI buttons on Image targets 0 Answers