예제 #1
0
        public virtual void OnEnter()
        {
            this.m_tripStat1.Visible = false;
            this.m_tripStat2.Visible = false;
            this.m_tripStat1.Scale   = Vector2.One;
            this.m_tripStat2.Scale   = Vector2.One;
            if (this.m_itemType != 7)
            {
                (base.ScreenManager.Game as Game).SaveManager.SaveFiles(new SaveType[] { SaveType.PlayerData, SaveType.UpgradeData });
            }

            this.m_itemSprite.Rotation         = 0f;
            this.m_itemSprite.Scale            = Vector2.One;
            this.m_itemStartPos.X              = this.m_itemStartPos.X - base.Camera.TopLeftCorner.X;
            this.m_itemStartPos.Y              = this.m_itemStartPos.Y - base.Camera.TopLeftCorner.Y;
            this.m_storedMusicVolume           = SoundManager.GlobalMusicVolume;
            this.m_songName                    = SoundManager.GetCurrentMusicName();
            this.m_lockControls                = true;
            this.m_continueText.Opacity        = 0f;
            this.m_continueText.Text           = "[Input:0]  to continue";
            this.m_itemFoundText.Position      = this.m_itemEndPos;
            this.m_itemFoundText.Y            += 70f;
            this.m_itemFoundText.Scale         = Vector2.Zero;
            this.m_tripStat1FoundText.Position = this.m_itemFoundText.Position;
            this.m_tripStat2FoundText.Position = this.m_itemFoundText.Position;
            this.m_tripStat1FoundText.Scale    = Vector2.Zero;
            this.m_tripStat2FoundText.Scale    = Vector2.Zero;
            this.m_tripStat1FoundText.Visible  = false;
            this.m_tripStat2FoundText.Visible  = false;
            switch (this.m_itemType)
            {
            case 1:
                this.m_itemSpinning = true;
                this.m_itemSprite.ChangeSprite("BlueprintIcon_Sprite");
                this.m_itemFoundSprite.ChangeSprite("BlueprintFoundText_Sprite");
                this.m_itemFoundText.Text = Game.EquipmentSystem.GetEquipmentData((int)this.m_itemInfo.X, (int)this.m_itemInfo.Y).DisplayName;    // string.Concat(EquipmentBaseType.ToString((int)this.m_itemInfo.Y), " ", EquipmentCategoryType.ToString2((int)this.m_itemInfo.X));
                break;

            case 2:
                this.m_itemSpinning = true;
                this.m_itemSprite.ChangeSprite("RuneIcon_Sprite");
                this.m_itemFoundSprite.ChangeSprite("RuneFoundText_Sprite");
                this.m_itemFoundText.Text        = EquipmentAbilityType.ToString((int)this.m_itemInfo.Y) + " Rune (" + EquipmentCategoryType.ToString2((int)this.m_itemInfo.X) + ")";
                this.m_itemSprite.AnimationDelay = 0.05f;
                GameUtil.UnlockAchievement("LOVE_OF_MAGIC");
                break;

            case 3:
            case 6:
                this.m_itemSprite.ChangeSprite(this.GetStatSpriteName((int)this.m_itemInfo.X));
                this.m_itemFoundText.Text        = this.GetStatText((int)this.m_itemInfo.X);
                this.m_itemSprite.AnimationDelay = 0.05f;
                this.m_itemFoundSprite.ChangeSprite("StatFoundText_Sprite");
                if (this.m_itemType == 6)
                {
                    this.m_tripStat1FoundText.Visible = true;
                    this.m_tripStat2FoundText.Visible = true;
                    this.m_tripStat1.ChangeSprite(this.GetStatSpriteName((int)this.m_tripStatData.X));
                    this.m_tripStat2.ChangeSprite(this.GetStatSpriteName((int)this.m_tripStatData.Y));
                    this.m_tripStat1.Visible        = true;
                    this.m_tripStat2.Visible        = true;
                    this.m_tripStat1.AnimationDelay = 0.05f;
                    this.m_tripStat2.AnimationDelay = 0.05f;
                    Tween.RunFunction(0.1f, this.m_tripStat1, "PlayAnimation", new object[] { true });
                    Tween.RunFunction(0.2f, this.m_tripStat2, "PlayAnimation", new object[] { true });
                    this.m_tripStat1FoundText.Text = this.GetStatText((int)this.m_tripStatData.X);
                    this.m_tripStat2FoundText.Text = this.GetStatText((int)this.m_tripStatData.Y);
                    this.m_itemFoundText.Y        += 50f;
                    this.m_tripStat1FoundText.Y    = this.m_itemFoundText.Y + 50f;
                }
                break;

            case 4:
                this.m_itemSprite.ChangeSprite(SpellType.Icon((byte)this.m_itemInfo.X));
                this.m_itemFoundSprite.ChangeSprite("SpellFoundText_Sprite");
                this.m_itemFoundText.Text = SpellDefinition.GetById((byte)this.m_itemInfo.X).DisplayName;
                break;

            case 5:
                this.m_itemSprite.ChangeSprite(SpecialItemType.SpriteName((byte)this.m_itemInfo.X));
                this.m_itemFoundSprite.ChangeSprite("ItemFoundText_Sprite");
                this.m_itemFoundText.Text = SpecialItemType.ToString((byte)this.m_itemInfo.X);
                break;

            case 7:
                this.m_itemSprite.ChangeSprite(this.GetMedallionImage((int)this.m_itemInfo.X));
                this.m_itemFoundSprite.ChangeSprite("ItemFoundText_Sprite");
                if (this.m_itemInfo.X != 19f)
                {
                    this.m_itemFoundText.Text = "You've collected a medallion piece!";
                }
                else
                {
                    this.m_itemFoundText.Text = "Medallion completed!";
                }

                break;
            }
            this.m_itemSprite.PlayAnimation(true);
            this.ItemSpinAnimation();
            base.OnEnter();
        }
예제 #2
0
 private void UpdateEquipmentDataText()
 {
     this.m_equipmentTitleText.Text = EquipmentAbilityType.ToString(this.m_currentEquipmentIndex) + " Rune\n(" + EquipmentCategoryType.ToString2(this.m_currentCategoryIndex - 6) + ")";
     this.m_descriptionText.Text    = EquipmentAbilityType.Description(this.m_currentEquipmentIndex);
     this.m_descriptionText.WordWrap(195);
     this.m_descriptionText.Y = this.m_equipmentTitleText.Y + 60f;
     this.m_instructionsTitleText.Position = new Vector2(this.m_enchantressUI.X + 140f, this.m_descriptionText.Bounds.Bottom + 20);
     this.m_instructionsText.Text          = EquipmentAbilityType.Instructions(this.m_currentEquipmentIndex);
     this.m_instructionsText.WordWrap(200);
     this.m_instructionsText.Position = new Vector2(this.m_instructionsTitleText.X, this.m_instructionsTitleText.Bounds.Bottom);
 }
예제 #3
0
        protected virtual void Initialize()
        {
            string name;
            byte   id;

            //foreach (var f in Type.GetType("RogueCastle.SpellType").GetFields())
            //{
            //    name = f.Name;
            //    if (name.StartsWith("Total"))
            //        continue;

            //    id = (byte)f.GetRawConstantValue();
            //    var spell = RogueAPI.Spells.SpellDefinition.Register(new RogueAPI.Spells.SpellDefinition(id)
            //    {
            //        Name = name,
            //        Projectile = SpellEV.GetProjData(id, null),
            //        DamageMultiplier = SpellEV.GetDamageMultiplier(id),
            //        Rarity = SpellEV.GetRarity(id),
            //        ManaCost = SpellEV.GetManaCost(id),
            //        MiscValue1 = SpellEV.GetXValue(id),
            //        MiscValue2 = SpellEV.GetYValue(id),
            //        DisplayName = SpellType.ToString(id),
            //        Icon = SpellType.Icon(id),
            //        Description = SpellType.Description(id)
            //    });

            //    switch (id)
            //    {
            //        case 1:
            //            spell.SoundList = new[] { "Cast_Dagger" };
            //            break;

            //        case 2:
            //            spell.SoundList = new[] { "Cast_Axe" };
            //            break;

            //        case 5:
            //            spell.SoundList = new[] { "Cast_Crowstorm" };
            //            break;

            //        case 9:
            //            spell.SoundList = new[] { "Cast_Chakram" };
            //            break;

            //        case 10:
            //            spell.SoundList = new[] { "Spell_GiantSword" };
            //            break;

            //        case 13:
            //        case 15:
            //            spell.SoundList = new[] { "Enemy_WallTurret_Fire_01", "Enemy_WallTurret_Fire_02", "Enemy_WallTurret_Fire_03", "Enemy_WallTurret_Fire_04" };
            //            break;
            //    }
            //}

            //foreach (var f in Type.GetType("RogueCastle.ClassType").GetFields())
            //{
            //    name = f.Name;
            //    if (name.StartsWith("Total"))
            //        continue;

            //    id = (byte)f.GetRawConstantValue();
            //    var cls = RogueAPI.Classes.ClassDefinition.Register(new RogueAPI.Classes.ClassDefinition(id)
            //    {
            //        Name = name,
            //        Description = ClassType.Description(id),
            //        ProfileCardDescription = ClassType.ProfileCardDescription(id),
            //        DisplayName = ClassType.ToString(id, false),
            //        FemaleDisplayName = ClassType.ToString(id, true),
            //        DamageTakenMultiplier = PlayerObj.get_ClassDamageTakenMultiplier(id),
            //        HealthMultiplier = PlayerObj.get_ClassTotalHPMultiplier(id),
            //        ManaMultiplier = PlayerObj.get_ClassTotalMPMultiplier(id),
            //        MagicDamageMultiplier = PlayerObj.get_ClassMagicDamageGivenMultiplier(id),
            //        MoveSpeedMultiplier = PlayerObj.get_ClassMoveSpeedMultiplier(id),
            //        PhysicalDamageMultiplier = PlayerObj.get_ClassDamageGivenMultiplier(id)
            //    });

            //    foreach (var spellId in ClassType.GetSpellList(id))
            //        cls.AssignedSpells.Add(RogueAPI.Spells.SpellDefinition.GetById(spellId));
            //}

            var equipArray = EquipmentSystem.EquipmentDataArray;
            int catIx = 0, catCount = equipArray.Count;

            while (catIx < catCount)
            {
                var catList    = equipArray[catIx];
                var catString  = EquipmentCategoryType.ToString(catIx);
                var catString2 = EquipmentCategoryType.ToString2(catIx);

                int itemIx = 0, itemCount = catList.Length;
                while (itemIx < itemCount)
                {
                    var item = catList[itemIx];
                    name = EquipmentBaseType.ToString(itemIx);

                    item.CategoryId       = catIx;
                    item.Index            = itemIx;
                    item.DisplayName      = name + " " + catString2;
                    item.ShortDisplayName = name + " " + catString;

                    itemIx++;
                }
                catIx++;
            }

            //foreach (var f in Type.GetType("RogueCastle.TraitType").GetFields())
            //{
            //    name = f.Name;
            //    if (name.StartsWith("Total"))
            //        continue;

            //    id = (byte)f.GetRawConstantValue();
            //    var trait = RogueAPI.Traits.TraitDefinition.Register(new RogueAPI.Traits.TraitDefinition(id)
            //    {
            //        Name = name,
            //        DisplayName = TraitType.ToString(id),
            //        Description = TraitType.Description(id, false),
            //        ProfileCardDescription = TraitType.ProfileCardDescription(id),
            //        Rarity = TraitType.Rarity(id)
            //    });

            //    switch (id)
            //    {
            //        case 2:
            //            trait.ProfileCardDescription = trait.Description;
            //            trait.FemaleProfileCardDescription = trait.FemaleDescription;
            //            break;

            //        case 4:
            //            trait.TraitConflicts.Add(RogueAPI.Traits.TraitDefinition.GetById(3));
            //            break;

            //        case 7:
            //            trait.TraitConflicts.Add(RogueAPI.Traits.TraitDefinition.GetById(6));
            //            break;

            //        case 10:
            //            trait.TraitConflicts.Add(RogueAPI.Traits.TraitDefinition.GetById(9));
            //            break;

            //        case 12:
            //            trait.ClassConflicts.Add(RogueAPI.Classes.ClassDefinition.GetById(7));
            //            trait.ClassConflicts.Add(RogueAPI.Classes.ClassDefinition.GetById(15));
            //            break;

            //        case 17:
            //            trait.TraitConflicts.Add(RogueAPI.Traits.TraitDefinition.GetById(16));
            //            break;

            //        case 29:
            //            trait.TraitConflicts.Add(RogueAPI.Traits.TraitDefinition.GetById(1));
            //            break;

            //        case 31:
            //            trait.ClassConflicts.Add(RogueAPI.Classes.ClassDefinition.GetById(1));
            //            trait.ClassConflicts.Add(RogueAPI.Classes.ClassDefinition.GetById(9));
            //            trait.ClassConflicts.Add(RogueAPI.Classes.ClassDefinition.GetById(16));
            //            trait.SpellConflicts.Add(RogueAPI.Spells.SpellDefinition.GetById(4));
            //            trait.SpellConflicts.Add(RogueAPI.Spells.SpellDefinition.GetById(6));
            //            trait.SpellConflicts.Add(RogueAPI.Spells.SpellDefinition.GetById(11));
            //            break;
            //    }
            //}

            RogueAPI.Content.SpriteUtil.GraphicsDeviceManager = GraphicsDeviceManager;


            RogueAPI.Core.CreateEnemy = CreateEnemyById;
            RogueAPI.Core.AttachEnemyToCurrentRoom = AttachEnemyToCurrentRoom;
            //RogueAPI.Core.AttachEffect = AttachEffect;
            RogueAPI.Core.GetCurrentRoomTerrainObjects                   = GetCurrentTerrainObjects;
            RogueAPI.Effects.EffectDefinition.AllocateSprite             = AllocateSprite;
            RogueAPI.Projectiles.ProjectileDefinition.AllocateProjectile = AllocateProjectile;
            RogueAPI.Core.AttachPhysicsObject  = AttachPhysicsObject;
            RogueAPI.Core.ActiveEnemyCount     = ActiveEnemyCount;
            RogueAPI.Core.GetEnemyList         = GetEnemyList;
            RogueAPI.Core.GetTempEnemyList     = GetTempEnemyList;
            RogueAPI.Core.GetActiveProjectiles = GetProjectiles;
            RogueAPI.Core.DisplayNumberString  = DisplayNumberString;
            RogueAPI.Core.Initialize();

            Initialize();
        }