Beispiel #1
0
 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;
                 }
             }
         }
     }
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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();
                }
            }
        }