Esempio n. 1
0
    /// <summary>
    /// Refreshes the control being used to show ammo. Useful if you change the AmmoProvider.
    /// </summary>
    /// <param name="uid"></param>
    /// <param name="component"></param>
    private void RefreshControl(EntityUid uid, AmmoCounterComponent?component = null)
    {
        if (!Resolve(uid, ref component, false))
        {
            return;
        }

        component.Control?.Dispose();
        component.Control = null;

        var ev = new AmmoCounterControlEvent();

        RaiseLocalEvent(uid, ev, false);

        // Fallback to default if none specified
        ev.Control ??= new DefaultStatusControl();

        component.Control = ev.Control;
        UpdateAmmoCount(uid, component);
    }
 private void OnControl(EntityUid uid, BatteryAmmoProviderComponent component, AmmoCounterControlEvent args)
 {
     args.Control = new BoxesStatusControl();
 }
Esempio n. 3
0
 private void OnRevolverCounter(EntityUid uid, RevolverAmmoProviderComponent component, AmmoCounterControlEvent args)
 {
     args.Control = new RevolverStatusControl();
 }
Esempio n. 4
0
 private void OnChamberMagazineCounter(EntityUid uid, ChamberMagazineAmmoProviderComponent component, AmmoCounterControlEvent args)
 {
     args.Control = new ChamberMagazineStatusControl();
 }