/* * Method that is called when SwitchOver event of the model is invoked */ private void OnSwitchMove(object sender, SwitchMoveEventArgs eventArgs) { if (eventArgs.CurrentPlayerColor == currentColor) { GameIsOver = false; } }
/* * Method that makes move if it is current user turn */ private void OnSwitchMove(object sender, SwitchMoveEventArgs eventArgs) { if (eventArgs.CurrentPlayerColor == currentColor) { MakeMove(eventArgs.AllowedCells); } }
private void SwitchMoveConsideringUserType(object sender, SwitchMoveEventArgs e) { /* * if it's HumanToHuman mode * or it's HumanToRobot mode but robot turn * or robot move is not currently delayed * => do not make delay * else make delay */ if (currentMode == GameMode.HumanToHuman || e.CurrentPlayerColor != playerColor || !delayRobotMoveTimer.IsRunning) { SwitchTurn(e.AllowedCells, e.CurrentPlayerColor); return; } delayRobotMoveQueue.AddDelegate(() => { SwitchTurn(e.AllowedCells, e.CurrentPlayerColor); }); }