void Start() { _instance = this; temp = new UIItemsMatrix(); // Debug.Log ("Start"); // (temp.itemMatrix [0] as RowItems<UIButton>).items [1].state = UIButtonColor.State.Hover; temp.LightItem(UIItemsState.Hover); TargetCamera = GameObject.Find("FPSController/Main Camera").transform; // Debug.Log (HighestAngle + " " + LowestAngle); }
void Update() { preState = state; state = GamePad.GetState(playerIndex); if (!playerIndexSet || !preState.IsConnected) { for (int i = 0; i < 4; ++i) { PlayerIndex testPlayerIndex = (PlayerIndex)i; GamePadState testState = GamePad.GetState(testPlayerIndex); if (testState.IsConnected) { Debug.Log(string.Format("GamePad found {0}", testPlayerIndex)); playerIndex = testPlayerIndex; playerIndexSet = true; } } } if (!ShowMainPanel) { if ((preState.DPad.Up == ButtonState.Released && state.DPad.Up == ButtonState.Pressed) || Input.GetKeyDown(KeyCode.I)) { temp.Up(); // Debug.Log("Up"); } if ((preState.DPad.Down == ButtonState.Released && state.DPad.Down == ButtonState.Pressed) || Input.GetKeyDown(KeyCode.K)) { temp.Down(); // Debug.Log("Down"); } if ((preState.DPad.Left == ButtonState.Released && state.DPad.Left == ButtonState.Pressed) || Input.GetKeyDown(KeyCode.J)) { temp.Left(); // Debug.Log("Left"); } if ((preState.DPad.Right == ButtonState.Released && state.DPad.Right == ButtonState.Pressed) || Input.GetKeyDown(KeyCode.L)) { temp.Right(); // Debug.Log("Right"); } if ((preState.Buttons.A == ButtonState.Released && state.Buttons.A == ButtonState.Pressed) || Input.GetMouseButtonDown(0)) { temp.LightItem(UIItemsState.Pressed); if (temp.itemMatrix [temp.x] is RowItems <UIButton> ) { RowItems <UIButton> button = temp.itemMatrix [temp.x] as RowItems <UIButton>; // Debug.Log(temp.x + " " + temp.ob.y); button.items [button.y].gameObject.GetComponent <MyUIEventIndex> ().Invoke(); } } if ((preState.Buttons.A == ButtonState.Pressed && state.Buttons.A == ButtonState.Released) || Input.GetMouseButtonUp(0)) { if (Time.frameCount > 1) { temp.LightItem(UIItemsState.Hover); } } } if ((preState.Buttons.Y == ButtonState.Released && state.Buttons.Y == ButtonState.Pressed) || Input.GetKeyDown(KeyCode.Y)) { if (Time.frameCount > 1) { if (ShowMainPanel) { ShowMainPanel = !ShowMainPanel; MainPanel.PlayForward(); //MainPanelTwist.enabled = false; } else { ShowMainPanel = !ShowMainPanel; MainPanel.PlayReverse(); //MainPanelTwist.enabled = true; } } } if (!VRDevice.isPresent) { if (state.ThumbSticks.Right.X != 0 || state.ThumbSticks.Right.Y != 0) { if (TargetCamera != null) { if ((TargetCamera.localEulerAngles.x > HighestAngle || TargetCamera.localEulerAngles.x < LowestAngle) || (TargetCamera.eulerAngles.x < HighestAngle && state.ThumbSticks.Right.Y < 0 && TargetCamera.eulerAngles.x > HighestAngle - 10) || (TargetCamera.eulerAngles.x > LowestAngle && state.ThumbSticks.Right.Y > 0 && TargetCamera.eulerAngles.x < LowestAngle + 10)) { TargetCamera.Rotate(Vector3.right, -state.ThumbSticks.Right.Y * YSencitive * Time.deltaTime); } TargetCamera.parent.Rotate(Vector3.up, state.ThumbSticks.Right.X * XSencitive * Time.deltaTime); TargetCamera.rotation = Quaternion.Euler(new Vector3(TargetCamera.eulerAngles.x, TargetCamera.eulerAngles.y, 0)); } else { Debug.Log("TargetCamera is null, please check."); } } } }