public Reloads(Actor self, ReloadsInfo info) { Info = info; remainingTicks = info.Period; la = self.Trait <LimitedAmmo>(); previousAmmo = la.GetAmmoCount(); }
public void Tick(Actor self) { if (!la.FullAmmo() && --remainingTicks == 0) { remainingTicks = Info.Period; for (var i = 0; i < Info.Count; i++) { la.GiveAmmo(); } previousAmmo = la.GetAmmoCount(); } // Resets the tick counter if ammo was fired. if (Info.ResetOnFire && la.GetAmmoCount() < previousAmmo) { remainingTicks = Info.Period; previousAmmo = la.GetAmmoCount(); } }