protected Item() { OnConsumed = new Event(); Listen(OnStart, () => { IsPackage = Lot.GetComponentId(ComponentId.PackageComponent) != default; using var cdClient = new CdClientContext(); var skills = cdClient.ObjectSkillsTable.Where( s => s.ObjectTemplate == Lot ).ToArray(); IsConsumable = skills.Any( s => s.CastOnType == (int)SkillCastType.OnConsumed ); }); Listen(OnDestroyed, () => Inventory.UnManageItem(this)); }
protected Item() { Listen(OnDestroyed, () => Task.Run(RemoveFromInventoryAsync)); Listen(OnDestroyed, () => Inventory.UnManageItem(this)); }