- Modified gameObserver and related classes to be able to work with a precise JGE instance given at construction and not the static global one. That allows to run gameObserver without JGE instance (for example in a worker thread).
- Added an "ACTION_LOGGING_TESTING" mode in the gameObserver. When this is defined, the game reloads itself in every update. I want to use that to track undo problems. Be aware that it kills performances and crashes with the testsuite if you want to activate it. - Various cleanup/refactor of the game observer. - Added a gameObserver == operator to compare two games - Added player mode to the player serialization - Added a multi-threaded mode to AI_CHANGE_TESTING. For the moment it's only useable with Qt. If you want to use it without, just defined a thread_count higher than 1. - Refactored random generator class to use list intead of queue - Defined a specific type for interrupt decision instead of int
This commit is contained in:
@@ -43,36 +43,39 @@ void DuelLayers::CheckUserInput(int isAI)
|
||||
{
|
||||
JButton key;
|
||||
int x, y;
|
||||
while ((key = JGE::GetInstance()->ReadButton()) || JGE::GetInstance()->GetLeftClickCoordinates(x, y))
|
||||
JGE* jge = observer->getInput();
|
||||
if(!jge) return;
|
||||
|
||||
while ((key = jge->ReadButton()) || jge->GetLeftClickCoordinates(x, y))
|
||||
{
|
||||
if ((!isAI) && ((0 != key) || JGE::GetInstance()->GetLeftClickCoordinates(x, y)))
|
||||
if ((!isAI) && ((0 != key) || jge->GetLeftClickCoordinates(x, y)))
|
||||
{
|
||||
if (stack->CheckUserInput(key)) {
|
||||
JGE::GetInstance()->LeftClickedProcessed();
|
||||
jge->LeftClickedProcessed();
|
||||
break;
|
||||
}
|
||||
if (combat->CheckUserInput(key)) {
|
||||
JGE::GetInstance()->LeftClickedProcessed();
|
||||
jge->LeftClickedProcessed();
|
||||
break;
|
||||
}
|
||||
if (avatars->CheckUserInput(key)) {
|
||||
JGE::GetInstance()->LeftClickedProcessed();
|
||||
jge->LeftClickedProcessed();
|
||||
break; //avatars need to check their input before action (CTRL_CROSS)
|
||||
}
|
||||
if (action->CheckUserInput(key)) {
|
||||
JGE::GetInstance()->LeftClickedProcessed();
|
||||
jge->LeftClickedProcessed();
|
||||
break;
|
||||
}
|
||||
if (hand->CheckUserInput(key)) {
|
||||
JGE::GetInstance()->LeftClickedProcessed();
|
||||
jge->LeftClickedProcessed();
|
||||
break;
|
||||
}
|
||||
if (mCardSelector->CheckUserInput(key)) {
|
||||
JGE::GetInstance()->LeftClickedProcessed();
|
||||
jge->LeftClickedProcessed();
|
||||
break;
|
||||
}
|
||||
}
|
||||
JGE::GetInstance()->LeftClickedProcessed();
|
||||
jge->LeftClickedProcessed();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user