示例#1
0
    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];
                }
            }
        }
    }
示例#2
0
    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;
                    }
                }
            }
        }
    }