public IEnumerator GenerateRandomEvent(EventType eventType, Action <Event> eventHandler) { #if !UNITY_EDITOR && UNITY_WEBGL using (var req = UnityWebRequest.Get(GET_RANDOM_EVENT_URL + $"?eventType={eventType.GetDirectoryName()}")) { yield return(req.SendWebRequest()); if (req.isNetworkError || req.isHttpError) { throw new Exception("HTTPリクエストエラー"); } GameObject gameObject = new GameObject("Event"); Event evt = gameObject.AddComponent <Event>(); evt.InitFromScriptText(req.downloadHandler.text); eventHandler(evt); } #else Debug.Log($"{Application.dataPath}/Datas/Events/{eventType.GetDirectoryName()}"); DirectoryInfo dir = new DirectoryInfo($"{Application.dataPath}/Datas/Events/{eventType.GetDirectoryName()}"); FileInfo[] files = dir.GetFiles("*.script"); int index = UnityEngine.Random.Range(0, files.Length); GameObject gameObject = new GameObject("Event"); Event evt = gameObject.AddComponent <Event>(); evt.Init(eventType, files[index].Name); eventHandler(evt); yield return(null); #endif }
public IEnumerator GenerateSpecificEvent(EventType eventType, string eventFileName, Action <Event> eventHandler) { #if !UNITY_EDITOR && UNITY_WEBGL Debug.Log("GenerateEvent"); var eventName = eventFileName.Split('.')[0]; using (var req = UnityWebRequest.Get(GET_EVENT_URL + $"?eventType={eventType.GetDirectoryName()}&eventName={eventName}")) { Debug.Log("Request start"); yield return(req.SendWebRequest()); Debug.Log("Request end"); if (req.isNetworkError || req.isHttpError) { throw new Exception("HTTPリクエストエラー"); } GameObject gameObject = new GameObject("Event"); Event evt = gameObject.AddComponent <Event>(); evt.InitFromScriptText(req.downloadHandler.text); eventHandler(evt); } #else GameObject gameObject = new GameObject("Event"); Event evt = gameObject.AddComponent <Event>(); evt.Init(eventType, eventFileName); eventHandler(evt); yield return(null); #endif }
private void ReadEvent(EventType eventType, string eventFileName) { this.ReadEvent($"{eventType.GetDirectoryName()}/{eventFileName}"); }