public async Task JoinGameAsync(string gameId) { if (_isGameStartedOrJoined) { throw new Exception("Game already started or joined."); } _isGameStartedOrJoined = true; _service = new YahtzeeService(_web3, gameId); await _service.JoinGameRequestAndWaitForReceiptAsync(); }
private async Task <string> DeployContractAsync(string partnerAddress) { var deployment = new YahtzeeDeployment() { Partner = partnerAddress, Stake = 20, AmountToSend = 20 }; var receipt = await YahtzeeService.DeployContractAndWaitForReceiptAsync(_web3, deployment); return(receipt.ContractAddress); }
/// <summary> /// Startet ein Spiel mit dem aktuell angemeldeten Spieler und dem angegebenen Partner /// </summary> /// <returns>Gibt die ID des Games zurück</returns> /// <param name="partnerAddress">z.B. "0x08c31473a219f22922f47f001611d8bac62fbb6d"</param> public async Task <string> StartGameAsync(string partnerAddress) { if (_isGameStartedOrJoined) { throw new Exception("Game already started or joined."); } _isGameStartedOrJoined = true; var contractId = await DeployContractAsync(partnerAddress); _service = new YahtzeeService(_web3, contractId); return(contractId); }