private void UpdateIconStates() { var bpArr = Game.PlayerStats.GetBlueprintArray; int catIx = 0, catCount = bpArr.Count; while (catIx < catCount) { var catArr = bpArr[catIx]; var iconArr = this.m_masterIconArray[catIx]; var catString = EquipmentCategoryType.ToString(catIx); int itemIx = 0, itemCount = catArr.Length; while (itemIx < itemCount) { var item = catArr[itemIx]; var icon = iconArr[itemIx]; if (item != 0) { icon.ChangeSprite("BlacksmithUI_" + catString + (itemIx % 5 + 1) + "Icon_Character"); for (int k = 1; k < icon.NumChildren; k++) { icon.GetChildAt(k).Opacity = 0.2f; } } else { icon.ChangeSprite("BlacksmithUI_QuestionMarkIcon_Character"); } if (item > 2) { for (int l = 1; l < icon.NumChildren; l++) { icon.GetChildAt(l).Opacity = 1f; } int num1 = catIx == 0 ? 2 : 1; EquipmentBase equipmentData = Game.EquipmentSystem.GetEquipmentData(catIx, itemIx); icon.GetChildAt(num1).TextureColor = equipmentData.FirstColour; if (catIx != 4) { icon.GetChildAt(num1 + 1).TextureColor = equipmentData.SecondColour; } } itemIx++; } catIx++; } }
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); }
private void EquipmentSelectionInput() { var categoryIndex = m_currentCategoryIndex - 6; int oldIndex = m_currentEquipmentIndex; if (InputManager.IsNewlyPressed(InputFlags.PlayerUp1 | InputFlags.PlayerUp2)) { oldIndex = (oldIndex + 10) % 15; } else if (InputManager.IsNewlyPressed(InputFlags.PlayerDown1 | InputFlags.PlayerDown2)) { oldIndex = (oldIndex + 5) % 15; } if (InputManager.IsNewlyPressed(InputFlags.PlayerLeft1 | InputFlags.PlayerLeft2)) { oldIndex += oldIndex % 5 == 0 ? 4 : -1; } if (InputManager.IsNewlyPressed(InputFlags.PlayerRight1 | InputFlags.PlayerRight2)) { oldIndex += oldIndex % 5 == 4 ? -4 : 1; } var bpArr = Game.PlayerStats.GetBlueprintArray[categoryIndex]; if (oldIndex != m_currentEquipmentIndex) { m_currentEquipmentIndex = oldIndex; if (bpArr[oldIndex] == 1) { bpArr[oldIndex] = 2; } UpdateNewIcons(); UpdateIconSelectionText(); m_selectionIcon.Position = m_activeIconArray[oldIndex].AbsPosition; SoundManager.PlaySound("ShopBSMenuMove"); } if (InputManager.IsNewlyPressed(InputFlags.MenuCancel1 | InputFlags.MenuCancel2)) { SoundManager.PlaySound("ShopMenuCancel"); m_inCategoryMenu = true; m_selectionIcon.Position = m_blacksmithUI.GetChildAt(m_currentCategoryIndex).AbsPosition; UpdateIconSelectionText(); } if (InputManager.IsNewlyPressed(InputFlags.MenuConfirm1 | InputFlags.MenuConfirm2)) { var player = this.Player; int item = bpArr[oldIndex]; var equipArray = Game.PlayerStats.GetEquippedArray; var currentEquipped = equipArray[categoryIndex]; if (item < 3 && item > 0) { EquipmentBase equipmentData = Game.EquipmentSystem.GetEquipmentData(categoryIndex, oldIndex); if (Game.PlayerStats.Gold < equipmentData.Cost) { SoundManager.PlaySound("ShopMenuUnlockFail"); } else { SoundManager.PlaySound("ShopMenuUnlock"); Game.PlayerStats.Gold -= equipmentData.Cost; bpArr[oldIndex] = 3; ObjContainer firstColour = this.m_masterIconArray[categoryIndex][oldIndex]; firstColour.ChangeSprite("BlacksmithUI_" + EquipmentCategoryType.ToString(categoryIndex) + (oldIndex % 5 + 1) + "Icon_Character"); for (int i = 1; i < firstColour.NumChildren; i++) { firstColour.GetChildAt(i).Opacity = 1f; } int num1 = categoryIndex == 0 ? 2 : 1; firstColour.GetChildAt(num1).TextureColor = equipmentData.FirstColour; if (categoryIndex != 4) { firstColour.GetChildAt(num1 + 1).TextureColor = equipmentData.SecondColour; } item = 3; this.UpdateIconSelectionText(); } } if (currentEquipped != oldIndex && item == 3) { EquipmentBase equipmentDatum = Game.EquipmentSystem.GetEquipmentData(categoryIndex, oldIndex); //int getEquippedArray1 = Game.PlayerStats.GetEquippedArray[categoryIndex]; int weight = 0; if (currentEquipped != -1) { weight = Game.EquipmentSystem.GetEquipmentData(categoryIndex, currentEquipped).Weight; } if (equipmentDatum.Weight + player.CurrentWeight - weight > player.MaxWeight) { Console.WriteLine(string.Concat("cannot equip. too heavy. Weight:", equipmentDatum.Weight + player.CurrentWeight - weight)); return; } SoundManager.PlaySound("ShopBSEquip"); equipArray[categoryIndex] = (sbyte)oldIndex; this.UpdateIconSelectionText(); Vector3 partIndices = PlayerPart.GetPartIndices(categoryIndex); if (partIndices.X != -1f) { player.GetChildAt((int)partIndices.X).TextureColor = equipmentDatum.FirstColour; } if (partIndices.Y != -1f) { player.GetChildAt((int)partIndices.Y).TextureColor = equipmentDatum.SecondColour; } if (partIndices.Z != -1f) { player.GetChildAt((int)partIndices.Z).TextureColor = equipmentDatum.SecondColour; } if (categoryIndex == 2 && partIndices.X != -1f) { player.GetChildAt(5).TextureColor = equipmentDatum.FirstColour; } this.UpdateNewIcons(); return; } if (currentEquipped == oldIndex) { equipArray[categoryIndex] = -1; player.UpdateEquipmentColours(); this.UpdateIconSelectionText(); this.UpdateNewIcons(); } } }
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(); }
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(); }