void HandleIntEvent(object sender, LMWidgets.EventArg <int> e) { handId = e.CurrentValue; // Debug.Log ("GetHandById looking for hand of id " + handId); if (handId >= 0) { FoundState.Change(FOUND_STATE_FOUND); } // making the optimistic assumption that there is a hand of that ID In the scene and some other process found it. }
void OnHandLeave(object sender, LMWidgets.EventArg <HandTouchData> e) { if (HandContactState.state == HCS_HAS_HAND) { if (TargetHandId.IntValue == e.CurrentValue.ID) { TargetHandId.IntValue = -1; HandContactState.Change(HCS_NOHAND); } } }
void FrameEventHandler(object sender, LMWidgets.EventArg <FrameData> e) { if (e.CurrentValue.CurrentFrame.Hands.Count > 0) { handCountState.Change(JAX_HANDS); } else { handCountState.Change(JAX_NO_HANDS); } }
// Use this for initialization void Start() { FoundState = StateList.Init(FOUND_STATE_NAME, FOUND_STATE_NO_ID, FOUND_STATE_NOT_FOUND, FOUND_STATE_FOUND, FOUND_STATE_HAND_INVALID); FoundState.Change(!NoHandId ? FOUND_STATE_NOT_FOUND : FOUND_STATE_NO_ID); if (handIdInput) { handIdInput.IntEvent += HandleIntEvent; } FoundState.StateChangedEvent += HandleStateChangedEvent; }
public void InitArmHUDState() { // handController = GameObject.FindObjectOfType<HandController> () as HandController; // LookAtTarget = GameObject.Find ("OVRCameraRig") as GameObject; if (!StateList.HasList(STATE_NAME_ARMHUD)) { InitArmHUDStateList(); } ArmHUDState = new State(STATE_NAME_ARMHUD); ArmHUDState.StateChangedEvent += OnArmHUDStateChange; ArmHUDState.Change(ARMHUDSTATE_NOLEFTHAND); }
// Use this for initialization #region loop void Start() { if (!TouchTracker) { TouchTracker = GetComponent <HandTouchTracker> (); } TouchTracker.HandleEnter += OnHandEnter; TouchTracker.HandleLeave += OnHandLeave; HandContactState = StateList.Init("TouchMap HandContactState", HCS_HAS_HAND, HCS_NOHAND); HandContactState.Change(HCS_NOHAND); HandContactState.StateChangedEvent += HandleHandContactStateChangedEvent; TouchingHand.HandEvent += HandleHandEvent; CursorFirstPosition = Cursor.transform.position; handlerSet = TryCPF(); }
public void InitArmHUDState() { // handController = GameObject.FindObjectOfType<HandController> () as HandController; // LookAtTarget = GameObject.Find ("OVRCameraRig") as GameObject; if (!StateList.HasList (STATE_NAME_ARMHUD)) InitArmHUDStateList (); ArmHUDState = new State (STATE_NAME_ARMHUD); ArmHUDState.StateChangedEvent += OnArmHUDStateChange; ArmHUDState.Change (ARMHUDSTATE_NOLEFTHAND); }
// Use this for initialization void Start() { FoundState = StateList.Init (FOUND_STATE_NAME, FOUND_STATE_NO_ID, FOUND_STATE_NOT_FOUND, FOUND_STATE_FOUND, FOUND_STATE_HAND_INVALID); FoundState.Change (!NoHandId ? FOUND_STATE_NOT_FOUND : FOUND_STATE_NO_ID); if (handIdInput) handIdInput.IntEvent += HandleIntEvent; FoundState.StateChangedEvent += HandleStateChangedEvent; }
void Start() { if (!TouchTracker) TouchTracker = GetComponent<HandTouchTracker> (); TouchTracker.HandleEnter += OnHandEnter; TouchTracker.HandleLeave += OnHandLeave; HandContactState = StateList.Init ("TouchMap HandContactState", HCS_HAS_HAND, HCS_NOHAND); HandContactState.Change (HCS_NOHAND); HandContactState.StateChangedEvent += HandleHandContactStateChangedEvent; TouchingHand.HandEvent += HandleHandEvent; CursorFirstPosition = Cursor.transform.position; handlerSet = TryCPF (); }
// Update is called once per frame void Update() { HandModel model0; HandModel model1; bool wasAligned = false; if (handController.GetAllGraphicsHands().Length == 1) { model0 = handController.GetAllGraphicsHands()[0]; if (model0.GetLeapHand().IsLeft == true) { AlignArmHUD(model0); wasAligned = true; } else if (ArmHUDState.state == ARMHUDSTATE_PANELVISIBLE) { } else { if (ArmHUDisOpen == true) { ArmHUDState.Change(ARMHUDSTATE_DROPPED); } } } else if (handController.GetAllGraphicsHands().Length > 1) { // FIXME: This should either persist based on ID // or should require a single left hand. model0 = handController.GetAllGraphicsHands()[0]; model1 = handController.GetAllGraphicsHands()[1]; if (model0.GetLeapHand().IsLeft&& model1.GetLeapHand().IsRight) { AlignArmHUD(model0); wasAligned = true; } else if (model0.GetLeapHand().IsRight&& model1.GetLeapHand().IsLeft) { AlignArmHUD(model1); wasAligned = true; } else { if (ArmHUDisOpen == true) { ArmHUDState.Change(ARMHUDSTATE_DROPPED); } } } else { if (ArmHUDisOpen == true) { ArmHUDState.Change(ARMHUDSTATE_DROPPED); } } if (ArmHUDState.state == ARMHUDSTATE_PANELVISIBLE) { UpdateArmHUDGUIvalues(); } if (!wasAligned) { targetHandID = -1; } }