using UnityEngine; namespace RoR2; public class PickupDef { public struct GrantContext { public CharacterBody body; public GenericPickupController controller; public bool shouldDestroy; public bool shouldNotify; } public delegate void AttemptGrantDelegate(ref GrantContext context); public string internalName; public GameObject displayPrefab; public GameObject dropletDisplayPrefab; public string nameToken = "???"; public Color baseColor; public Color darkColor; public ItemIndex itemIndex = ItemIndex.None; public EquipmentIndex equipmentIndex = EquipmentIndex.None; public ArtifactIndex artifactIndex = ArtifactIndex.None; public MiscPickupIndex miscPickupIndex = MiscPickupIndex.None; public ItemTier itemTier = ItemTier.NoTier; public uint coinValue; public UnlockableDef unlockableDef; public string interactContextToken; public bool isLunar; public bool isBoss; public Texture iconTexture; public Sprite iconSprite; public AttemptGrantDelegate attemptGrant; public PickupIndex pickupIndex { get; set; } = PickupIndex.none; }