public void PlayerRegret() { if ((_gameDataHandler.GameState != GameState.BlackPlay && _isBlack) || (_gameDataHandler.GameState != GameState.WhitePlay && !_isBlack) || (_gameDataHandler.Turn <= 1)) { return; } try { // remove 2 step _gameDataHandler.RevertGameState(); GameTrace gameTrace = _gameDataHandler.GetCurrentStep(); _gameDataHandler.RemoveStep(gameTrace); _gameSceneTool.RemoveGameObj(gameTrace); _gameDataHandler.RevertGameState(); gameTrace = _gameDataHandler.GetCurrentStep(); _gameDataHandler.RemoveStep(gameTrace); _gameSceneTool.RemoveGameObj(gameTrace); } catch (EmptyGameDataException) { // no game date available Debug.Log("EmptyGameDataException"); } }