Exemplo n.º 1
0
    public static SingleLearnedSkill CeateNew(int _index, int _id, GameObject gameParent)
    {
        Object prefab = null;

        if (prefab == null)
        {
            prefab = exResources.GetResource(ResourceType.GUI, "SpiritAnimal/skill");
        }
        if (prefab == null)
        {
            GameSys.LogError("找不到已学技能预制");
            return(null);
        }
        GameObject obj = Instantiate(prefab) as GameObject;

        obj.transform.parent        = gameParent.transform;
        obj.transform.localPosition = Vector3.zero;
        obj.transform.localScale    = Vector3.one;
        prefab = null;
        SingleLearnedSkill itemUI = obj.GetComponent <SingleLearnedSkill>();

        if (itemUI == null)
        {
            GameSys.LogError("预制上找不到组件:<SingleLearnedSkill>");
            return(null);
        }
        itemUI.SkillRef = ConfigMng.Instance.GetPetSkillRef(_id);
        return(itemUI);
    }
Exemplo n.º 2
0
    void ShowSkill()
    {
        List <uint> SkillList = curTargetInfo.CurPetInfo.SkillList;

        foreach (SingleLearnedSkill ui in petSkillList.Values)
        {
            ui.gameObject.SetActive(false);
        }
        if (grid != null)
        {
            grid.maxPerLine = SkillList.Count;
            SingleLearnedSkill skill = null;
            for (int i = 0, max = SkillList.Count; i < max; i++)
            {
                int id = (int)SkillList[i];
                if (!petSkillList.ContainsKey(id))
                {
                    if (singleSkill != null)
                    {
                        GameObject go = (GameObject)GameObject.Instantiate(singleSkill.gameObject);
                        go.transform.parent        = singleSkill.transform.parent;
                        go.transform.localPosition = Vector3.zero;
                        go.transform.localScale    = Vector3.one;
                        skill = go.GetComponent <SingleLearnedSkill>();
                        if (skill != null)
                        {
                            petSkillList[id] = skill;
                            skill.SkillRef   = ConfigMng.Instance.GetPetSkillRef((int)id);
                        }
                        go.SetActive(true);
                    }
                }
                else
                {
                    SingleLearnedSkill petskill = petSkillList[id] as SingleLearnedSkill;
                    petskill.SkillRef = ConfigMng.Instance.GetPetSkillRef((int)id);
                    petskill.transform.localPosition = new Vector3();
                    petskill.gameObject.SetActive(true);
                }
            }
            grid.repositionNow = true;
        }
    }
Exemplo n.º 3
0
 /// <summary>
 /// 显示技能
 /// </summary>
 void ShowSkill()
 {
     if (parent != null)
     {
         UIGrid grid = parent.GetComponent <UIGrid>();
         if (grid != null)
         {
             grid.maxPerLine = curInfo.SkillList.Count;
             for (int i = 0, max = petLearedSkillList.Count; i < max; i++)
             {
                 petLearedSkillList[i].SkillRef = null;
                 petLearedSkillList[i].gameObject.SetActive(false);
             }
             for (int i = 0, max = curInfo.SkillList.Count; i < max; i++)
             {
                 if (petLearedSkillList.Count <= i)
                 {
                     SingleLearnedSkill item = SingleLearnedSkill.CeateNew(i, (int)curInfo.SkillList[i], parent);
                     item.gameObject.SetActive(true);
                     item.SkillRef = ConfigMng.Instance.GetPetSkillRef((int)curInfo.SkillList[i]);
                     if (item != null)
                     {
                         petLearedSkillList.Add(item);
                         UIEventListener.Get(item.gameObject).onClick  -= OnClickSkill;
                         UIEventListener.Get(item.gameObject).onClick  += OnClickSkill;
                         UIEventListener.Get(item.gameObject).parameter = (int)curInfo.SkillList[i];
                     }
                 }
                 else
                 {
                     petLearedSkillList[i].SkillRef = ConfigMng.Instance.GetPetSkillRef((int)curInfo.SkillList[i]);
                     petLearedSkillList[i].gameObject.SetActive(true);
                     UIEventListener.Get(petLearedSkillList[i].gameObject).onClick  -= OnClickSkill;
                     UIEventListener.Get(petLearedSkillList[i].gameObject).onClick  += OnClickSkill;
                     UIEventListener.Get(petLearedSkillList[i].gameObject).parameter = (int)curInfo.SkillList[i];
                 }
             }
             grid.repositionNow = true;
         }
     }
 }
Exemplo n.º 4
0
    /// <summary>
    /// 显示所有被动技能
    /// </summary>
    void ShowSkill()
    {
        skillProperty = 0;
        List <NewPetSkillRef> list = new List <NewPetSkillRef>();

        for (int i = 0, max = curInfo.SkillList.Count; i < max; i++)
        {
            NewPetSkillRef petSkillRef = ConfigMng.Instance.GetPetSkillRef((int)curInfo.SkillList[i]);
            if (petSkillRef != null)
            {
                if (petSkillRef.beidong == 2 || petSkillRef.beidong == 3 || petSkillRef.beidong == 4)
                {
                    if (petSkillRef.beidong == 4)
                    {
                        for (int j = 0; j < petSkillRef.add_attr.Count; j++)
                        {
                            skillProperty += petSkillRef.add_attr[j].value;
                        }
                    }
                    list.Add(petSkillRef);
                }
            }
        }
        if (parent != null)
        {
            if (grid != null)
            {
                grid.maxPerLine = list.Count;

                for (int i = 0, max = petBDSkillList.Count; i < max; i++)
                {
                    petBDSkillList[i].SkillRef = null;
                    petBDSkillList[i].gameObject.SetActive(false);
                }

                for (int i = 0, max = list.Count; i < max; i++)
                {
                    NewPetSkillRef petSkillRef = list[i];
                    if (petSkillRef != null)
                    {
                        if (petBDSkillList.Count <= i)
                        {
                            SingleLearnedSkill item = SingleLearnedSkill.CeateBDSkill(i, petSkillRef.id, parent);
                            if (item != null)
                            {
                                item.gameObject.SetActive(true);
                                petBDSkillList.Add(item);
                                UIEventListener.Get(item.gameObject).onClick  -= OnClickSkill;
                                UIEventListener.Get(item.gameObject).onClick  += OnClickSkill;
                                UIEventListener.Get(item.gameObject).parameter = petSkillRef.id;
                            }
                        }
                        else
                        {
                            petBDSkillList[i].SkillRef = petSkillRef;
                            petBDSkillList[i].gameObject.SetActive(true);
                            UIEventListener.Get(petBDSkillList[i].gameObject).onClick  -= OnClickSkill;
                            UIEventListener.Get(petBDSkillList[i].gameObject).onClick  += OnClickSkill;
                            UIEventListener.Get(petBDSkillList[i].gameObject).parameter = petSkillRef.id;
                        }
                    }
                }
                grid.repositionNow = true;
            }
        }
    }