diff options
Diffstat (limited to 'Thronefall_v1.0/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs')
-rw-r--r-- | Thronefall_v1.0/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs b/Thronefall_v1.0/Rewired/Rewired.Demos/PressAnyButtonToJoinExample_GamePlayer.cs new file mode 100644 index 0000000..a0466ce --- /dev/null +++ b/Thronefall_v1.0/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); + } + } +} |