コード例 #1
0
ファイル: VRPNInput.cs プロジェクト: vjsynth/UniCAVE
        /// <summary>
        /// Handles the startup
        /// </summary>
        private void Start()
        {
            if (Application.isPlaying)
            {
                if (trackerButtonList == null)
                {
                    trackerButtonList = this.GetComponent <TrackerButtonList>();
                }

                if (trackerButtonList == null)
                {
                    this.gameObject.AddComponent(typeof(TrackerButtonList));
                    trackerButtonList = this.GetComponent <TrackerButtonList>();
                }
                //Add a toolManager to the wandObject to shuffle between tools
                toolManager = new ToolManager(wandObject, this.gameObject, TopLevelUniCAVE, deadZone, rotationSpeed, movementSpeed, tool, negativeAnalogX, negativeAnalogY);
                //add state of each button
                foreach (TrackerButton btn in Enum.GetValues(typeof(TrackerButton)))
                {
                    buttonState.Add(btn, false);
                }

                //this gets rid of this object from non-head nodes...we only want this running on the machine that connects to VRPN...
                //this assumes a distributed type setup, where one machine connects to the tracking system and distributes information
                //to other machines...
                //some setups may try to connect each machine to vrpn...
                //in that case, we wouldn't want to destroy this object..
                //if (Util.GetMachineName() != master.masterMachineName) {
                //    Debug.Log("Removing tracker settings from " + Util.GetMachineName());
                //    Destroy(this);
                //    return;
                //}

                if (!isServer)
                {
                    Destroy(this);
                    return;
                }
#if !UNITY_EDITOR
                //Start the coroutines
                if (trackButton)
                {
                    StartCoroutine("Button");
                }

                if (trackAnalog)
                {
                    StartCoroutine("Analog");
                }
#endif
            }
        }
コード例 #2
0
 /// <summary>
 /// Handles the enabling of the editor. Gets the list currently.
 /// </summary>
 void OnEnable()
 {
     t         = (TrackerButtonList)target;
     GetTarget = new SerializedObject(t);
     ThisList  = GetTarget.FindProperty("list"); // Find the List in our script and create a refrence of it
 }