public void SetAbility(int garrAbilityID, bool hideCounterInfo = false, bool hideName = false, FollowerDetailView followerDetailView = null) { this.m_followerDetailView = followerDetailView; if (this.m_iconErrorText != null) { this.m_iconErrorText.gameObject.SetActive(false); } this.m_garrAbilityID = garrAbilityID; GarrAbilityRec record = StaticDB.garrAbilityDB.GetRecord(this.m_garrAbilityID); if (record == null) { Debug.LogWarning(string.Concat("Invalid garrAbilityID ", this.m_garrAbilityID)); return; } this.m_abilityNameText.text = record.Name; if (record.IconFileDataID <= 0) { this.m_abilityIcon.enabled = false; } else { Sprite sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, record.IconFileDataID); if (sprite != null) { this.m_abilityIcon.sprite = sprite; if (this.m_grayscaleShader != null) { Material material = new Material(this.m_grayscaleShader); this.m_abilityIcon.material = material; } } else if (this.m_iconErrorText != null) { this.m_iconErrorText.gameObject.SetActive(true); this.m_iconErrorText.text = string.Concat(string.Empty, record.IconFileDataID); } this.m_abilityIcon.enabled = true; } this.m_garrAbilityID = record.ID; GarrAbilityCategoryRec garrAbilityCategoryRec = StaticDB.garrAbilityCategoryDB.GetRecord((int)record.GarrAbilityCategoryID); if (garrAbilityCategoryRec != null) { this.m_counteredMechanicName.text = garrAbilityCategoryRec.Name; } if (this.m_counteredMechanicGroup != null) { if (!hideCounterInfo) { this.m_counteredGarrMechanicTypeID = 0; GarrAbilityEffectRec garrAbilityEffectRec1 = StaticDB.garrAbilityEffectDB.GetRecordsByParentID(record.ID).FirstOrDefault <GarrAbilityEffectRec>((GarrAbilityEffectRec garrAbilityEffectRec) => { if (garrAbilityEffectRec.GarrMechanicTypeID == 0) { return(false); } if (garrAbilityEffectRec.AbilityAction != 0) { return(false); } return(StaticDB.garrMechanicTypeDB.GetRecord((int)garrAbilityEffectRec.GarrMechanicTypeID) != null); }); if (garrAbilityEffectRec1 != null) { GarrMechanicTypeRec garrMechanicTypeRec = StaticDB.garrMechanicTypeDB.GetRecord((int)garrAbilityEffectRec1.GarrMechanicTypeID); Sprite sprite1 = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, garrMechanicTypeRec.IconFileDataID); if (sprite1 == null) { this.m_counteredMechanicName.text = string.Concat("ERR ", garrMechanicTypeRec.IconFileDataID); } else { this.m_counteredMechanicIcon.sprite = sprite1; } this.m_counteredGarrMechanicTypeID = garrMechanicTypeRec.ID; } } else { this.m_counteredMechanicGroup.SetActive(false); } } this.SetCountered(false, true); if (this.m_counteredMechanicGroup != null) { this.m_counteredMechanicGroup.SetActive(this.m_counteredGarrMechanicTypeID > 0); } this.m_abilityNameText.gameObject.SetActive(!hideName); }
public void SetAbility(int garrAbilityID, bool hideCounterInfo = false, bool hideName = false, FollowerDetailView followerDetailView = null) { this.m_followerDetailView = followerDetailView; if (this.m_iconErrorText != null) { this.m_iconErrorText.gameObject.SetActive(false); } this.m_garrAbilityID = garrAbilityID; GarrAbilityRec record = StaticDB.garrAbilityDB.GetRecord(this.m_garrAbilityID); if (record == null) { Debug.LogWarning("Invalid garrAbilityID " + this.m_garrAbilityID); return; } this.m_abilityNameText.text = record.Name; if (record.IconFileDataID > 0) { Sprite sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, record.IconFileDataID); if (sprite != null) { this.m_abilityIcon.sprite = sprite; if (this.m_grayscaleShader != null) { Material material = new Material(this.m_grayscaleShader); this.m_abilityIcon.material = material; } } else if (this.m_iconErrorText != null) { this.m_iconErrorText.gameObject.SetActive(true); this.m_iconErrorText.text = string.Empty + record.IconFileDataID; } this.m_abilityIcon.enabled = true; } else { this.m_abilityIcon.enabled = false; } this.m_garrAbilityID = record.ID; GarrAbilityCategoryRec record2 = StaticDB.garrAbilityCategoryDB.GetRecord((int)record.GarrAbilityCategoryID); if (record2 != null) { this.m_counteredMechanicName.text = record2.Name; } if (this.m_counteredMechanicGroup != null) { if (hideCounterInfo) { this.m_counteredMechanicGroup.SetActive(false); } else { this.m_counteredGarrMechanicTypeID = 0; StaticDB.garrAbilityEffectDB.EnumRecordsByParentID(record.ID, delegate(GarrAbilityEffectRec garrAbilityEffectRec) { if (garrAbilityEffectRec.GarrMechanicTypeID == 0u) { return(true); } if (garrAbilityEffectRec.AbilityAction != 0u) { return(true); } GarrMechanicTypeRec record3 = StaticDB.garrMechanicTypeDB.GetRecord((int)garrAbilityEffectRec.GarrMechanicTypeID); if (record3 == null) { return(true); } Sprite sprite2 = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, record3.IconFileDataID); if (sprite2 != null) { this.m_counteredMechanicIcon.sprite = sprite2; } else { this.m_counteredMechanicName.text = "ERR " + record3.IconFileDataID; } this.m_counteredGarrMechanicTypeID = record3.ID; return(false); }); } } this.SetCountered(false, true); if (this.m_counteredMechanicGroup != null) { this.m_counteredMechanicGroup.SetActive(this.m_counteredGarrMechanicTypeID > 0); } this.m_abilityNameText.gameObject.SetActive(!hideName); }