PHP(Laravel5)
Unity 2019.1.4f1 (64-bit)
WebAPIを使った通信とデータ扱い。
・UnityWebRequest
APIのリクエストするため
・JsonUtility
APIで取得したjsonを使うため
この二点を使う。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; public class Model { public int id; public int name; public int hp; string access_url = "https://hoge.com/api/v1"; [System.Serializable] public class Character { public int id; public string name; public int hp; } [System.Serializable] public class Characters { public Character[] characters; } public IEnumerator ApiRequest() { UnityWebRequest request = UnityWebRequest.Get(access_url); request.SetRequestHeader("Content-Type", "application/json"); yield return request.SendWebRequest(); Characters characters = JsonUtility.FromJson<Characters>("{\"characters\":" + request.downloadHandler.text + "}"); id = characterClass.characters[0].id; name = characterClass.characters[0].name; hp = characterClass.characters[0].hp; } }
読み込まれた時点で呼びだしてあげればいいかと思います。
後は好みでどうぞ
public void Start() { StartCoroutine(getModel()); } IEnumerator getModel() { characterModel = new CharacterModel(); yield return StartCoroutine(characterModel.ApiRequest()); // 以下表示させるなど }
特別なことはしてない
LaravelのModelを読んでreturnで返すだけです。
namespace App\Http\Controllers; use App\Models\Character; class ApiController extends Controller { public function index() { return Character::all(); } }
コメントがありません。