private void Update() { if (_developmentIsActive.Value && !_calculating && Input.GetKey(KeyCode.T) && Input.GetKey(KeyCode.E)) { _calculating = true; var result = new MoveTreeAnalysis().CalculateMoveTree(_map.GetSnapshot()); Debug.Log($"CalculatingComplete - 1-Star: {result.HasOneStar} 2-Star: {result.HasTwoStar} 3-Star: {result.HasThreeStar}. " + $"Winning {result.NumberOfWinningBranches}. Dead {result.NumberOfDeadBranches}"); } }
private IEnumerator Calculate() { yield return(new WaitUntil(() => _ai.CalculateSolution(map.GetSnapshot()))); if (_ai.CanWin) { Message.Publish(new TileIndicated(new TilePoint(_ai.NextMove.FromX, _ai.NextMove.FromY))); _makingMove = true; _t = _secondsDelayMove; } else { gameInputActiveLock.Unlock(gameObject); _showingError = true; } }