Esempio n. 1
0
        protected override void Initialize(SeedOptions options)
        {
            if (ItemInfo == null)
            {
                return;
            }

            if (IsPickedUp)
            {
                Dynamic.Kill();
            }

            Dynamic.ChangeAnimation(ItemInfo.AnimationIndex);

            hasCardC = Level.GameSave.Inventory.RelicInventory.Inventory.ContainsKey((int)EInventoryRelicType.ScienceKeycardC);
        }
        protected override void Initialize(SeedOptions options)
        {
            if (ItemInfo == null)
            {
                return;
            }

            if (IsPickedUp)
            {
                Dynamic.Kill();
            }
            else
            {
                Dynamic.IsFound = false;
                hasDroppedLoot  = false;
            }

            Dynamic._itemData = ItemInfo.BestiaryItemDropSpecification;
            Dynamic._category = ItemInfo.Identifier.LootType.ToEInventoryCategoryType();

            switch (ItemInfo.Identifier.LootType)
            {
            case LootType.ConstRelic:
                Dynamic._relicType = ItemInfo.Identifier.Relic;
                break;

            case LootType.ConstUseItem:
                Dynamic._useItemType = ItemInfo.Identifier.UseItem;
                break;

            case LootType.ConstEquipment:
                Dynamic._equipmentType = ItemInfo.Identifier.Equipment;
                break;

            case LootType.ConstStat:
            case LootType.ConstOrb:
            case LootType.ConstFamiliar:
                Dynamic._category      = EInventoryCategoryType.Equipment;
                Dynamic._equipmentType = EInventoryEquipmentType.None;
                break;

            default:
                throw new NotImplementedException($"LoottType {ItemInfo.Identifier.LootType} is not supported by ItemDropPickup");
            }

            Dynamic.ChangeAnimation(ItemInfo.AnimationIndex);
        }
Esempio n. 3
0
        void RebuildScreen()
        {
            Dynamic.ChangeAnimation(23);

            var particles = new PassiveBuffSparkleParticleSystem(Level.GCM.TxParticleEnergy, 10);

            Dynamic._sparkleParticles = particles;
            ((List <ParticleSystem>)Dynamic._particleSystems).Add(particles);

            var appendage = new Appendage((Animate)TypedObject, new Point(10, 17), Point.Zero, Level, Dynamic._sprite)
            {
                FollowType   = EAppendageFollowType.AnchorLocked,
                AnchorOffset = new Point(0, -25),
                DrawPriority = 1,
                IsGlowing    = true,
                GlowBase     = 3.5f,
            };

            appendage.AsDynamic().GlowColor = new Color(0.8f, 0.85f, 0.9f, 0.6f);
            appendage.ChangeAnimation(24);

            Dynamic._screenAppendage = appendage;
            ((List <Appendage>)Dynamic._appendages).Add(appendage);

            var glowTexture        = GlowTextureType.CreateInstance(true, Level);
            var dynamicGlowTexture = glowTexture.AsDynamic();

            dynamicGlowTexture.GlowSpriteSheet  = Dynamic._sprite;
            dynamicGlowTexture.FrameIndex       = 24;
            dynamicGlowTexture.GlowCircleCount  = 6;
            dynamicGlowTexture.Center           = new Point(TypedObject.Position.X, TypedObject.Position.Y - 36);
            dynamicGlowTexture.GlowCircleWidth  = 32;
            dynamicGlowTexture.GlowCircleHeight = 32;

            Dynamic._glowTexture = glowTexture;

            Dynamic._isUsable = true;
        }