示例#1
0
    /// <summary>
    /// Creates Trackers and Transform displays automatically.
    /// </summary>
    private void ReadDisplayTrackerConfigs()
    {
        // For creating the trackers
        displayTrackerConfigs = new Dictionary <string, DisplayTrackerConfig>();

        // Go through the hierachy
        foreach (var platformJSON in platformJSONs)
        {
            // Check every display of the platform
            foreach (JSONNode displayJSON in platformJSON["displays"].AsArray)
            {
                JSONNode trackerJSON = displayJSON["tracker"];

                if (trackerJSON != null)
                {
                    string displayID = displayJSON["id"].Value.ToLower();
                    DisplayTrackerConfig displayTracker = null;

                    // Tracker needs to be updated
                    if (displayTrackerConfigs.ContainsKey(displayID))
                    {
                        displayTracker = displayTrackerConfigs[displayID];
                    }
                    else
                    {
                        // Need a new tracker
                        displayTracker = new DisplayTrackerConfig();
                        displayTrackerConfigs.Add(displayID, displayTracker);
                    }

                    displayTracker.ParseConfig(trackerJSON);
                }
            }
        }

        foreach (var displayConfig in PlatformConfig.current.displays)
        {
            displayTrackerConfigs[displayConfig.id].originalTransform = displayConfig.transform;

            // TODO: remove me
            if (displayConfig.type == DisplayType.OffAxis)
            {
                displayTrackerConfigs[displayConfig.id].originalUL = displayConfig.offAxisData.ul;
                displayTrackerConfigs[displayConfig.id].originalLL = displayConfig.offAxisData.ll;
                displayTrackerConfigs[displayConfig.id].originalLR = displayConfig.offAxisData.lr;
            }
        }
    }
示例#2
0
    // Loads the display trackers from the json
    private void ReadDisplayTrackerConfigs()
    {
        // For creating the trackers
        displayTrackerConfigs = new List <DisplayTrackerConfig>();

        // No need to continue if there are no display trackers
        if (!PlatformConfig.current.globals.ContainsKey("display_trackers"))
        {
            return;
        }

        foreach (var dictionary in (object[])PlatformConfig.current.globals["display_trackers"])
        {
            DisplayTrackerConfig config = new DisplayTrackerConfig();
            config.ParseConfig((Dictionary <string, object>)dictionary);
            displayTrackerConfigs.Add(config);
        }
    }