public pullSnapshotDataResponse pullSnapshotData(pullSnapshotDataRequest request) { DataManager dataManager = new DataManager(); pullSnapshotDataResponse response = null; MessageContainer msg = dataManager.GetData(); if (msg != null) { response = new pullSnapshotDataResponse(); msg.exchangeInformation.exchangeContext.supplierOrCisRequester.internationalIdentifier.nationalIdentifier = "DEMO"; msg.exchangeInformation.exchangeContext.supplierOrCisRequester.internationalIdentifier.country = "SE"; msg.exchangeInformation.dynamicInformation.messageGenerationTimestamp = DateTime.UtcNow; response.pullSnapshotDataOutput = msg; } else { #region Return fail message response = new pullSnapshotDataResponse(); response.pullSnapshotDataOutput = new MessageContainer(); response.pullSnapshotDataOutput.modelBaseVersion = "3"; ExchangeInformation exchangeInfo = new ExchangeInformation(); ExchangeContext exchangeContext = new ExchangeContext(); exchangeContext.codedExchangeProtocol = new _ProtocolTypeEnum() { Value = ProtocolTypeEnum.snapshotPull }; exchangeContext.exchangeSpecificationVersion = "3"; Agent agent = new Agent(); InternationalIdentifier identifier = new InternationalIdentifier { nationalIdentifier = "DEMO", country = "SE" }; agent.internationalIdentifier = identifier; exchangeContext.supplierOrCisRequester = agent; exchangeInfo.exchangeContext = exchangeContext; DynamicInformation dynamicInformation = new DynamicInformation(); _ExchangeStatusEnum exchangeStatusEnum = new _ExchangeStatusEnum { Value = ExchangeStatusEnum.undefined }; dynamicInformation.messageGenerationTimestamp = DateTime.UtcNow; dynamicInformation.exchangeStatus = exchangeStatusEnum; exchangeInfo.dynamicInformation = dynamicInformation; dynamicInformation.returnInformation = new ReturnInformation(); dynamicInformation.returnInformation.returnStatus = new _ExchangeReturnEnum(); dynamicInformation.returnInformation.returnStatus.Value = ExchangeReturnEnum.fail; #endregion } return(response); }
public TerrainChunk(Vector2 coord, int size, LODinfo[] detailLevels, Transform parent, Material mat, DynamicInformation _dynamicInfo) { this.detailLevels = detailLevels; position = coord * size; bounds = new Bounds(position, Vector2.one * size); Vector3 postionV3 = new Vector3(position.x, 0, position.y); meshObject = new GameObject("Ocean Chunk"); meshRenderer = meshObject.AddComponent <MeshRenderer>(); meshFilter = meshObject.AddComponent <MeshFilter>(); meshCollider = meshObject.AddComponent <MeshCollider>(); dynamicApply = meshObject.AddComponent <DynamicApplyShader>(); //dynamicApply.mat = _dynamicInfo.mat; dynamicApply.updateInterval = _dynamicInfo.updateInterval; dynamicApply.IntialTexture = _dynamicInfo.intialTexture; paint = meshObject.AddComponent <PaintTest>(); meshObject.transform.position = postionV3; meshObject.transform.parent = parent; meshObject.GetComponent <MeshRenderer>().material = mat; SetVisable(false); lodMeshes = new LODMesh[detailLevels.Length]; for (int i = 0; i < detailLevels.Length; i++) { lodMeshes[i] = new LODMesh(detailLevels[i].lod, UpdateTerrainChunk); } mapGenerator.RequestMapData(position, OnMapDataRecieved); }