// Get and display all info for current sub-boss private void DisplayBossCombatInfo() { if (CacheManager.SetupTab.CurrentSubBossList.Count != 0) { //UPDATE ARROW UI - disable buttons if not possible to increment and/or decrement if (CacheManager.SetupTab.currentSubBossIndex == 0) { leftArrow.interactable = false; } else { leftArrow.interactable = true; } if (CacheManager.SetupTab.currentSubBossIndex == CacheManager.SetupTab.CurrentSubBossList.Count - 1) { rightArrow.interactable = false; } else { rightArrow.interactable = true; } // Get the current sub-boss data BossCombatData bcd = CacheManager.SetupTab.CurrentSubBoss; // Basic info - name, lifepoints, whether or not it can poison the player subBossNameText.text = bcd.name; lifePointsText.text = bcd.lifepoints.ToString("N0"); poisonousText.text = bcd.poisonous ? "Yes" : "No"; // AFFINITIES // Images weaknessImage.sprite = null; weaknessImage.sprite = weaknessSprites[(int)bcd.affinityData.attackStyleWeakness]; weaknessAffinityText.text = bcd.affinityData.weaknessAffinity == -1 ? "-" : bcd.affinityData.weaknessAffinity + ""; // Text meleeAffinityText.text = bcd.affinityData.meleeAffinity + ""; rangedAffinityText.text = bcd.affinityData.rangedAffinity + ""; magicAffinityText.text = bcd.affinityData.magicAffinity + ""; // Immunities poisonImmuneText.text = bcd.poisonImmune ? IMMUNETEXT : NOTIMMUNETEXT; deflectImmuneText.text = bcd.reflectImmune ? IMMUNETEXT : NOTIMMUNETEXT; stunImmuneText.text = bcd.stunImmune ? IMMUNETEXT : NOTIMMUNETEXT; statDrainImmuneText.text = bcd.statDrainImmune ? IMMUNETEXT : NOTIMMUNETEXT; // Susceptibilities; always reset sprite to null first monsterTypeSuscImage.sprite = null; combatClassSuscImage.sprite = null; monsterTypeSuscImage.sprite = monsterTypeSuscSprites[(int)bcd.monsterType]; combatClassSuscImage.sprite = combatClassSuscSprites[(int)bcd.combatClass]; } // Call event to calculate and display hit chance EventManager.Instance.UpdateHitChance(); }
public BossInfo(short bossID, string bossName, bool hasAccessToRareDropTable, uint baseInstanceCost, RS3BossCombatDataSO[] combatData) { this.bossID = bossID; this.bossName = bossName; this.hasAccessToRareDropTable = hasAccessToRareDropTable; this.baseInstanceCost = baseInstanceCost; this.combatData = new List <BossCombatData>(); if (combatData == null) { return; } else { BossCombatData bcd; for (int i = 0; i < combatData.Length; ++i) { bcd = new BossCombatData(combatData[i]); this.combatData.Add(bcd); } } }