Advertisement
Diamond32_Tutoriales

FPSShoot

Mar 9th, 2021
825
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.03 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using Photon.Pun;
  5. using UnityEngine.UI;
  6.  
  7. public class FPSShoot : MonoBehaviourPun
  8. {
  9.  
  10.     PhotonView pv;
  11.     public float PlayerDamage = 25f;
  12.     public float TotalLife = 100f;
  13.     public Camera cam;
  14.     public LayerMask mask;
  15.     public Image BarLife;
  16.  
  17.  
  18.      void Start()
  19.     {
  20.         pv = GetComponent<PhotonView>();
  21.  
  22.         if (pv.IsMine)
  23.         {
  24.             cam.enabled = true;
  25.         }
  26.         else
  27.         {
  28.             cam.enabled = false;
  29.         }
  30.     }
  31.  
  32.      void Update()
  33.     {
  34.         if (pv.IsMine) {
  35.             this.gameObject.tag = "Player";
  36.             this.gameObject.layer = 3;
  37.             BarLife.enabled = true;
  38.  
  39.             if (Input.GetKeyDown(KeyCode.Mouse0))
  40.             {
  41.                 //Shoot();
  42.                 //Invoke ("Shoot", 1f);
  43.  
  44.                 pv.RPC ("Shoot", RpcTarget.All);
  45.             }
  46.  
  47.             BarLife.fillAmount = TotalLife / 100f;
  48.         }
  49.         else
  50.         {
  51.             BarLife.enabled = false;
  52.             this.gameObject.tag = "Enemigo";
  53.             this.gameObject.layer = 6;
  54.         }
  55.  
  56.  
  57.         if (TotalLife <= 1f)
  58.         {
  59.          if (pv.IsMine)
  60.             {
  61.                 PhotonNetwork.Disconnect();
  62.             }
  63.         }
  64.     }
  65.  
  66.  
  67.     [PunRPC]
  68.     public void Shoot()
  69.     {
  70.         RaycastHit hit;
  71.  
  72.         if (Physics.Raycast (cam.transform.position, cam.transform.forward, out hit, 100f, mask))
  73.         {
  74.             if (hit.transform.gameObject.layer != 6)
  75.             {
  76.                 PhotonNetwork.Instantiate("Impact_FX", hit.point, Quaternion.LookRotation(hit.point));
  77.             }
  78.             else
  79.             {
  80.                 PhotonNetwork.Instantiate("Blood_FX", hit.point, Quaternion.LookRotation(hit.point));
  81.  
  82.                 hit.transform.GetComponent <PhotonView>().RPC ("damage", RpcTarget.All);
  83.             }
  84.         }
  85.     }
  86.  
  87.     [PunRPC]
  88.     public void damage()
  89.     {
  90.         TotalLife -= PlayerDamage;
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement