void AssetSupplier.SupplyAsset(AssetRequest assetRequest, AssetSupplyListener listener) { if (suppliers.Count > 0) { suppliers[0].SupplyAsset(assetRequest, new PrvtSupLis { clientListener = listener, suppliers = suppliers, assetRequest = assetRequest, integrantSupplier = this }); } else { listener.supplyTaker.OnFinish(); } }
void AssetSupplier.SupplyAsset(AssetRequest assetRequest, AssetSupplyListener listener) { Debug.Log("Begin fetching assets."); inteceptHelper.OnBeginSession(listener); var assetRequestJson = JsonUtility.ToJson(assetRequest); Debug.Log("Forward requst to Web.... " + assetRequestJson); WWWForm wwwForm = new WWWForm(); wwwForm.AddField("assetRequestInJson", assetRequestJson); UnityWebRequest www = UnityWebRequest.Post(serverURL, wwwForm); NetworkUtil.ProcessWebRequest(www, (givenWebReq) => { bool didSuccess = false; if (givenWebReq.isNetworkError || givenWebReq.isHttpError) { Debug.Log(givenWebReq.error); } else { Debug.Log(Encoding.UTF8.GetString(givenWebReq.downloadHandler.data)); var assetPick = RequiredFuncs.FromJson <AssetPick>(givenWebReq.downloadHandler.data); if (assetPick != null) { if (assetPick.units.Count > 0) { didSuccess = true; listener.supplyTaker.Take(assetPick); } } } if (!didSuccess) { listener.supplyTaker.None(); } inteceptHelper.OnEndSession(listener); } ); }
void AssetSupplier.SupplyAsset(AssetRequest assetRequest, AssetSupplyListener listener) { listener.supplyTaker.Take(assetPick); }