using System; using System.Collections; using System.Collections.Generic; using Cysharp.Threading.Tasks; namespace Net.Project.B.Loot { /// /// 可配置战利品 /// public interface IScriptableLoot { public int Id { get; } /// /// 种子 /// public int Seed { get; } /// /// 名称 /// public string Name { get; } /// /// 物品和权重 /// public IReadOnlyDictionary ItemWeights { get; } /// /// 类型 /// public IWorldLootType LootType { get; } } public interface IWorldLootType{} public interface ILootService { public UniTask> GetLoot(IWorldLootType type); } [Serializable] public struct WorldContainerLoot:IWorldLootType{} [Serializable] public struct WorldItemLoot:IWorldLootType{} }