コード例 #1
0
ファイル: CloudAPI.cs プロジェクト: zdavid112z/TempTool
 public IEnumerator GetFileParameter(string fileId, FileParameterInfo parameterData,
                                     Action <FileParameterDataBin, long> onSuccess, Action <ErrorDetails> onError)
 {
     return(WebRequest(
                RequestType.kGET,
                $"{baseURI}/files/{fileId}/{parameterData.name}",
                (byte[] body, long responseCode) => {
         FileParameterData data =
             JsonUtility.FromJson <FileParameterData>(
                 Encoding.UTF8.GetString(body));
         byte[] bytesDataCompressed = Convert.FromBase64String(data.data);
         byte[] bytesData = Compression.Inflate(bytesDataCompressed);
         onSuccess(
             DataConverter.FromBytes(bytesData, parameterData),
             responseCode);
     },
                onError));
 }
コード例 #2
0
ファイル: DummyCloudAPI.cs プロジェクト: zdavid112z/TempTool
        private FileParameterDataBin GenerateRandomMatrix(FileParameterInfo param)
        {
            var random = new System.Random(param.GetHashCode());
            int count  = param.num_dates * param.num_layers * param.height * param.width;

            float[] result = new float[count];
            for (int i = 0; i < count; i++)
            {
                result[i] = (float)random.NextDouble();
            }

            var r = new FileParameterDataBin()
            {
                data = result,
                info = param
            };

            r.UpdateMinMax();
            return(r);
        }
コード例 #3
0
        public static FileParameterDataBin FromBytes(byte[] data, FileParameterInfo info)
        {
            int count = info.num_dates * info.num_layers * info.width * info.height;

            if (data.Length != sizeof(float) * count)
            {
                return(null);
            }

            float[] buffer = new float[count];
            Buffer.BlockCopy(data, 0, buffer, 0, data.Length);
            var result = new FileParameterDataBin()
            {
                data = buffer,
                info = info
            };

            result.UpdateMinMax();
            return(result);
        }
コード例 #4
0
ファイル: DummyCloudAPI.cs プロジェクト: zdavid112z/TempTool
        public IEnumerator GetFileParameter(string fileId, FileParameterInfo parameterData, Action <FileParameterDataBin, long> onSuccess, Action <ErrorDetails> onError)
        {
            yield return(new WaitForSeconds(waitDelay));

            if (forcedError != null)
            {
                onError(forcedError);
                yield break;
            }

            var info = files.Find((FileInfoDetailed f) => { return(f.id == fileId); });

            if (info != null)
            {
                var param = info.parameters.ToList().Find((FileParameterInfo p) => { return(p.name == parameterData.name); });
                if (param != null)
                {
                    onSuccess(GenerateRandomMatrix(parameterData), 200);
                    yield break;
                }
            }
            onError(GenProtocolErrorDetails(404));
        }