/// <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(); }
private void OnRevolverCounter(EntityUid uid, RevolverAmmoProviderComponent component, AmmoCounterControlEvent args) { args.Control = new RevolverStatusControl(); }
private void OnChamberMagazineCounter(EntityUid uid, ChamberMagazineAmmoProviderComponent component, AmmoCounterControlEvent args) { args.Control = new ChamberMagazineStatusControl(); }