logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class UnityGameWeaponService

    Unity MonoBehaviour implementation of IGameWeaponService.

    Inheritance
    object
    UnityGameWeaponService
    Implements
    IGameWeaponService
    IService
    IFoundationSettings
    Namespace: Serenity.GameWeapon.Infrastructure.Services
    Assembly: Serenity.UnityGameWeapon.Infrastructure.dll
    Syntax
    public class UnityGameWeaponService : MonoBehaviour, IGameWeaponService, IService, IFoundationSettings
    Remarks

    Maintains registered weapon states and delegates to WeaponState entities for business-logic enforcement (ammo management, trigger state, fire mode).

    Constructors

    UnityGameWeaponService()

    Declaration
    public UnityGameWeaponService()

    Fields

    LOG_CATEGORY

    Declaration
    protected const string LOG_CATEGORY = "GameWeaponService"
    Field Value
    Type Description
    string

    _guid

    Declaration
    protected string _guid
    Field Value
    Type Description
    string

    _id

    Declaration
    protected string _id
    Field Value
    Type Description
    string

    _logService

    Declaration
    protected ILogService _logService
    Field Value
    Type Description
    ILogService

    _weapons

    Declaration
    protected readonly Dictionary<WeaponId, WeaponState> _weapons
    Field Value
    Type Description
    Dictionary<WeaponId, WeaponState>

    Properties

    Guid

    Declaration
    public string Guid { get; set; }
    Property Value
    Type Description
    string

    Id

    Declaration
    public string Id { get; set; }
    Property Value
    Type Description
    string

    LogService

    Declaration
    public ILogService LogService { get; set; }
    Property Value
    Type Description
    ILogService

    Methods

    ConsumeAmmo(WeaponId)

    Declaration
    public virtual bool ConsumeAmmo(WeaponId id)
    Parameters
    Type Name Description
    WeaponId id
    Returns
    Type Description
    bool

    GetSnapshot(WeaponId)

    Declaration
    public virtual WeaponSnapshot GetSnapshot(WeaponId id)
    Parameters
    Type Name Description
    WeaponId id
    Returns
    Type Description
    WeaponSnapshot

    InitializeService(ILogService)

    Initializes the service with required dependencies.

    Declaration
    public virtual void InitializeService(ILogService logService)
    Parameters
    Type Name Description
    ILogService logService

    The logging service for diagnostic output.

    RegisterWeapon(WeaponId, int, FireMode)

    Declaration
    public virtual void RegisterWeapon(WeaponId id, int maxCapacity, FireMode fireMode)
    Parameters
    Type Name Description
    WeaponId id
    int maxCapacity
    FireMode fireMode

    ReloadComplete(WeaponId, int)

    Declaration
    public virtual void ReloadComplete(WeaponId id, int ammoLoaded)
    Parameters
    Type Name Description
    WeaponId id
    int ammoLoaded

    ReloadRequested(WeaponId)

    Declaration
    public virtual void ReloadRequested(WeaponId id)
    Parameters
    Type Name Description
    WeaponId id

    SetFireMode(WeaponId, FireMode)

    Declaration
    public virtual void SetFireMode(WeaponId id, FireMode fireMode)
    Parameters
    Type Name Description
    WeaponId id
    FireMode fireMode

    TriggerPressed(WeaponId)

    Declaration
    public virtual void TriggerPressed(WeaponId id)
    Parameters
    Type Name Description
    WeaponId id

    TriggerReleased(WeaponId)

    Declaration
    public virtual void TriggerReleased(WeaponId id)
    Parameters
    Type Name Description
    WeaponId id

    Implements

    IGameWeaponService
    IService
    IFoundationSettings
    In this article
    © 2026 Serenity. All Rights Reserved