public void TrackObjectPosition(TelemetryDataType type) { if (dataTrackerEnabled.Value) { DataTrackingGrid dataSet = dataContainer.GetDataGrid(type); Vector3 position = transform.position; int xData = (int)((transform.position.x - gridPosition.Value.transform.position.x) + dataSet.gridProperties.gridGranularity * 0.5f / dataSet.gridProperties.gridGranularity); int zData = (int)((transform.position.z - gridPosition.Value.transform.position.z) + dataSet.gridProperties.gridGranularity * 0.5f / dataSet.gridProperties.gridGranularity); if (dataSet.InsideBounds(xData, zData)) { dataSet.gridData[zData, xData] += dataSet.gridProperties.dataAddStep; if (dataSet.gridData[zData, xData] > dataSet.maxValStored) { dataSet.maxValStored = dataSet.gridData[zData, xData]; } } } }
static void SerializeData(MenuCommand command) { string telemetryFolder = "/TelemetryData"; GridVisualizer visualizer = (GridVisualizer)command.context; string file = visualizer.fileToLoad.Trim(); if (string.IsNullOrEmpty(file)) { Debug.LogWarning("File field is empty"); } else { string json = File.ReadAllText(Application.dataPath + telemetryFolder + "/" + file); Payload payload = JsonUtility.FromJson <Payload>(json); // Loads the grid properties visualizer.gridProperties.gridSizeX = payload.gridOptions.gridSizeX; visualizer.gridProperties.gridSizeZ = payload.gridOptions.gridSizeZ; visualizer.gridProperties.maxCubeHeight = payload.gridOptions.maxCubeHeight; visualizer.gridProperties.cubeYPosition = payload.gridOptions.cubeYPosition; visualizer.gridProperties.gridGranularity = payload.gridOptions.gridGranularity; visualizer.gridProperties.dataAddStep = payload.gridOptions.dataAddStep; visualizer.dataTrackerEnabled.Value = false; foreach (GCPPositionDataEntity entity in payload.gridData) { for (int i = 0; i < visualizer.dataContainer.dataTrackingGrids.Length; i++) { if (visualizer.dataContainer.dataTrackingGrids[i].dataType.ToString() == entity.name) { // Insert the data here! DataTrackingGrid grid = visualizer.dataContainer.dataTrackingGrids[i]; grid.maxValStored = entity.data.maxValStored; grid.dataCells = entity.data.gridData; } } } } }