// Update is called once per frame void Update() { // fail safe if (_orderStack == null) { return; } bool isLeft = false; switch (_orderStack.GetStack(isLeft)) { case OrderType.Left: if (Input.GetButtonDown("left1") || ViveInput.GetDownLeft1()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Left Success"); } else if (Input.GetButtonDown("right1") || Input.GetButtonDown("up1") || Input.GetButtonDown("down1") || ViveInput.GetDownRight1() || ViveInput.GetDownUp1() || ViveInput.GetDownDown1()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Left Miss"); } break; case OrderType.Right: if (Input.GetButtonDown("right1") || ViveInput.GetDownRight1()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Right Success"); } else if (Input.GetButtonDown("left1") || Input.GetButtonDown("up1") || Input.GetButtonDown("down1") || ViveInput.GetDownLeft1() || ViveInput.GetDownUp1() || ViveInput.GetDownDown1()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Right Miss"); } break; case OrderType.Up: if (Input.GetButtonDown("up1") || ViveInput.GetDownUp1()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Up Success"); } else if (Input.GetButtonDown("left1") || Input.GetButtonDown("right1") || Input.GetButtonDown("down1") || ViveInput.GetDownLeft1() || ViveInput.GetDownRight1() || ViveInput.GetDownDown1()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Up Miss"); } break; case OrderType.Down: if (Input.GetButtonDown("down1") || ViveInput.GetDownDown1()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Down Success"); } else if (Input.GetButtonDown("left1") || Input.GetButtonDown("right1") || Input.GetButtonDown("up1") || ViveInput.GetDownLeft1() || ViveInput.GetDownRight1() || ViveInput.GetDownUp1()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Down Miss"); } break; } isLeft = true; switch (_orderStack.GetStack(isLeft)) { case OrderType.Left: if (Input.GetButtonDown("left2") || ViveInput.GetDownLeft2()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Left Success"); } else if (Input.GetButtonDown("right2") || Input.GetButtonDown("up2") || Input.GetButtonDown("down2") || ViveInput.GetDownUp2() || ViveInput.GetDownRight2() || ViveInput.GetDownDown2()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Left Miss"); } break; case OrderType.Right: if (Input.GetButtonDown("right2") || ViveInput.GetDownRight2()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Right Success"); } else if (Input.GetButtonDown("left2") || Input.GetButtonDown("up2") || Input.GetButtonDown("down2") || ViveInput.GetDownLeft2() || ViveInput.GetDownUp2() || ViveInput.GetDownDown2()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Right Miss"); } break; case OrderType.Up: if (Input.GetButtonDown("up2") || ViveInput.GetDownUp2()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Up Success"); } else if (Input.GetButtonDown("left2") || Input.GetButtonDown("right2") || Input.GetButtonDown("down2") || ViveInput.GetDownLeft2() || ViveInput.GetDownRight2() || ViveInput.GetDownDown2()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Up Miss"); } break; case OrderType.Down: if (Input.GetButtonDown("down2") || ViveInput.GetDownDown2()) { _orderStack.Remove(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Down Success"); } else if (Input.GetButtonDown("left2") || Input.GetButtonDown("right2") || Input.GetButtonDown("up2") || ViveInput.GetDownLeft2() || ViveInput.GetDownRight2() || ViveInput.GetDownDown2()) { MissEvent?.Invoke(isLeft); // Debug.Log((isLeft ? "L" : "R") + " | Down Miss"); } break; } }