private void ClientRemote_OnWeaponStart(ICharacter whoFires) { if (whoFires == null || !whoFires.IsInitialized) { return; } WeaponSystemClientDisplay.OnWeaponStart(whoFires); }
private static void SharedCallOnWeaponStart(WeaponState state, ICharacter character) { Api.Assert(!state.IsEventWeaponStartSent, "Firing event must be not set"); state.IsEventWeaponStartSent = true; if (IsClient) { // start firing weapon on Client-side WeaponSystemClientDisplay.OnWeaponStart(character); } else // if IsServer { using var scopedBy = Api.Shared.GetTempList <ICharacter>(); Server.World.GetScopedByPlayers(character, scopedBy); Instance.CallClient(scopedBy, _ => _.ClientRemote_OnWeaponStart(character)); } }
private void ClientRemote_OnWeaponStart(ICharacter whoFires) { WeaponSystemClientDisplay.OnWeaponStart(whoFires); }