private float GetItemRate(Item item, DroppedItem droppedItem) { float current; if (!_config.MultiplierItems.TryGetValue(item.info.shortname, out current)) { current = 1.0f; } current *= droppedItem.GetDespawnDuration() * (droppedItem.GetBuildingPrivilege() == null ? _config.MultiplierNonCupboard : _config.MultiplierCupboard); return(current); }
private void SetDespawnTime(DroppedItem item) { if (!_config.Enabled || item == null) { return; } item.CancelInvoke(nameof(DroppedItem.IdleDestroy)); item.Invoke(nameof(DroppedItem.IdleDestroy), item.GetDespawnDuration() * (item.GetBuildingPrivilege() == null ? _config.MultiplierNonCupboard : _config.MultiplierCupboard)); }