private void UpdateIconStates() { for (var i = 0; i < Game.PlayerStats.GetBlueprintArray.Count; i++) { for (var j = 0; j < Game.PlayerStats.GetBlueprintArray[i].Length; j++) { var b = Game.PlayerStats.GetBlueprintArray[i][j]; if (b == 0) { m_masterIconArray[i][j].ChangeSprite("BlacksmithUI_QuestionMarkIcon_Character"); } else { m_masterIconArray[i][j].ChangeSprite("BlacksmithUI_" + EquipmentCategoryType.ToString(i) + (j % 5 + 1) + "Icon_Character"); for (var k = 1; k < m_masterIconArray[i][j].NumChildren; k++) { m_masterIconArray[i][j].GetChildAt(k).Opacity = 0.2f; } } if (b > 2) { for (var l = 1; l < m_masterIconArray[i][j].NumChildren; l++) { m_masterIconArray[i][j].GetChildAt(l).Opacity = 1f; } var num = 1; if (i == 0) { num = 2; } var equipmentData = Game.EquipmentSystem.GetEquipmentData(i, j); m_masterIconArray[i][j].GetChildAt(num).TextureColor = equipmentData.FirstColour; if (i != 4) { num++; m_masterIconArray[i][j].GetChildAt(num).TextureColor = equipmentData.SecondColour; } } } } }
private void UpdateEquipmentDataText() { (m_textInfoStatContainer.GetChildAt(0) as TextObj).Text = Player.MaxHealth.ToString(); (m_textInfoStatContainer.GetChildAt(1) as TextObj).Text = Player.MaxMana.ToString(); (m_textInfoStatContainer.GetChildAt(2) as TextObj).Text = Player.Damage.ToString(); (m_textInfoStatContainer.GetChildAt(3) as TextObj).Text = Player.TotalMagicDamage.ToString(); (m_textInfoStatContainer.GetChildAt(4) as TextObj).Text = Player.TotalArmor.ToString(); (m_textInfoStatContainer.GetChildAt(5) as TextObj).Text = Player.CurrentWeight + "/" + Player.MaxWeight; var num = m_currentCategoryIndex - 6; var equipmentData = Game.EquipmentSystem.GetEquipmentData(num, m_currentEquipmentIndex); int num2 = Game.PlayerStats.GetEquippedArray[num]; var equipmentData2 = new EquipmentData(); if (num2 > -1) { equipmentData2 = Game.EquipmentSystem.GetEquipmentData(num, num2); } var flag = Game.PlayerStats.GetEquippedArray[CurrentCategoryIndex] == m_currentEquipmentIndex; var num3 = equipmentData.BonusHealth - equipmentData2.BonusHealth; if (flag) { num3 = -equipmentData.BonusHealth; } var textObj = m_textInfoStatModContainer.GetChildAt(0) as TextObj; if (num3 > 0) { textObj.TextureColor = Color.Cyan; textObj.Text = "+" + num3; } else if (num3 < 0) { textObj.TextureColor = Color.Red; textObj.Text = num3.ToString(); } else { textObj.Text = ""; } var textObj2 = m_textInfoStatModContainer.GetChildAt(1) as TextObj; var num4 = equipmentData.BonusMana - equipmentData2.BonusMana; if (flag) { num4 = -equipmentData.BonusMana; } if (num4 > 0) { textObj2.TextureColor = Color.Cyan; textObj2.Text = "+" + num4; } else if (num4 < 0) { textObj2.TextureColor = Color.Red; textObj2.Text = num4.ToString(); } else { textObj2.Text = ""; } var textObj3 = m_textInfoStatModContainer.GetChildAt(2) as TextObj; var num5 = equipmentData.BonusDamage - equipmentData2.BonusDamage; if (flag) { num5 = -equipmentData.BonusDamage; } if (num5 > 0) { textObj3.TextureColor = Color.Cyan; textObj3.Text = "+" + num5; } else if (num5 < 0) { textObj3.TextureColor = Color.Red; textObj3.Text = num5.ToString(); } else { textObj3.Text = ""; } var textObj4 = m_textInfoStatModContainer.GetChildAt(3) as TextObj; var num6 = equipmentData.BonusMagic - equipmentData2.BonusMagic; if (flag) { num6 = -equipmentData.BonusMagic; } if (num6 > 0) { textObj4.TextureColor = Color.Cyan; textObj4.Text = "+" + num6; } else if (num6 < 0) { textObj4.TextureColor = Color.Red; textObj4.Text = num6.ToString(); } else { textObj4.Text = ""; } var textObj5 = m_textInfoStatModContainer.GetChildAt(4) as TextObj; var num7 = equipmentData.BonusArmor - equipmentData2.BonusArmor; if (flag) { num7 = -equipmentData.BonusArmor; } if (num7 > 0) { textObj5.TextureColor = Color.Cyan; textObj5.Text = "+" + num7; } else if (num7 < 0) { textObj5.TextureColor = Color.Red; textObj5.Text = num7.ToString(); } else { textObj5.Text = ""; } var textObj6 = m_textInfoStatModContainer.GetChildAt(5) as TextObj; var num8 = equipmentData.Weight - equipmentData2.Weight; if (flag) { num8 = -equipmentData.Weight; } if (num8 > 0) { textObj6.TextureColor = Color.Red; textObj6.Text = "+" + num8; } else if (num8 < 0) { textObj6.TextureColor = Color.Cyan; textObj6.Text = num8.ToString(); } else { textObj6.Text = ""; } var secondaryAttribute = equipmentData.SecondaryAttribute; m_addPropertiesText.Text = ""; if (secondaryAttribute != null) { var array = secondaryAttribute; for (var i = 0; i < array.Length; i++) { var vector = array[i]; if (vector.X != 0f) { if (vector.X < 7f) { var expr_4FE = m_addPropertiesText; var text = expr_4FE.Text; expr_4FE.Text = string.Concat(text, "+", (vector.Y * 100f).ToString(), "% ", EquipmentSecondaryDataType.ToString((int)vector.X), "\n"); } else { var expr_56E = m_addPropertiesText; var text2 = expr_56E.Text; var array2 = new string[6]; array2[0] = text2; array2[1] = "+"; var arg_5A0_0 = array2; var arg_5A0_1 = 2; var y = vector.Y; arg_5A0_0[arg_5A0_1] = y.ToString(); array2[3] = " "; array2[4] = EquipmentSecondaryDataType.ToString((int)vector.X); array2[5] = "\n"; expr_56E.Text = string.Concat(array2); } } } if (secondaryAttribute.Length == 0) { m_addPropertiesText.Text = "None"; } } else { m_addPropertiesText.Text = "None"; } m_equipmentTitleText.Text = EquipmentBaseType.ToString(m_currentEquipmentIndex) + " " + EquipmentCategoryType.ToString(num); }
private void EquipmentSelectionInput() { var currentEquipmentIndex = m_currentEquipmentIndex; if (Game.GlobalInput.JustPressed(16) || Game.GlobalInput.JustPressed(17)) { m_currentEquipmentIndex -= 5; if (m_currentEquipmentIndex < 0) { m_currentEquipmentIndex += 15; } } if (Game.GlobalInput.JustPressed(18) || Game.GlobalInput.JustPressed(19)) { m_currentEquipmentIndex += 5; if (m_currentEquipmentIndex > 14) { m_currentEquipmentIndex -= 15; } } if (Game.GlobalInput.JustPressed(20) || Game.GlobalInput.JustPressed(21)) { m_currentEquipmentIndex--; if ((m_currentEquipmentIndex + 1) % 5 == 0) { m_currentEquipmentIndex += 5; } } if (Game.GlobalInput.JustPressed(22) || Game.GlobalInput.JustPressed(23)) { m_currentEquipmentIndex++; if (m_currentEquipmentIndex % 5 == 0) { m_currentEquipmentIndex -= 5; } } if (currentEquipmentIndex != m_currentEquipmentIndex) { var b = Game.PlayerStats.GetBlueprintArray[CurrentCategoryIndex][m_currentEquipmentIndex]; if (b == 1) { Game.PlayerStats.GetBlueprintArray[CurrentCategoryIndex][m_currentEquipmentIndex] = 2; } UpdateNewIcons(); UpdateIconSelectionText(); m_selectionIcon.Position = m_activeIconArray[m_currentEquipmentIndex].AbsPosition; SoundManager.PlaySound("ShopBSMenuMove"); } if (Game.GlobalInput.JustPressed(2) || Game.GlobalInput.JustPressed(3)) { SoundManager.PlaySound("ShopMenuCancel"); m_inCategoryMenu = true; m_selectionIcon.Position = m_blacksmithUI.GetChildAt(m_currentCategoryIndex).AbsPosition; UpdateIconSelectionText(); } if (Game.GlobalInput.JustPressed(0) || Game.GlobalInput.JustPressed(1)) { var num = m_currentCategoryIndex - 6; int num2 = Game.PlayerStats.GetBlueprintArray[num][m_currentEquipmentIndex]; int num3 = Game.PlayerStats.GetEquippedArray[num]; if (num2 < 3 && num2 > 0) { var equipmentData = Game.EquipmentSystem.GetEquipmentData(num, m_currentEquipmentIndex); if (Game.PlayerStats.Gold >= equipmentData.Cost) { SoundManager.PlaySound("ShopMenuUnlock"); Game.PlayerStats.Gold -= equipmentData.Cost; Game.PlayerStats.GetBlueprintArray[num][m_currentEquipmentIndex] = 3; var objContainer = m_masterIconArray[num][m_currentEquipmentIndex]; objContainer.ChangeSprite("BlacksmithUI_" + EquipmentCategoryType.ToString(num) + (m_currentEquipmentIndex % 5 + 1) + "Icon_Character"); for (var i = 1; i < objContainer.NumChildren; i++) { objContainer.GetChildAt(i).Opacity = 1f; } var num4 = 1; if (num == 0) { num4 = 2; } objContainer.GetChildAt(num4).TextureColor = equipmentData.FirstColour; if (num != 4) { num4++; objContainer.GetChildAt(num4).TextureColor = equipmentData.SecondColour; } num2 = 3; UpdateIconSelectionText(); } else { SoundManager.PlaySound("ShopMenuUnlockFail"); } } if (num3 != m_currentEquipmentIndex && num2 == 3) { var equipmentData2 = Game.EquipmentSystem.GetEquipmentData(num, m_currentEquipmentIndex); int num5 = Game.PlayerStats.GetEquippedArray[num]; var num6 = 0; if (num5 != -1) { num6 = Game.EquipmentSystem.GetEquipmentData(num, num5).Weight; } if (equipmentData2.Weight + Player.CurrentWeight - num6 <= Player.MaxWeight) { SoundManager.PlaySound("ShopBSEquip"); Game.PlayerStats.GetEquippedArray[num] = (sbyte)m_currentEquipmentIndex; UpdateIconSelectionText(); var partIndices = PlayerPart.GetPartIndices(num); if (partIndices.X != -1f) { Player.GetChildAt((int)partIndices.X).TextureColor = equipmentData2.FirstColour; } if (partIndices.Y != -1f) { Player.GetChildAt((int)partIndices.Y).TextureColor = equipmentData2.SecondColour; } if (partIndices.Z != -1f) { Player.GetChildAt((int)partIndices.Z).TextureColor = equipmentData2.SecondColour; } if (num == 2 && partIndices.X != -1f) { Player.GetChildAt(5).TextureColor = equipmentData2.FirstColour; } UpdateNewIcons(); return; } Console.WriteLine("cannot equip. too heavy. Weight:" + (equipmentData2.Weight + Player.CurrentWeight - num6)); } else if (num3 == m_currentEquipmentIndex) { Game.PlayerStats.GetEquippedArray[num] = -1; Player.UpdateEquipmentColours(); UpdateIconSelectionText(); UpdateNewIcons(); } } }