示例#1
0
 public void SetPlayerSkillIcon()
 {
     for (int i = 0; i < m_lstSkillBtns.Count; i++)
     {
         SkillUseBtn use = m_lstSkillBtns[i];
         if (use != null)
         {//过滤宠物技能
             if (use.SkillIndex != 9)
             {
                 m_lstSkillBtns[i].Refresh();
             }
         }
     }
 }
示例#2
0
    private void InitSkill()
    {
        if (loaded)
        {
            return;
        }
        loaded = true;


        SkillUseBtn skillusebtn = null;
        Transform   skill       = transform.Find("SkillPanel");

        if (skill != null)
        {
            Transform  container = skill.Find("offset/SkillBtnContainer");
            UIButton[] btns      = container.GetComponentsInChildren <UIButton>();
            foreach (var item in btns)
            {
                skillusebtn        = item.gameObject.AddComponent <SkillUseBtn>();
                skillusebtn.parent = this;
                int index = int.Parse(item.name.Substring(item.name.IndexOf('_') + 1));
                if (index == 0)
                {
                    // UIEventListener.Get(item.gameObject).onPress = OnLongPress;
                    UIEventListener.Get(item.gameObject).onClick = OnCommonAttack;
                    m_btnCommonAttack = item;
                    InitLongPress(item.transform);
                }
                skillusebtn.Init(index);
                m_lstSkillBtns.Add(skillusebtn);
                if (index < 1 || index > 8)
                {//1-8 会旋转
                    item.transform.parent = m_widget_SkillBtns.transform.parent;
                }
            }
        }



        //InitShortcutGridGoCache();//快捷使用道具
        UpdateShortcutUI();

        RegisterGlobalEvent(true);
    }
示例#3
0
    void SkillEvent(int eventID, object param)
    {
        if (MainPlayerHelper.GetMainPlayer() == null)
        {
            return;
        }
        long userUID = ClientGlobal.Instance().MainPlayer.GetUID();

        if (eventID == (int)GameEventID.ENTITYSYSTEM_ENTITYBEGINMOVE)
        {
            stEntityBeginMove move = (stEntityBeginMove)param;
            if (move.uid != userUID)
            {
                return;
            }
        }
        else if (eventID == (int)Client.GameEventID.SKILLCD_BEGIN)
        {
            Client.stSkillCDChange st = (stSkillCDChange)param;
            uint skillid = (uint)st.skillid;
            DataManager.Manager <SkillCDManager>().AddSkillCD(st.skillid, st.cd);
            for (int i = 0; i < m_lstSkillBtns.Count; i++)
            {
                if (m_lstSkillBtns[i].SkillId == skillid)
                {
                    //Engine.Utility.Log.LogGroup("ZCX", "SKILLPANEL SHOW CD:技能{0} {1}", skillid, m_lstSkillBtns[i].name);
                    m_lstSkillBtns[i].RunCD();
                }
            }
            ExecutePublicCD(skillid);
        }
        else if (eventID == (int)GameEventID.SKILLGUIDE_PROGRESSBACK)
        {
        }
        else if (eventID == (int)GameEventID.SKILLSYSTEM_CDEND)
        {
            if (param != null && param is uint)
            {
                uint skillid = (uint)param;
                for (int i = 0; i < m_lstSkillBtns.Count; i++)
                {
                    if (m_lstSkillBtns[i].SkillId == skillid && m_lstSkillBtns[i].SkillId != CommonAttackID)
                    {
                        m_lstSkillBtns[i].AddEffectWhenCDEnd();
                    }
                }
            }
        }
        else if (eventID == (int)GameEventID.SKILLSYSTEM_REUSESKILLLONGATTACK)
        {
            ReqUseSkill(CommonAttackID);
        }
        else if (eventID == (int)GameEventID.ENTITYSYSTEM_ENTITYDEAD)
        {
            stEntityDead ed = (stEntityDead)param;
            if (ed.uid == userUID)
            {
                bReadingSlider = false;
                CancelPressAttack();
            }
        }
        else if (eventID == (int)GameEventID.ENTITYSYSTEM_RIDE || eventID == (int)GameEventID.ENTITYSYSTEM_UNRIDE)
        {
            //             LearnSkillDataManager data = DataManager.Manager<LearnSkillDataManager>();
            //             if (data != null && data.CurState != SkillSettingState.StateOne)
            //             {
            //                 for (int i = 0; i < m_lstSkillBtns.Count; i++)
            //                 {
            //                     if (m_lstSkillBtns[i].SkillIndex == 10)//第十个是状态转换
            //                     {
            //                         ChangeSkill(m_lstSkillBtns[i].gameObject);
            //                     }
            //                 }
            //             }

            SetSkillIcon();
        }
        else if (eventID == (int)GameEventID.ENTITYSYSTEM_CHANGE || eventID == (int)GameEventID.ENTITYSYSTEM_RESTORE)
        {
            stPlayerChange pc = (stPlayerChange)param;
            if (pc.uid == MainPlayerHelper.GetPlayerID())
            {
                for (int i = 0; i < m_lstSkillBtns.Count; i++)
                {
                    m_lstSkillBtns[i].SetSkillLockStatus(pc.status == 1);
                }
            }
        }
        else if (eventID == (int)GameEventID.SKILLSYSTEM_SKILLSTATECHANE)
        {
            m_uCommonAttackSkillID = DataManager.Manager <LearnSkillDataManager>().GetCommonSkillIDByJob();
        }
        else if (eventID == (int)GameEventID.HOTKEYPRESSDOWN)
        {
            stHotKeyDown hd = (stHotKeyDown)param;
            if (hd.type == 1)
            {
                uint pos = hd.pos;
                for (int i = 0; i < m_lstSkillBtns.Count; i++)
                {
                    SkillUseBtn use = m_lstSkillBtns[i];
                    if (use != null)
                    {
                        if (use.SkillIndex == pos)
                        {
                            UIButton btn = use.GetComponent <UIButton>();
                            if (btn != null)
                            {
                                btn.SendMessage("OnClick", SendMessageOptions.DontRequireReceiver);
                            }
                        }
                    }
                }
            }
        }
    }