using UnityEngine;using System.Collections;public class Test : MonoBehaviour { // Use this for initialization IEnumerator Start () { //for Lambda StartCoroutine(ReturnValue( (x) => { Debug.Log(x); } )); //for local value int a = 0; yield return StartCoroutine(ReturnValue( (x) => { a = x; } )); Debug.Log(a); } IEnumerator ReturnValue(System.Action<int> callback) { yield return null; callback(10); }}*네트워크에 위의 개념을 사용
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class ConnectServer : MonoBehaviour {
string url;
private MusicInfo musicInfo;
void Start() {
quiz_1(0,0);
}
void quiz_1(int genre, int order) {
WWWForm form = new WWWForm();
form.AddField("genre", "0");
form.AddField("order", "0");
//코루틴으로 서버에 접속하고 완료 시, 콜백으로 받아온다
StartCoroutine(postToServer(form, "/quiz_1", (www) => {
musicInfo = JsonUtility.FromJson<MusicInfo>(www.downloadHandler.text);
Debug.Log("콜백: " + musicInfo.title);
}
));
}
//서버로 데이터를 post하는 코루틴
IEnumerator postToServer(WWWForm form, string path, Action<UnityWebRequest> callback) {
UnityWebRequest www = UnityWebRequest.Post(GlobalScript.serverPath + path, form);
yield return www.SendWebRequest();
if(www.isNetworkError || www.isHttpError) {
Debug.Log("[Error]:" + www.error);
}else {
Debug.Log("Form upload complete!");
}
callback(www);
}
}
'Unity' 카테고리의 다른 글
| 음악 중간부터 재생 (0) | 2019.04.28 |
|---|---|
| UI Image의 크기조정 (0) | 2018.10.29 |
| 서버로 Post 보내기 (0) | 2018.10.27 |
| 텍스트 타이핑 효과 (0) | 2018.10.21 |
| 자식객체 검색 (0) | 2018.10.16 |