Пример #1
0
        private void ClientRemote_OnWeaponInputStop(ICharacter whoFires)
        {
            if (whoFires == null ||
                !whoFires.IsInitialized)
            {
                return;
            }

            WeaponSystemClientDisplay.ClientOnWeaponInputStop(whoFires);
        }
Пример #2
0
        private static void SharedCallOnWeaponInputStop(WeaponState state, ICharacter character)
        {
            Api.Assert(state.IsEventWeaponStartSent, "Firing event must be set");
            state.IsEventWeaponStartSent = false;

            if (IsClient)
            {
                // finished firing weapon on Client-side
                WeaponSystemClientDisplay.ClientOnWeaponInputStop(character);
            }
            else // if this is Server
            {
                // notify other clients about finished firing weapon
                using var scopedBy = Shared.GetTempList <ICharacter>();
                Server.World.GetScopedByPlayers(character, scopedBy);
                Instance.CallClient(
                    scopedBy.AsList(),
                    _ => _.ClientRemote_OnWeaponInputStop(character));
            }
        }