void Update() { Vector2 playerPosition = new Vector2(transform.position.x, transform.position.y); mAimDirection = new Vector2(Input.GetAxis("Player_" + GetComponent <ShellShock.Player>().PlayerNumber + "_RJoystickX"), Input.GetAxis("Player_" + GetComponent <ShellShock.Player>().PlayerNumber + "_RJoystickY")).normalized; //mReticle.gameObject.SetActive(false); if (mAimDirection != mPreviousAimDirection && mAimDirection.magnitude > 0) { //Get the angle in degrees between the aim direction and the up direction float angle = Vector2.Angle(mAimDirection, Vector2.up); //Gets the sign value for the degrees as Vector2.Angle will round 270 to 90 degrees //Then multiplies it by the angle so 20 degrees becomes -90 degrees float sinedAngle = Mathf.Sign(Vector3.Cross(mAimDirection, Vector3.up).z) * angle; //Calculates the numerator for the 8 sections. int spriteNumber = Mathf.RoundToInt(((sinedAngle <= -157.5f ? 180 : sinedAngle) + 180) / 45); mCorrectedAimDirection = new Vector2((Mathf.Sin(spriteNumber * 45 * Mathf.Deg2Rad)), (Mathf.Cos(spriteNumber * 45 * Mathf.Deg2Rad))) * Range; mReticle.transform.position = mDefaultPosition + playerPosition - (mCorrectedAimDirection) * 1.5f; //Debug.DrawLine (playerPosition, playerPosition + mAimDirection * Range); spriteManager.ChangeSprite(spriteNumber); // SpriteManager.instance.ChangeSprite(spriteNumber); mPreviousAimDirection = mAimDirection; } }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Keypad1)) { spriteManager.ChangeSprite(1); } if (Input.GetKeyDown(KeyCode.Keypad2)) { spriteManager.ChangeSprite(2); } if (Input.GetKeyDown(KeyCode.Keypad3)) { spriteManager.ChangeSprite(3); } if (Input.GetKeyDown(KeyCode.Keypad4)) { spriteManager.ChangeSprite(4); } if (Input.GetKeyDown(KeyCode.Keypad5)) { spriteManager.ChangeSprite(0); } if (Input.GetKeyDown(KeyCode.Keypad6)) { spriteManager.ChangeSprite(5); } if (Input.GetKeyDown(KeyCode.Keypad7)) { spriteManager.ChangeSprite(6); } if (Input.GetKeyDown(KeyCode.Keypad8)) { spriteManager.ChangeSprite(7); } if (Input.GetKeyDown(KeyCode.Keypad9)) { spriteManager.ChangeSprite(8); } }