BrawlStars3D/Assets/Scripts/Movement.cs
2023-12-22 14:41:12 +01:00

63 lines
1.6 KiB
C#

using Mirror;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : NetworkBehaviour
{
public GameObject player;
public Rigidbody m_Rigidbody;
public bool IsFlying = true;
public int m_strenght = 5;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
UseGravity();
if(isLocalPlayer) {
if(Input.GetKey(KeyCode.W)) {
m_Rigidbody.velocity = Vector3.forward * m_strenght;
}
if(Input.GetKey(KeyCode.S)) {
m_Rigidbody.velocity = Vector3.back * m_strenght;
}
if(Input.GetKey(KeyCode.A)) {
m_Rigidbody.velocity = Vector3.left * m_strenght;
}
if(Input.GetKey(KeyCode.D)) {
m_Rigidbody.velocity = Vector3.right * m_strenght;
}
if(Input.GetKeyDown(KeyCode.Space) && !IsFlying) {
m_Rigidbody.constraints = RigidbodyConstraints.None;
m_Rigidbody.velocity = new Vector3(0, 20, 0);
IsFlying = true;
}
}
}
public void UseGravity() {
if(player.transform.position.y == 1) {
m_Rigidbody.constraints = RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezeRotation;
IsFlying = false;
}
else {
m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotation;
}
}
}