Пример #1
0
    /// <summary>
    /// 技能装配信息发生改变
    /// </summary>
    void OnSkillUpdate(xc.ClientEventBaseArgs data)
    {
        if (mCacheTrans == null)
        {
            return;
        }

        uint skillId = SkillManager.GetInstance().GetFitSkillId(mFuryHole);

        if (mSkillIdx != skillId)
        {
            // 装配的技能ID更换的时候,触发特效
            if (mSkillIdx != 0)
            {
                if (mChangeEffect != null)
                {
                    mChangeEffect.SetActive(false);
                    mChangeEffect.SetActive(true);
                }
            }

            mSkillIdx = skillId;
        }

        mBasicSkillInfo = DBManager.Instance.GetDB <DBDataAllSkill>().GetOneAllSkillInfo_byActiveSkillId(skillId);
        mSkillInfo      = DBSkillSev.Instance.GetSkillInfo(skillId);

        // 设置技能图标
        if (mBasicSkillInfo != null && mSpriteList != null)
        {
            var sprite = mSpriteList.LoadSprite(mBasicSkillInfo.Icon);
            if (sprite != null)
            {
                mSkillImage.color  = Color.white;
                mSkillImage.sprite = sprite;
                return;
            }
        }

        // 技能未装配,不显示技能对应图片
        mSkillImage.color = Color.clear;
    }
Пример #2
0
    /// <summary>
    /// 技能装配信息发生改变
    /// </summary>
    void OnSkillUpdate(xc.ClientEventBaseArgs data)
    {
        if (mCacheTrans == null)
        {
            return;
        }

        uint skillId = SkillManager.GetInstance().GetFitSkillId(mFitPos);

        mSkillIdx       = skillId;
        mBasicSkillInfo = DBManager.Instance.GetDB <DBDataAllSkill>().GetOneAllSkillInfo_byActiveSkillId(skillId);
        mSkillInfo      = DBSkillSev.Instance.GetSkillInfo(skillId);
        DBSkillSev skill_db = DBManager.GetInstance().GetDB <DBSkillSev>();

        mHasCastingReadyStage = skill_db.HasCastingReadyStage(skillId);

        // 设置技能图标
        if (SkillHoleManager.Instance.IsHoleOpen(mFitPos) == false || SkillHoleManager.Instance.IsHoleWillOpen(mFitPos))
        {
            mSkillImage.color = Color.clear;
        }
        else
        {
            if (skillId != 0)// 设置技能图标
            {
                if (mBasicSkillInfo != null)
                {
                    if (mSpriteList != null)
                    {
                        string icon_str = mBasicSkillInfo.Icon;
                        if (mFitPos == (uint)DBCommandList.OPFlag.OP_A) //普攻
                        {
                            var localPlayer = Game.Instance.GetLocalPlayer();
                            if (localPlayer != null && localPlayer.IsShapeShift)// 变身状态下的图标需要特殊处理
                            {
                                icon_str = mBasicSkillInfo.Icon;

                                if (string.IsNullOrEmpty(icon_str))
                                {
                                    VocationInfo info = DBVocationInfo.Instance.GetVocationInfo(Game.Instance.LocalPlayerVocation);
                                    if (info != null && string.IsNullOrEmpty(info.common_skill_icon_main) == false)
                                    {
                                        icon_str = info.common_skill_icon_main;
                                    }
                                }
                            }
                            else
                            {
                                VocationInfo info = DBVocationInfo.Instance.GetVocationInfo(Game.Instance.LocalPlayerVocation);
                                if (info != null && string.IsNullOrEmpty(info.common_skill_icon_main) == false)
                                {
                                    icon_str = info.common_skill_icon_main;
                                }
                            }
                        }

                        Sprite sprite = mSpriteList.LoadSprite(icon_str);
                        if (sprite != null)
                        {
                            mSkillImage.color  = Color.white;
                            mSkillImage.sprite = sprite;
                        }
                        else
                        {
                            mSkillImage.color = Color.clear;
                        }
                    }
                    else
                    {
                        mSkillImage.color = Color.clear;
                    }
                }
                else
                {
                    mSkillImage.color = Color.clear;
                }
            }
            else// 技能未装配,不显示技能对应图片
            {
                mSkillImage.color = Color.clear;
            }
        }
    }