Show / Hide Table of Contents

Class SharedGunSystem

Inheritance
System.Object
SharedGunSystem
GunSystem
GunSystem
Namespace: Content.Shared.Weapons.Ranged.Systems
Assembly: Content.Shared.dll
Syntax
public abstract class SharedGunSystem : EntitySystem

Fields

| Improve this Doc View Source

Actions

Declaration
protected readonly SharedActionsSystem Actions
Field Value
Type Description
SharedActionsSystem
| Improve this Doc View Source

AmmoExamineColor

Declaration
protected const string AmmoExamineColor = null
Field Value
Type Description
System.String
| Improve this Doc View Source

Appearance

Declaration
protected readonly SharedAppearanceSystem Appearance
Field Value
Type Description
SharedAppearanceSystem
| Improve this Doc View Source

Audio

Declaration
protected readonly SharedAudioSystem Audio
Field Value
Type Description
SharedAudioSystem
| Improve this Doc View Source

ChamberSlot

Declaration
protected const string ChamberSlot = null
Field Value
Type Description
System.String
| Improve this Doc View Source

Containers

Declaration
protected readonly SharedContainerSystem Containers
Field Value
Type Description
Robust.Shared.Containers.SharedContainerSystem
| Improve this Doc View Source

Damageable

Declaration
protected readonly DamageableSystem Damageable
Field Value
Type Description
DamageableSystem
| Improve this Doc View Source

Examine

Declaration
protected readonly ExamineSystemShared Examine
Field Value
Type Description
ExamineSystemShared
| Improve this Doc View Source

FireRateExamineColor

Declaration
protected const string FireRateExamineColor = null
Field Value
Type Description
System.String
| Improve this Doc View Source

Lights

Declaration
protected readonly SharedPointLightSystem Lights
Field Value
Type Description
SharedPointLightSystem
| Improve this Doc View Source

Logs

Declaration
protected readonly ISharedAdminLogManager Logs
Field Value
Type Description
ISharedAdminLogManager
| Improve this Doc View Source

MagazineSlot

Declaration
protected const string MagazineSlot = null
Field Value
Type Description
System.String
| Improve this Doc View Source

MapManager

Declaration
protected readonly IMapManager MapManager
Field Value
Type Description
Robust.Shared.Map.IMapManager
| Improve this Doc View Source

ModeExamineColor

Declaration
protected const string ModeExamineColor = null
Field Value
Type Description
System.String
| Improve this Doc View Source

Physics

Declaration
protected readonly SharedPhysicsSystem Physics
Field Value
Type Description
Robust.Shared.Physics.Systems.SharedPhysicsSystem
| Improve this Doc View Source

PopupSystem

Declaration
protected readonly SharedPopupSystem PopupSystem
Field Value
Type Description
SharedPopupSystem
| Improve this Doc View Source

Projectiles

Declaration
protected readonly SharedProjectileSystem Projectiles
Field Value
Type Description
SharedProjectileSystem
| Improve this Doc View Source

ProtoManager

Declaration
protected readonly IPrototypeManager ProtoManager
Field Value
Type Description
Robust.Shared.Prototypes.IPrototypeManager
| Improve this Doc View Source

Random

Declaration
protected readonly IRobustRandom Random
Field Value
Type Description
Robust.Shared.Random.IRobustRandom
| Improve this Doc View Source

RevolverContainer

Declaration
protected const string RevolverContainer = null
Field Value
Type Description
System.String
| Improve this Doc View Source

TagSystem

Declaration
protected readonly TagSystem TagSystem
Field Value
Type Description
TagSystem
| Improve this Doc View Source

ThrowingSystem

Declaration
protected readonly ThrowingSystem ThrowingSystem
Field Value
Type Description
ThrowingSystem
| Improve this Doc View Source

Timing

Declaration
protected readonly IGameTiming Timing
Field Value
Type Description
Robust.Shared.Timing.IGameTiming
| Improve this Doc View Source

TransformSystem

Declaration
protected readonly SharedTransformSystem TransformSystem
Field Value
Type Description
SharedTransformSystem

Methods

| Improve this Doc View Source

AttemptShoot(EntityUid, EntityUid, GunComponent, EntityCoordinates)

Attempts to shoot at the target coordinates. Resets the shot counter after every shot.

Declaration
public void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun, EntityCoordinates toCoordinates)
Parameters
Type Name Description
EntityUid user
EntityUid gunUid
GunComponent gun
Robust.Shared.Map.EntityCoordinates toCoordinates
| Improve this Doc View Source

CanShoot(GunComponent)

Declaration
public bool CanShoot(GunComponent component)
Parameters
Type Name Description
GunComponent component
Returns
Type Description
System.Boolean
| Improve this Doc View Source

CauseImpulse(EntityCoordinates, EntityCoordinates, EntityUid, PhysicsComponent)

Declaration
public void CauseImpulse(EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, EntityUid user, PhysicsComponent userPhysics)
Parameters
Type Name Description
Robust.Shared.Map.EntityCoordinates fromCoordinates
Robust.Shared.Map.EntityCoordinates toCoordinates
EntityUid user
Robust.Shared.Physics.Components.PhysicsComponent userPhysics
| Improve this Doc View Source

CreateEffect(EntityUid, MuzzleFlashEvent, Nullable<EntityUid>)

Declaration
protected abstract void CreateEffect(EntityUid uid, MuzzleFlashEvent message, EntityUid? user = null)
Parameters
Type Name Description
EntityUid uid
MuzzleFlashEvent message
System.Nullable<EntityUid> user
| Improve this Doc View Source

Cycle(EntityUid, BallisticAmmoProviderComponent, MapCoordinates)

Declaration
protected abstract void Cycle(EntityUid uid, BallisticAmmoProviderComponent component, MapCoordinates coordinates)
Parameters
Type Name Description
EntityUid uid
BallisticAmmoProviderComponent component
Robust.Shared.Map.MapCoordinates coordinates
| Improve this Doc View Source

EjectCartridge(EntityUid, Nullable<Angle>, Boolean)

Drops a single cartridge / shell

Declaration
protected void EjectCartridge(EntityUid entity, Angle? angle = null, bool playSound = true)
Parameters
Type Name Description
EntityUid entity
System.Nullable<Angle> angle
System.Boolean playSound
| Improve this Doc View Source

EmptyRevolver(EntityUid, RevolverAmmoProviderComponent, Nullable<EntityUid>)

Declaration
public void EmptyRevolver(EntityUid revolverUid, RevolverAmmoProviderComponent component, EntityUid? user = null)
Parameters
Type Name Description
EntityUid revolverUid
RevolverAmmoProviderComponent component
System.Nullable<EntityUid> user
| Improve this Doc View Source

EnsureShootable(EntityUid)

Declaration
protected IShootable EnsureShootable(EntityUid uid)
Parameters
Type Name Description
EntityUid uid
Returns
Type Description
IShootable
| Improve this Doc View Source

GetBallisticShots(BallisticAmmoProviderComponent)

Declaration
protected int GetBallisticShots(BallisticAmmoProviderComponent component)
Parameters
Type Name Description
BallisticAmmoProviderComponent component
Returns
Type Description
System.Int32
| Improve this Doc View Source

GetChamberEntity(EntityUid)

Declaration
protected EntityUid? GetChamberEntity(EntityUid uid)
Parameters
Type Name Description
EntityUid uid
Returns
Type Description
System.Nullable<EntityUid>
| Improve this Doc View Source

GetChamberMagazineCountCapacity(EntityUid, ChamberMagazineAmmoProviderComponent)

Declaration
protected (int, int) GetChamberMagazineCountCapacity(EntityUid uid, ChamberMagazineAmmoProviderComponent component)
Parameters
Type Name Description
EntityUid uid
ChamberMagazineAmmoProviderComponent component
Returns
Type Description
System.ValueTuple<System.Int32, System.Int32>
| Improve this Doc View Source

GetMagazineCountCapacity(EntityUid, MagazineAmmoProviderComponent)

Declaration
protected (int, int) GetMagazineCountCapacity(EntityUid uid, MagazineAmmoProviderComponent component)
Parameters
Type Name Description
EntityUid uid
MagazineAmmoProviderComponent component
Returns
Type Description
System.ValueTuple<System.Int32, System.Int32>
| Improve this Doc View Source

GetMagazineEntity(EntityUid)

Declaration
protected EntityUid? GetMagazineEntity(EntityUid uid)
Parameters
Type Name Description
EntityUid uid
Returns
Type Description
System.Nullable<EntityUid>
| Improve this Doc View Source

GetSolutionShot(EntityUid, SolutionAmmoProviderComponent, EntityCoordinates)

Declaration
protected virtual (EntityUid Entity, IShootable) GetSolutionShot(EntityUid uid, SolutionAmmoProviderComponent component, EntityCoordinates position)
Parameters
Type Name Description
EntityUid uid
SolutionAmmoProviderComponent component
Robust.Shared.Map.EntityCoordinates position
Returns
Type Description
System.ValueTuple<EntityUid, IShootable>
| Improve this Doc View Source

Initialize()

Declaration
public override void Initialize()
| Improve this Doc View Source

InitializeBallistic()

Declaration
protected virtual void InitializeBallistic()
| Improve this Doc View Source

InitializeBasicEntity()

Declaration
protected virtual void InitializeBasicEntity()
| Improve this Doc View Source

InitializeBattery()

Declaration
protected virtual void InitializeBattery()
| Improve this Doc View Source

InitializeCartridge()

Declaration
protected virtual void InitializeCartridge()
| Improve this Doc View Source

InitializeChamberMagazine()

Declaration
protected virtual void InitializeChamberMagazine()
| Improve this Doc View Source

InitializeMagazine()

Declaration
protected virtual void InitializeMagazine()
| Improve this Doc View Source

InitializeRevolver()

Declaration
protected virtual void InitializeRevolver()
| Improve this Doc View Source

InitializeSolution()

Declaration
protected virtual void InitializeSolution()
| Improve this Doc View Source

MuzzleFlash(EntityUid, AmmoComponent, Nullable<EntityUid>)

Declaration
protected void MuzzleFlash(EntityUid gun, AmmoComponent component, EntityUid? user = null)
Parameters
Type Name Description
EntityUid gun
AmmoComponent component
System.Nullable<EntityUid> user
| Improve this Doc View Source

OnMagazineSlotChange(EntityUid, MagazineAmmoProviderComponent, ContainerModifiedMessage)

Declaration
protected virtual void OnMagazineSlotChange(EntityUid uid, MagazineAmmoProviderComponent component, ContainerModifiedMessage args)
Parameters
Type Name Description
EntityUid uid
MagazineAmmoProviderComponent component
Robust.Shared.Containers.ContainerModifiedMessage args
| Improve this Doc View Source

Popup(String, Nullable<EntityUid>, Nullable<EntityUid>)

Declaration
protected abstract void Popup(string message, EntityUid? uid, EntityUid? user)
Parameters
Type Name Description
System.String message
System.Nullable<EntityUid> uid
System.Nullable<EntityUid> user
| Improve this Doc View Source

RemoveShootable(EntityUid)

Declaration
protected void RemoveShootable(EntityUid uid)
Parameters
Type Name Description
EntityUid uid
| Improve this Doc View Source

SetBoltClosed(EntityUid, ChamberMagazineAmmoProviderComponent, Boolean, Nullable<EntityUid>, Nullable<AppearanceComponent>, ItemSlotsComponent)

Updates the bolt to its new state

Declaration
public void SetBoltClosed(EntityUid uid, ChamberMagazineAmmoProviderComponent component, bool value, EntityUid? user = null, AppearanceComponent? appearance = null, ItemSlotsComponent slots = null)
Parameters
Type Name Description
EntityUid uid
ChamberMagazineAmmoProviderComponent component
System.Boolean value
System.Nullable<EntityUid> user
System.Nullable<AppearanceComponent> appearance
ItemSlotsComponent slots
| Improve this Doc View Source

SetCartridgeSpent(EntityUid, CartridgeAmmoComponent, Boolean)

Declaration
protected void SetCartridgeSpent(EntityUid uid, CartridgeAmmoComponent cartridge, bool spent)
Parameters
Type Name Description
EntityUid uid
CartridgeAmmoComponent cartridge
System.Boolean spent
| Improve this Doc View Source

Shoot(EntityUid, GunComponent, EntityUid, EntityCoordinates, EntityCoordinates, out Boolean, Nullable<EntityUid>, Boolean)

Declaration
public void Shoot(EntityUid gunUid, GunComponent gun, EntityUid ammo, EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, out bool userImpulse, EntityUid? user = null, bool throwItems = false)
Parameters
Type Name Description
EntityUid gunUid
GunComponent gun
EntityUid ammo
Robust.Shared.Map.EntityCoordinates fromCoordinates
Robust.Shared.Map.EntityCoordinates toCoordinates
System.Boolean userImpulse
System.Nullable<EntityUid> user
System.Boolean throwItems
| Improve this Doc View Source

Shoot(EntityUid, GunComponent, List<(Nullable<EntityUid> Entity, IShootable Shootable)>, EntityCoordinates, EntityCoordinates, out Boolean, Nullable<EntityUid>, Boolean)

Declaration
public abstract void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, out bool userImpulse, EntityUid? user = null, bool throwItems = false)
Parameters
Type Name Description
EntityUid gunUid
GunComponent gun
List<System.ValueTuple<System.Nullable<EntityUid>, IShootable>> ammo
Robust.Shared.Map.EntityCoordinates fromCoordinates
Robust.Shared.Map.EntityCoordinates toCoordinates
System.Boolean userImpulse
System.Nullable<EntityUid> user
System.Boolean throwItems
| Improve this Doc View Source

SpinRevolver(EntityUid, RevolverAmmoProviderComponent, Nullable<EntityUid>)

Declaration
protected virtual void SpinRevolver(EntityUid revolverUid, RevolverAmmoProviderComponent component, EntityUid? user = null)
Parameters
Type Name Description
EntityUid revolverUid
RevolverAmmoProviderComponent component
System.Nullable<EntityUid> user
| Improve this Doc View Source

TakeCharge(EntityUid, BatteryAmmoProviderComponent)

Update the battery (server-only) whenever fired.

Declaration
protected virtual void TakeCharge(EntityUid uid, BatteryAmmoProviderComponent component)
Parameters
Type Name Description
EntityUid uid
BatteryAmmoProviderComponent component
| Improve this Doc View Source

ToggleBolt(EntityUid, ChamberMagazineAmmoProviderComponent, Nullable<EntityUid>)

Sets the bolt's positional value to the other state

Declaration
public void ToggleBolt(EntityUid uid, ChamberMagazineAmmoProviderComponent component, EntityUid? user = null)
Parameters
Type Name Description
EntityUid uid
ChamberMagazineAmmoProviderComponent component
System.Nullable<EntityUid> user
| Improve this Doc View Source

TryGetGun(EntityUid, out EntityUid, out GunComponent)

Declaration
public bool TryGetGun(EntityUid entity, out EntityUid gunEntity, out GunComponent gunComp)
Parameters
Type Name Description
EntityUid entity
EntityUid gunEntity
GunComponent gunComp
Returns
Type Description
System.Boolean
| Improve this Doc View Source

TryRevolverInsert(EntityUid, RevolverAmmoProviderComponent, EntityUid, Nullable<EntityUid>)

Declaration
public bool TryRevolverInsert(EntityUid revolverUid, RevolverAmmoProviderComponent component, EntityUid uid, EntityUid? user)
Parameters
Type Name Description
EntityUid revolverUid
RevolverAmmoProviderComponent component
EntityUid uid
System.Nullable<EntityUid> user
Returns
Type Description
System.Boolean
| Improve this Doc View Source

UpdateAmmoCount(EntityUid)

Call this whenever the ammo count for a gun changes.

Declaration
protected virtual void UpdateAmmoCount(EntityUid uid)
Parameters
Type Name Description
EntityUid uid
| Improve this Doc View Source

UpdateBasicEntityAmmoCount(EntityUid, Int32, BasicEntityAmmoProviderComponent)

Declaration
public bool UpdateBasicEntityAmmoCount(EntityUid uid, int count, BasicEntityAmmoProviderComponent component = null)
Parameters
Type Name Description
EntityUid uid
System.Int32 count
BasicEntityAmmoProviderComponent component
Returns
Type Description
System.Boolean
| Improve this Doc View Source

UpdateBatteryAppearance(EntityUid, BatteryAmmoProviderComponent)

Declaration
protected void UpdateBatteryAppearance(EntityUid uid, BatteryAmmoProviderComponent component)
Parameters
Type Name Description
EntityUid uid
BatteryAmmoProviderComponent component
| Improve this Doc View Source

UpdateSolutionAppearance(EntityUid, SolutionAmmoProviderComponent)

Declaration
protected void UpdateSolutionAppearance(EntityUid uid, SolutionAmmoProviderComponent component)
Parameters
Type Name Description
EntityUid uid
SolutionAmmoProviderComponent component
| Improve this Doc View Source

UpdateSolutionShots(EntityUid, SolutionAmmoProviderComponent, Solution)

Declaration
protected virtual void UpdateSolutionShots(EntityUid uid, SolutionAmmoProviderComponent component, Solution solution = null)
Parameters
Type Name Description
EntityUid uid
SolutionAmmoProviderComponent component
Solution solution
  • Improve this Doc
  • View Source
☀
☾
In This Article
Back to top
Generated by DocFX
☀
☾