Пример #1
0
    /// <summary>
    /// 刷新技能槽上技能的信息,参数技能槽索引,有效范围[0..3]
    /// </summary>
    void UpdateEquipSkill(int slotIdx)
    {
        SkillItemUI item = equipSkills[slotIdx] as SkillItemUI;

        if (item == null)
        {
            return;
        }

        //锁定状态;
        if (MySkillModule.IsSlotLocked(slotIdx + 1))
        {
            item.SLockType  = SkillLockType.Locked;
            item.IsShowIcon = false;
            item.IsTrigger  = false;//停止响应点击事件;
        }
        else
        {
            int skillID = MySkillModule.GetEquipSkillID(slotIdx);

            SkillLearnTableItem slti = MySkillModule.GetDetailBySkillId(skillID);
            if (slti == null)
            {
                item.SetSkillIcon("");
                item.SLockType = SkillLockType.UnLocked;
                return;
            }

            item.SetSkillIcon(slti.skill_icon);
            item.SLockType  = SkillLockType.UnLocked;
            item.IsShowIcon = true;
            item.IsTrigger  = true;
        }
    }
Пример #2
0
    /// <summary>
    /// 更新指定技能ID的信息,技能列表中,技能索引减1即列表索引;
    /// </summary>
    /// <param name="skillId">Skill identifier.</param>
    void UpdateSkillInfo(int skillId)
    {
        if (!MySkillModule.IsLegalSkillID(skillId))
        {
            return;
        }

        //		if(skillId > skillsList.Count || skillId < 1)
        //			return;

        SkillItemUI item = skillsList[skillId - 1] as SkillItemUI;

        if (item == null)
        {
            return;
        }

        int  skillLv = MySkillModule.GetSkillLvBySkillID(skillId);
        bool canOpen = MySkillModule.canOpen(skillId);

        if (skillLv == 0 && !canOpen)//锁定状态;
        {
            item.SLockType         = SkillLockType.Locked;
            item.IsShowEquiSlotNum = false;
            item.IsShowLv          = false;
            int openLv = MySkillModule.GetSkillUnlockLvByID(skillId);
            item.SetShowHint(openLv.ToString() + "级解锁");
            return;
        }

        else if (skillLv == 0 && canOpen)//可解锁状态;
        {
            item.SLockType         = SkillLockType.Opened;
            item.IsShowEquiSlotNum = false;
            item.IsShowLv          = false;
            item.SetShowHint("可解锁");
            return;
        }

        else
        {
            item.SLockType = SkillLockType.UnLocked;
            item.SetShowLevel(skillLv);
            item.IsShowHint = false;

            int slotIdx = -1;
            if (MySkillModule.GetSlotIdxBySkillID(skillId, ref slotIdx))
            {
                item.IsShowEquiSlotNum = true;
                item.SetShowEquipNum(slotIdx + 1);
            }
            else
            {
                item.IsShowEquiSlotNum = false;
            }
        }
    }
Пример #3
0
 void InitEquipSkills()
 {
     for (int i = 0, j = equipSkills.Count; i < j; i++)
     {
         SkillItemUI item = equipSkills[i] as SkillItemUI;
         item.IsShowLv          = false;
         item.IsShowEquiSlotNum = true;
         UIEventListener.Get(item.Bt.gameObject).onClick = onEquipItemClick;
     }
 }
Пример #4
0
    //dodgeSkill
    private void refreshDodgeSkill(SkillUIData dt)
    {
        SkillItemUI skillUI = dodgeSkill.GetComponent <SkillItemUI>();

        if (skillUI == null)
        {
            skillUI = dodgeSkill.AddComponent <SkillItemUI>();
        }

        if (skillUI != null)
        {
            skillUI.setData(dt.getDodgeSkillData());
        }
    }
Пример #5
0
    /// <summary>
    /// invalid 是否无效;
    /// </summary>
    /// <param name="skillId"></param>
    /// <param name="invalid"></param>
    void CreateSkill(int skillId, bool invalid = false)
    {
        GameObject go = UIResourceManager.Instance.CloneGameObject(skillItemprefab);

        if (go == null)
        {
            Debug.LogError("SkillItemUI Prefab Not Found");
            return;
        }

        UIEventListener.Get(go).onDrag = onSkillItemDrag;
        go.SetActive(true);
        go.name                 = SKILL_ITEM_NAME + skillId.ToString();
        go.transform.parent     = skillRoot.transform;
        go.transform.localScale = Vector3.one;//防止缩放;

        SkillItemUI item = new SkillItemUI(go);

        if (item == null)
        {
            Debug.LogError("SkillItemUI Component Not Found");
            return;
        }

        //item.onDragScrollView = onSkillItemDrag;

        //		UIEventListener.Get(skillRoot.transform.parent.gameObject).onPress = onSkillItemPress;
        //		UIEventListener.Get(skillRoot.transform.parent.gameObject).onDrag = onSkillItemDrag;

        //		UIEventListener.Get(go).onDrag = onSkillItemDrag;

        if (invalid)//无效的技能;
        {
            go.GetComponent <UIButton>().normalSprite = "touming";
            go.GetComponent <UISprite>().spriteName   = "touming";
            for (int m = 0, n = go.transform.childCount; m < n; m++)
            {
                go.transform.GetChild(m).gameObject.SetActive(false);
            }
        }
        else
        {
            //图标是不需要变的放在这里进行处理;
            item.SetSkillIcon(MySkillModule.GetSkillIconByID(skillId));

            UIEventListener.Get(go).onClick = onSkillItemClick;

            skillsList.Add(item);
        }
    }
Пример #6
0
    /// <summary>
    /// 技能解锁;
    /// </summary>
    void UnLock()
    {
        SkillItemUI item = skillsList[CurSkillId - 1] as SkillItemUI;

        if (item == null)
        {
            return;
        }
        if (item.SLockType == SkillLockType.Opened)
        {
            MySkillModule.UnLock(CurSkillId);
        }
        else
        {
            //人物等级不足,解锁失败!;
            PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, StringHelper.GetString("skill_unlock_nolv")));
        }
    }
Пример #7
0
    //normalSkill
    private void refreshNormalSkill(SkillUIData dt)
    {
        List <SkillItemUIData> lst = dt.getNormalSkillData();

        for (int i = 0; i < lst.Count; i++)
        {
            GameObject go = skillMap[i];
            if (go == null)
            {
                break;
            }
            SkillItemUI item = go.GetComponent <SkillItemUI>();
            if (item == null)
            {
                item = go.AddComponent <SkillItemUI>();
            }
            if (item != null)
            {
                item.setData(lst[i]);
            }
        }
    }
Пример #8
0
 void Awake()
 {
     instance = this;
 }