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(); } } } }
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); }
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); } } } } } } }