예제 #1
0
        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));
        }