static float GatilhoVal(string esseGatilho, int numControlador) { float val = 0; Controlador c = (Controlador)numControlador; switch (c) { case Controlador.N3DS: val = N3dsAxis.GetAxis(esseGatilho); break; case Controlador.Android: if (ControladorDeJoystick.cj != null) { val = ControladorDeJoystick.cj.GetInputVal(esseGatilho); } break; default: esseGatilho = "joy " + numControlador + " " + esseGatilho; val = Input.GetAxisRaw(esseGatilho); break; } return(val); }
public static Vector3 VetorDirecao(int numControlador) { float h = 0; float v = 0; if (numControlador == (int)Controlador.N3DS) { if (!PressionadoBotao(4, numControlador)) { h = Mathf.Min(N3dsAxis.GetAxis("horizontal") + N3dsAxis.GetAxis("HDpad"), 1); v = Mathf.Min(N3dsAxis.GetAxis("vertical") + N3dsAxis.GetAxis("VDpad"), 1); } else { h = N3dsAxis.GetAxis("HDpad"); v = N3dsAxis.GetAxis("VDpad"); } } else { h = Mathf.Clamp(GetAxis("horizontal", numControlador), -1, 1); v = Mathf.Clamp(GetAxis("vertical", numControlador), -1, 1); } Vector3 forward = Vector3.ProjectOnPlane(Camera.main.transform.forward, Vector3.up);//new Vector3(1, 0, 0); /* * if (AplicadorDeCamera.cam != null) * if (AplicadorDeCamera.cam.Cdir != null) * forward = AplicadorDeCamera.cam.Cdir.DirecaoInduzida(h, v);*/ forward.y = 0; forward = forward.normalized; Vector3 right = new Vector3(forward.z, 0, -forward.x); //Debug.Log(forward + " : " + right + " :" + h + " : " + v); return(h * right + v * forward); }