using UnityEngine; using Mirror; using SanAndreasUnity.Utilities; namespace SanAndreasUnity.Behaviours.Weapons { public class NetworkedWeapon : NetworkBehaviour { [SyncVar] int m_net_modelId; [SyncVar] int m_net_ammoInClip; [SyncVar] int m_net_ammoOutsideOfClip; [SyncVar] GameObject m_net_pedOwnerGameObject; public int ModelId { get { return m_net_modelId; } set { m_net_modelId = value; } } public int AmmoInClip { get { return m_net_ammoInClip; } set { m_net_ammoInClip = value; } } public int AmmoOutsideOfClip { get { return m_net_ammoOutsideOfClip; } set { m_net_ammoOutsideOfClip = value; } } public Ped PedOwner { get { return m_net_pedOwnerGameObject != null ? m_net_pedOwnerGameObject.GetComponent() : null; } set { m_net_pedOwnerGameObject = value != null ? value.gameObject : null; } } public override void OnStartClient() { base.OnStartClient(); if (NetUtils.IsServer) return; // create weapon F.RunExceptionSafe( () => Weapon.OnWeaponCreatedByServer(this) ); } void Start() { } } }