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);
        }
Esempio n. 2
0
        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);
        }