Files
defrain-shooter-unity/Assets/Scripts/Weapons/Shoot.cs
2021-11-06 15:42:57 +01:00

52 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mirror;
public class Shoot : NetworkBehaviour
{
[SerializeField] GameObject muzzle;
[SerializeField] ShootAnimation shootAnim;
[SerializeField] float fireRate;
private void Update()
{
if (isLocalPlayer)
{
if (Input.GetKeyDown(KeyCode.Mouse0))
{
//CmdFireBullet();
//RpcOnFire();
CmdFireBullet();
}
}
}
[Command]
// This code will be executed on the server.
private void CmdFireBullet()
{
GameObject dedplayer;
RaycastHit hit;
shootAnim.StartShootAnimation(60f/fireRate);
if (Physics.Raycast(muzzle.transform.position, muzzle.transform.forward, out hit))
{
if (hit.transform.gameObject.GetComponent<Player>() != null)
{
dedplayer = hit.transform.gameObject;
dedplayer.GetComponent<Player>().RemoveHealth(20);
}
}
}
[Client]
// This code will be executed on the Client.
void RpcOnFire()
{
}
}