Exemple #1
0
    public void SwitchControllers()
    {
        //get list of trackers
        List <ITracker> trackers = ControllerHandler.GetTrackers();

        ITracker newTracker = null;

        //find the first on after the current tracker
        int currentIndex = -1;

        for (int i = 0; i < trackers.Count; i++)
        {
            if (Controller.GetRealPositionTracker() == trackers[i])
            {
                currentIndex = i;
                break;
            }
        }

        newTracker = trackers[(currentIndex + 1) % trackers.Count];

        if (newTracker != null)
        {
            //show message
            MessageSystem.Line.Main.AddMessage(new MessageSystem.Message("" + Controller.name + " set to " + newTracker.name, 0.5f));
            //set new tracker
            Controller.SetRealPositionTracker(newTracker);
        }
    }
    public override void OnInspectorGUI()
    {
        WallWarningController controller = ((WallWarningController)serObj.targetObject);

        ITracker realTracker = EditorGUILayout.ObjectField("Real Tracker", controller.GetRealPositionTracker(), typeof(ITracker), true) as ITracker;

        if (realTracker != null && realTracker != controller.GetRealPositionTracker())
        {
            controller.SetRealPositionTracker(realTracker);
        }

        ITracker virtualTracker = EditorGUILayout.ObjectField("Virtual Tracker", controller.GetVirtualPositionTracker(), typeof(ITracker), true) as ITracker;

        if (virtualTracker != null && virtualTracker != controller.GetVirtualPositionTracker())
        {
            controller.SetVirtualPositionTracker(virtualTracker);
        }
    }