示例#1
0
 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();
     }
 }
示例#2
0
        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);
            }
                                          );
        }
示例#3
0
 void AssetSupplier.SupplyAsset(AssetRequest assetRequest, AssetSupplyListener listener)
 {
     listener.supplyTaker.Take(assetPick);
 }