// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // namespace MUnique.OpenMU.GameLogic; /// /// A drop generator which generates nothing. /// public class NullDropGenerator : IDropGenerator { private static IDropGenerator? _instance; /// /// Prevents a default instance of the class from being created. /// private NullDropGenerator() { } /// /// Gets the instance. /// public static IDropGenerator Instance => _instance ??= new NullDropGenerator(); /// public ValueTask<(IEnumerable Items, uint? Money)> GenerateItemDropsAsync(MonsterDefinition monster, int gainedExperience, Player player) { return ValueTask.FromResult((Enumerable.Empty(), default(uint?))); } /// public Item? GenerateItemDrop(DropItemGroup group) { return null; } /// public (Item?, uint?, ItemDropEffect) GenerateItemDrop(IEnumerable group) { return (null, null, ItemDropEffect.Undefined); } }