Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text;
- using System.Net.Http;
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using UnityEngine;
- using Server.Models;
- public class ReadPlayer : MonoBehaviour
- {
- private HttpClient client = new HttpClient ( );
- private Uri BaseUri;
- public string Username = "user";
- public string Password = "pass";
- public string Server = "http://localhost:53253";
- public Player Player { get; private set; } = null;
- // Start is called before the first frame update
- async void Start ()
- {
- BaseUri = new Uri ( Server );
- var success = await ReadPlayerFromServerAsync ( Username, Password );
- if ( success )
- Debug.Log ( "Successfully Read From Server." );
- else
- Debug.Log ( "Failed To Read From Server!" );
- }
- private async Task<bool> ReadPlayerFromServerAsync ( string username, string password )
- {
- Uri uri = new Uri ( BaseUri, "player/get" );
- var body = JsonConvert.SerializeObject (
- new UsernamePassword
- {
- Username = username,
- Password = password
- } );
- var content = new StringContent ( body, Encoding.UTF8, "application/json" );
- content.Headers.ContentType.CharSet = null;
- try
- {
- var s = client.PostAsync ( uri.AbsoluteUri, content );
- var result = await s;
- var responseBody = await result.Content.ReadAsStringAsync ( );
- Debug.Log ( $"ReadPlayerFromServerAsync<T> " +
- $"result.StatusCode : {result.StatusCode}" +
- $"{responseBody}" );
- if ( !result.IsSuccessStatusCode ) return false;
- if ( string.IsNullOrEmpty ( responseBody ) ) return false;
- Player = JsonConvert.DeserializeObject<Player> ( responseBody );
- return true;
- }
- catch ( HttpRequestException re )
- {
- Debug.Log ( $"HttpRequestException : {re.Message}" );
- return false;
- }
- catch ( Exception e )
- {
- Debug.Log ( $"Exception : {e.Message}" );
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment