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