private void SendMove(IMove move) { Requires.IsNotNull(MoveReceived, "MoveReceived"); MoveReceived?.Invoke(this, new MoveEventArgs { Move = move }); }
public async Task <object> MakeMove(object moveData) { var move = await _validator.MakeMove(moveData); var userMoved = (GameState)moveData; var response = await _ai.GetMoveAsync(userMoved, new ChessAI.Settings { IsWhite = !(Settings as ChessSettings).IsWhite, Miliseconds = 10, MinLevel = level }); await _validator.MakeMove(userMoved.GetWithMove(response.Item1, response.Item2)); await Task.Run(() => { MoveReceived?.Invoke(response); }); return(move); }
private void LocalReceive(RemoteData data) { if (data.State == GameStateQuery.Message) { MessagesReceived?.Invoke(new List <object> { data.MessageText }); } else if (data.State == GameStateQuery.Pause) { // TODO: now its only ignore } else if (data.State == GameStateQuery.Start) { } else if (data.State == GameStateQuery.Resign) { } else if (data.State == GameStateQuery.Move) { MoveReceived?.Invoke(data.Move as Tuple <BPosition, BPosition>); } }
public void Inform(Move move) { MoveReceived?.Invoke(move); }