summaryrefslogtreecommitdiff
path: root/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-11-02 11:51:31 +0800
committerchai <215380520@qq.com>2023-11-02 11:51:31 +0800
commit7f493f682503f5186308de7b8f74b5b49233cfe4 (patch)
tree8a91e2056bc79788ee4735dce88b8d516ba12beb /Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs
+init
Diffstat (limited to 'Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs')
-rw-r--r--Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs67
1 files changed, 67 insertions, 0 deletions
diff --git a/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs b/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs
new file mode 100644
index 0000000..a0466ce
--- /dev/null
+++ b/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs
@@ -0,0 +1,67 @@
+using UnityEngine;
+
+namespace Rewired.Demos;
+
+[AddComponentMenu("")]
+[RequireComponent(typeof(CharacterController))]
+public class PressAnyButtonToJoinExample_GamePlayer : MonoBehaviour
+{
+ public int playerId;
+
+ public float moveSpeed = 3f;
+
+ public float bulletSpeed = 15f;
+
+ public GameObject bulletPrefab;
+
+ private CharacterController cc;
+
+ private Vector3 moveVector;
+
+ private bool fire;
+
+ private Player player
+ {
+ get
+ {
+ if (!ReInput.isReady)
+ {
+ return null;
+ }
+ return ReInput.players.GetPlayer(playerId);
+ }
+ }
+
+ private void OnEnable()
+ {
+ cc = GetComponent<CharacterController>();
+ }
+
+ private void Update()
+ {
+ if (ReInput.isReady && player != null)
+ {
+ GetInput();
+ ProcessInput();
+ }
+ }
+
+ private void GetInput()
+ {
+ moveVector.x = player.GetAxis("Move Horizontal");
+ moveVector.y = player.GetAxis("Move Vertical");
+ fire = player.GetButtonDown("Fire");
+ }
+
+ private void ProcessInput()
+ {
+ if (moveVector.x != 0f || moveVector.y != 0f)
+ {
+ cc.Move(moveVector * moveSpeed * Time.deltaTime);
+ }
+ if (fire)
+ {
+ Object.Instantiate(bulletPrefab, base.transform.position + base.transform.right, base.transform.rotation).GetComponent<Rigidbody>().AddForce(base.transform.right * bulletSpeed, ForceMode.VelocityChange);
+ }
+ }
+}