Exemplo n.º 1
0
 private void UpdateEquipmentDataText()
 {
     m_equipmentTitleText.Text = EquipmentAbilityType.ToString(m_currentEquipmentIndex) + " Rune\n(" +
                                 EquipmentCategoryType.ToString2(m_currentCategoryIndex - 6) + ")";
     m_descriptionText.Text = EquipmentAbilityType.Description(m_currentEquipmentIndex);
     m_descriptionText.WordWrap(195);
     m_descriptionText.Y = m_equipmentTitleText.Y + 60f;
     m_instructionsTitleText.Position = new Vector2(m_enchantressUI.X + 140f,
                                                    m_descriptionText.Bounds.Bottom + 20);
     m_instructionsText.Text = EquipmentAbilityType.Instructions(m_currentEquipmentIndex);
     m_instructionsText.WordWrap(200);
     m_instructionsText.Position = new Vector2(m_instructionsTitleText.X, m_instructionsTitleText.Bounds.Bottom);
 }
Exemplo n.º 2
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;
                 }
             }
         }
     }
 }
Exemplo n.º 3
0
        public override void OnEnter()
        {
            m_tripStat1.Visible = false;
            m_tripStat2.Visible = false;
            m_tripStat1.Scale   = Vector2.One;
            m_tripStat2.Scale   = Vector2.One;
            if (m_itemType != 7)
            {
                (ScreenManager.Game as Game).SaveManager.SaveFiles(SaveType.PlayerData, SaveType.UpgradeData);
            }
            m_itemSprite.Rotation         = 0f;
            m_itemSprite.Scale            = Vector2.One;
            m_itemStartPos.X              = m_itemStartPos.X - Camera.TopLeftCorner.X;
            m_itemStartPos.Y              = m_itemStartPos.Y - Camera.TopLeftCorner.Y;
            m_storedMusicVolume           = SoundManager.GlobalMusicVolume;
            m_songName                    = SoundManager.GetCurrentMusicName();
            m_lockControls                = true;
            m_continueText.Opacity        = 0f;
            m_continueText.Text           = "[Input:" + 0 + "]  to continue";
            m_itemFoundText.Position      = m_itemEndPos;
            m_itemFoundText.Y            += 70f;
            m_itemFoundText.Scale         = Vector2.Zero;
            m_tripStat1FoundText.Position = m_itemFoundText.Position;
            m_tripStat2FoundText.Position = m_itemFoundText.Position;
            m_tripStat1FoundText.Scale    = Vector2.Zero;
            m_tripStat2FoundText.Scale    = Vector2.Zero;
            m_tripStat1FoundText.Visible  = false;
            m_tripStat2FoundText.Visible  = false;
            switch (m_itemType)
            {
            case 1:
                m_itemSpinning = true;
                m_itemSprite.ChangeSprite("BlueprintIcon_Sprite");
                m_itemFoundSprite.ChangeSprite("BlueprintFoundText_Sprite");
                m_itemFoundText.Text = EquipmentBaseType.ToString((int)m_itemInfo.Y) + " " +
                                       EquipmentCategoryType.ToString2((int)m_itemInfo.X);
                break;

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

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

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

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

            case 7:
                m_itemSprite.ChangeSprite(GetMedallionImage((int)m_itemInfo.X));
                m_itemFoundSprite.ChangeSprite("ItemFoundText_Sprite");
                if (m_itemInfo.X == 19f)
                {
                    m_itemFoundText.Text = "Medallion completed!";
                }
                else
                {
                    m_itemFoundText.Text = "You've collected a medallion piece!";
                }
                break;
            }
            m_itemSprite.PlayAnimation();
            ItemSpinAnimation();
            base.OnEnter();
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
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();
                }
            }
        }
Exemplo n.º 6
0
        private void LoadBackCardStats(PlayerObj player)
        {
            for (var i = 0; i < m_dataList1.Count; i++)
            {
                switch (i)
                {
                case 0:
                    m_dataList1[i].Text = player.MaxHealth.ToString();
                    m_dataList2[i].Text = player.Damage.ToString();
                    break;

                case 1:
                    m_dataList1[i].Text = player.MaxMana.ToString();
                    m_dataList2[i].Text = player.TotalMagicDamage.ToString();
                    break;

                case 2:
                {
                    m_dataList1[i].Text = string.Concat(player.TotalArmor.ToString(), "(",
                                                        (int)(player.TotalDamageReduc * 100f), "%)");
                    var num = player.TotalCritChance * 100f;
                    m_dataList2[i].Text = ((int)Math.Round(num, MidpointRounding.AwayFromZero)) + "%";
                    break;
                }

                case 3:
                    m_dataList1[i].Text = player.CurrentWeight + "/" + player.MaxWeight;
                    m_dataList2[i].Text = ((int)(player.TotalCriticalDamage * 100f)) + "%";
                    break;
                }
            }
            var getEquippedArray = Game.PlayerStats.GetEquippedArray;
            var num2             = (int)m_equipmentTitle.Y + 40;

            for (var j = 0; j < Game.PlayerStats.GetEquippedArray.Length; j++)
            {
                m_equipmentList[j].Visible = false;
                m_equipmentList[j].Y       = num2;
                if (getEquippedArray[j] != -1)
                {
                    m_equipmentList[j].Text = EquipmentBaseType.ToString(getEquippedArray[j]) + " " +
                                              EquipmentCategoryType.ToString2(j);
                    m_equipmentList[j].Visible = true;
                    num2 += 20;
                }
            }
            num2 = (int)m_runesTitle.Y + 40;
            for (var k = 0; k < m_runeBackTitleList.Count; k++)
            {
                m_runeBackTitleList[k].Y             = num2;
                m_runeBackDescriptionList[k].Y       = num2;
                m_runeBackTitleList[k].Visible       = false;
                m_runeBackDescriptionList[k].Visible = false;
                var num3 = 0f;
                switch (k)
                {
                case 0:
                    num3 = player.TotalDoubleJumps;
                    break;

                case 1:
                    num3 = player.TotalAirDashes;
                    break;

                case 2:
                    num3 = player.TotalVampBonus;
                    break;

                case 3:
                    num3 = player.TotalFlightTime;
                    break;

                case 4:
                    num3 = player.ManaGain;
                    break;

                case 5:
                    num3 = player.TotalDamageReturn * 100f;
                    break;

                case 6:
                    num3 = player.TotalGoldBonus * 100f;
                    break;

                case 7:
                    num3 = player.TotalMovementSpeedPercent * 100f - 100f;
                    break;

                case 8:
                    num3 = Game.PlayerStats.GetNumberOfEquippedRunes(8) * 8;
                    break;

                case 9:
                    num3 = Game.PlayerStats.GetNumberOfEquippedRunes(9) * 0.75f;
                    break;
                }
                if (num3 > 0f)
                {
                    m_runeBackDescriptionList[k].Text    = "(" + EquipmentAbilityType.ShortDescription(k, num3) + ")";
                    m_runeBackTitleList[k].Visible       = true;
                    m_runeBackDescriptionList[k].Visible = true;
                    num2 += 20;
                }
            }
            if (Game.PlayerStats.HasArchitectFee)
            {
                m_runeBackDescriptionList[m_runeBackDescriptionList.Count - 2].Text = "(" +
                                                                                      EquipmentAbilityType
                                                                                      .ShortDescription(20, 0f) +
                                                                                      ")";
                m_runeBackDescriptionList[m_runeBackDescriptionList.Count - 2].Visible = true;
                m_runeBackTitleList[m_runeBackDescriptionList.Count - 2].Visible       = true;
                num2 += 20;
            }
            if (Game.PlayerStats.TimesCastleBeaten > 0)
            {
                m_runeBackDescriptionList[m_runeBackDescriptionList.Count - 1].Text = "(" +
                                                                                      EquipmentAbilityType
                                                                                      .ShortDescription(21,
                                                                                                        50 *
                                                                                                        Game.PlayerStats
                                                                                                        .TimesCastleBeaten) +
                                                                                      ")";
                m_runeBackDescriptionList[m_runeBackDescriptionList.Count - 1].Visible = true;
                m_runeBackTitleList[m_runeBackDescriptionList.Count - 1].Visible       = true;
                if (Game.PlayerStats.HasArchitectFee)
                {
                    m_runeBackDescriptionList[m_runeBackDescriptionList.Count - 1].Y = num2;
                    m_runeBackTitleList[m_runeBackDescriptionList.Count - 1].Y       = num2;
                }
            }
            (m_backCard.GetChildAt(3) as TextObj).Text = Game.PlayerStats.PlayerName;
        }