63 lines
1.6 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
|