Пример #1
0
        public async Task UpdateEvidenceStateAsync(EvidenceType evidenceType, EvidenceState evidenceState)
        {
            GameState?newState = await _gameService.UpdateEvidenceStateAsync(Context.ConnectionId, evidenceType, evidenceState);

            if (newState is null)
            {
                throw new HubException("Invalid input.");
            }

            await Clients.Group(newState.GameCode).OnEvidenceUpdated(newState.EvidenceStates, newState.EvidencePossibilities, newState.GhostPossibilities);
        }
Пример #2
0
    public async Task UpdateEvidenceAsync(EvidenceType type, EvidenceState newState)
    {
        var evidence = _evidences.FirstOrDefault(evidence => evidence.Type == type);

        if (evidence is null)
        {
            return;
        }

        evidence.State = newState;
        RecalculateGhostStates();
        if (OnUpdated is not null)
        {
            await OnUpdated.Invoke();
        }
    }
Пример #3
0
 public Evidence(EvidenceType type)
 {
     Type  = type;
     State = EvidenceState.Unknown;
 }
Пример #4
0
 public UpdateEvidenceAction(EvidenceType evidenceType, EvidenceState state)
 {
     EvidenceType = evidenceType;
     State        = state;
 }
Пример #5
0
 public EvidencePossibility(EvidenceType type, Possibility possibility, EvidenceState originalState)
 {
     Type          = type;
     Possibility   = possibility;
     OriginalState = originalState;
 }
Пример #6
0
 private void UpdateEvidence(EvidenceType type, EvidenceState state) =>
 Dispatcher.Dispatch(new UpdateEvidenceAction(type, state));
Пример #7
0
 public async Task UpdateEvidenceAsync(EvidenceType evidenceType, EvidenceState state)
 {
     await EnsureStartedAsync();
     await TrySendAsync(nameof(IGameHub.UpdateEvidenceStateAsync), evidenceType, state);
 }