Time AI
Add Coroutine To AI
The default behaviour of AI is execute immediately when it's on their turn. However, a delay, before they starts their calculation can be done through steps below.
Steps 1 - Remove unnecessary code
In ChessGameAIGUI script, there are numerous line of code contains macro #if (UNITY_WEBGL && !UNITY_EDITOR), uncomment or remove them entirely. Do the same for the content inside the #else statement, if there's any. In the end, what remains will be those code within the if statement.
*EXCEPT those macro in RequestAIMove() function, just don't do this step in the function, otherwise, screen will freeze while AI is calculating.
Steps 2 - Migrate code to next steps
In the RequestAIMove() function, remove the line AITurnEffect(isAIMoving);
Steps 3 - Making the request to AI move function a timed coroutine
In the IEnumerator AITurn() function, the code within should become something like
//Letting AI turn effect starts spinning before AI starts it's calculation
AITurnEffect(!HasGameFinished());
//The seconds should be the time to delay AI before it starts calculation
yield return new WaitForSeconds(seconds);
RequestAIMove();Last updated