- Home /
Is this the right way to approach this keyboard related problem?
Hey, so I am making a card game. In the game, each player pulls a card from his deck to the pile in his turn, but if the card is royal, then the next player should pull a royal card within 3 draws, and if a royal card was not one of his draws, then the round ends. Each player has a draw key , and I am using the onGUI function to manage the normal draws, but I couldn't figure out how to manage it with the royals. I tried to "disable" the onGUI function with a boolean because I wanted to pull the cards in the case from a function itself with different versions of while loops, but they all failed.
useGUI is a bool that is set to true, which should be false if I want to pull the cards from the function, and not from the onGUI function.
turn is an int that holds the number of the player that it is his turn.(1-player1,2-player2,etc.)
void OnGUI()
{
Event e = Event.current;
if (e != null && e.isKey && drawKeys[turn - 1] == e.keyCode && useGUI)
{
StartCoroutine(TurnOrganizer());
}
}
IEnumerator TurnOrganizer() // here I check if the top card is a royal, and if it is, doing stuff.
{
// ....
// ...
}
My plan was to call another function from TurnOrganizer() and in the function to try to draw a royal within 3 cards. And then, based on the result at TurnOrganizer() determine if to start a new round or continue the current round. But It didn't work as excepted and even after a lot of debugging it just seemed too complex, or that I am approaching it the wrong way.
Your answer
Follow this Question
Related Questions
Trading Card Game 5 Answers
Unable to set object as child 0 Answers
How to get the "Command" hold down on Mac OS? 1 Answer
unbuffered keyboard input delay 2 Answers
How to use event.KeyCode 1 Answer