public override void Tick() { base.Tick(); if (GetComp <CompPowerTrader>().PowerOn&& Find.TickManager.TicksGame % 35 == 0) { foreach (var element in ThingsToSelect) { if (element.def.category == ThingCategory.Item && settings.AllowedToAccept(element)) { TryStoreThing(element); break; } } if (StoredThing != null) { if (settings.AllowedToAccept(StoredThing)) { StoredThing.SetForbidden(true, false); } else { StoredThing.SetForbidden(false, false); } } } }
public override void Tick() { base.Tick(); if (GetComp <CompPowerTrader>().PowerOn&& Find.TickManager.TicksGame % 35 == 0) { foreach (var element in ThingsToSelect) { bool withinLimits = true; if (OutputSettings.useMin) { withinLimits = (element.stackCount >= OutputSettings.min); } if (element.def.category == ThingCategory.Item && settings.AllowedToAccept(element) && withinLimits) { TryStoreThing(element); break; } } if (StoredThing != null) { if (settings.AllowedToAccept(StoredThing)) { bool forbidItem = true; if (OutputSettings.useMin || OutputSettings.useMax) { if (OutputSettings.useMin && StoredThing.stackCount < OutputSettings.min) { forbidItem = false; } else if (OutputSettings.useMax && StoredThing.stackCount > OutputSettings.max) { forbidItem = false; } } if (forbidItem) { StoredThing.SetForbidden(true, false); return; } } StoredThing.SetForbidden(false, false); } } }