示例#1
0
    void BeginModelDownload(FutureResult futureResult, string meshUri, string mtlUri, string textureUri)
    {
        _backendManager.DownloadFile(meshUri, (BackendRequestResult result, string filePath) =>
        {
            if (result.Success)
            {
                _mapModelMeshPath = filePath;
                futureResult.CompletedActions.Add("GetMesh");
            }
            else
            {
                if (!futureResult.Completed)
                {
                    futureResult.Completed = true;
                    futureResult.Success   = false;
                    futureResult.FailureReasons.Add("Failed to Download Mesh File: " + result.ErrorString);
                }
            }
        });

        _backendManager.DownloadFile(mtlUri, (BackendRequestResult result, string filePath) =>
        {
            if (result.Success)
            {
                _mapModelMtlPath = filePath;
                futureResult.CompletedActions.Add("GetMtl");
            }
            else
            {
                if (!futureResult.Completed)
                {
                    futureResult.Completed = true;
                    futureResult.Success   = false;
                    futureResult.FailureReasons.Add("Failed to Download Mtl File: " + result.ErrorString);
                }
            }
        });

        _backendManager.DownloadFile(textureUri, (BackendRequestResult result, string filePath) =>
        {
            if (result.Success)
            {
                _mapModelTexturePath = filePath;
                futureResult.CompletedActions.Add("GetTexture");
            }
            else
            {
                if (!futureResult.Completed)
                {
                    futureResult.Completed = true;
                    futureResult.Success   = false;
                    futureResult.FailureReasons.Add("Failed to Download Texture File: " + result.ErrorString);
                }
            }
        });
    }