Initial commit
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
public abstract class DataNetwork {
|
||||
public event Action<string> OnError;
|
||||
public event Action<string> OnCallback;
|
||||
|
||||
public readonly string url;
|
||||
public DataNetwork(string url) => this.url = url;
|
||||
|
||||
public abstract IEnumerator IWebRequest();
|
||||
|
||||
public virtual void RequestResultHandle(UnityWebRequest web) {
|
||||
bool isDone = !web.isDone || web.result != UnityWebRequest.Result.Success;
|
||||
if (isDone) { OnCallback?.Invoke(web.downloadHandler.text); }
|
||||
else { OnError?.Invoke(web.downloadHandler.text); }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26504492cb699964aad1334e6c272c90
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
public class DataNetworkGet : DataNetwork {
|
||||
public DataNetworkGet(string url) : base(url) { }
|
||||
|
||||
public override IEnumerator IWebRequest() {
|
||||
using (UnityWebRequest web = UnityWebRequest.Get(url)) {
|
||||
yield return web.SendWebRequest();
|
||||
RequestResultHandle(web);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 178fdb6bf03219a419be9c9661e25a5f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
public class DataNetworkGetTexture : DataNetwork {
|
||||
public Action<Texture2D> action;
|
||||
public DataNetworkGetTexture(string url, Action<Texture2D> action) : base(url) => this.action = action;
|
||||
|
||||
public override IEnumerator IWebRequest() {
|
||||
using (UnityWebRequest web = UnityWebRequestTexture.GetTexture(url)) {
|
||||
yield return web.SendWebRequest();
|
||||
RequestResultHandle(web);
|
||||
}
|
||||
}
|
||||
public override void RequestResultHandle(UnityWebRequest web) {
|
||||
base.RequestResultHandle(web);
|
||||
bool isDone = !web.isDone || web.result != UnityWebRequest.Result.Success;
|
||||
if (isDone) { action?.Invoke((web.downloadHandler as DownloadHandlerTexture).texture); }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d878ccfee24dcb643a5969a41747030f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,16 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
public class DataNetworkPostForm : DataNetwork {
|
||||
public readonly WWWForm form;
|
||||
public DataNetworkPostForm(string url, WWWForm form) : base(url) => this.form = form;
|
||||
|
||||
public override IEnumerator IWebRequest() {
|
||||
using (UnityWebRequest web = UnityWebRequest.Post(url, form)) {
|
||||
yield return web.SendWebRequest();
|
||||
RequestResultHandle(web);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 94c1d521794afc841b26a36e6e873c59
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
public class DataNetworkPostJson : DataNetwork {
|
||||
public readonly string json;
|
||||
public DataNetworkPostJson(string url, string json) : base(url) => this.json = json;
|
||||
|
||||
public override IEnumerator IWebRequest() {
|
||||
byte[] postBytes = System.Text.Encoding.Default.GetBytes(json);
|
||||
#if UNITY_2022
|
||||
using (UnityWebRequest web = UnityWebRequest.PostWwwForm(url, "POST")) {
|
||||
#else
|
||||
using (UnityWebRequest web = UnityWebRequest.Post(url, "POST")) {
|
||||
#endif
|
||||
web.uploadHandler.Dispose();
|
||||
web.uploadHandler = new UploadHandlerRaw(postBytes);
|
||||
web.SetRequestHeader("Content-Type", "application/json");
|
||||
yield return web.SendWebRequest();
|
||||
RequestResultHandle(web);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf7743cdb35457b448a4b426a9c4a2af
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user