Beispiel #1
0
        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));
        }
Beispiel #2
0
        protected Item()
        {
            Listen(OnDestroyed, () => Task.Run(RemoveFromInventoryAsync));

            Listen(OnDestroyed, () => Inventory.UnManageItem(this));
        }