Пример #1
0
        public void AddPetSkill(int skillid, int index)
        {
            PetSkillObj obj = new PetSkillObj()
            {
                id = skillid, lv = 1
            };

            if (!HasLearnPetSkill(obj))
            {//服务器发索引从1开始 (lua)
                int location = index - 1;
                if (location < 0)
                {
                    Engine.Utility.Log.Error(" 数组越界 index 等于或小于0");
                }
                if (location <= petSkillList.Count)
                {
                    Engine.Utility.Log.LogGroup("ZDY", " insert pet skill " + skillid.ToString());
                    petSkillList.Insert(location, obj);
                }
                else
                {
                    Engine.Utility.Log.Error(" 数组越界");
                }
            }
        }
Пример #2
0
 public void SetPetSkillLock(int skillid, bool bLock)
 {
     for (int i = 0; i < petSkillList.Count; i++)
     {
         PetSkillObj obj = petSkillList[i];
         if (obj.id == skillid)
         {
             petSkillList[i].@lock = bLock;
         }
     }
 }
Пример #3
0
 public void PetSkillUpGrade(int skillid)
 {
     for (int i = 0; i < petSkillList.Count; i++)
     {
         PetSkillObj obj = petSkillList[i];
         if (obj.id == skillid)
         {
             petSkillList[i].lv += 1;
         }
     }
 }
Пример #4
0
 public void DeletePetSkill(int skillid)
 {
     for (int i = 0; i < petSkillList.Count; i++)
     {
         PetSkillObj obj = petSkillList[i];
         if (obj.id == skillid)
         {
             Engine.Utility.Log.LogGroup("ZDY", " remove pet skill " + skillid.ToString());
             petSkillList.RemoveAt(i);
             break;
         }
     }
 }
Пример #5
0
        bool HasLearnPetSkill(PetSkillObj obj)
        {
            bool isContain = false;

            foreach (var skill in petSkillList)
            {
                if (skill.id == obj.id)
                {
                    return(true);
                }
            }
            return(isContain);
        }
Пример #6
0
 public void InitFirstSkill()
 {
     if (CurPet != null)
     {
         List <PetSkillObj> list = CurPet.GetPetSkillList();
         if (petDataManager.SelectSkillDataBase == null)
         {
             if (list.Count > 0)
             {
                 PetSkillObj   obj = list[0];
                 SkillDatabase db  = GameTableManager.Instance.GetTableItem <SkillDatabase>((uint)obj.id, obj.lv);
                 if (db != null)
                 {
                     petDataManager.SetSkillDatabase(db);
                 }
             }
         }
         if (list.Count == 0)
         {
             petDataManager.SetSkillDatabase(null);
         }
     }
 }
Пример #7
0
    public void InitSkillPanel()
    {
        if (m_label_jinengpetname == null)
        {
            return;
        }
        if (CurPet != null)
        {
            m_label_jinengpetname.text  = petDataManager.GetCurPetName();
            m_label_jinengpetlevel.text = petDataManager.GetCurPetLevel().ToString();
            List <PetSkillObj> list = CurPet.GetPetSkillList();


            if (petDataManager.SelectSkillDataBase != null)
            {
                m_widget_SkillDescription.gameObject.SetActive(true);

                uint        skillid = petDataManager.SelectSkillDataBase.wdID;
                PetSkillObj obj     = null;
                if (list.Count > 0)
                {
                    obj = list[0];
                }


                for (int i = 0; i < list.Count; i++)
                {
                    var skill = list[i];
                    if (skill.id == skillid)
                    {
                        obj = skill;
                    }
                }
                if (obj != null)
                {
                    SkillDatabase db = GameTableManager.Instance.GetTableItem <SkillDatabase>((uint)obj.id, obj.lv);
                    if (db != null)
                    {
                        petDataManager.SetSkillDatabase(db);
                    }
                }
                else
                {
                    m_widget_SkillDescription.gameObject.SetActive(false);
                    return;
                }
                m_label_Skillname.text  = petDataManager.SelectSkillDataBase.strName;
                m_label_SkillLevel.text = petDataManager.SelectSkillDataBase.wdLevel.ToString();
                PetSkillType type = (PetSkillType)Enum.Parse(typeof(PetSkillType), petDataManager.SelectSkillDataBase.petType.ToString());
                m_label_SkillType.text         = type.GetEnumDescription();
                m_label_NowLevel.text          = petDataManager.SelectSkillDataBase.strDesc;
                m_label_skill_xiaohaogold.text = petDataManager.SelectSkillDataBase.dwMoney.ToString();
                uint          nextLevel = petDataManager.SelectSkillDataBase.wdLevel + 1;
                SkillDatabase nexeDb    = GameTableManager.Instance.GetTableItem <SkillDatabase>(petDataManager.SelectSkillDataBase.wdID, (int)nextLevel);
                if (nexeDb != null)
                {
                    m_label_NextLevel.text = nexeDb.strDesc;
                    m_widget_next.gameObject.SetActive(true);
                    m_label_skillfulltips.gameObject.SetActive(false);
                }
                else
                {
                    m_label_skillfulltips.gameObject.SetActive(true);
                    m_widget_next.gameObject.SetActive(false);
                    return;
                }
                string   itemArray   = nexeDb.needItemArray;
                string[] itemIDArray = itemArray.Split(';');
                string[] itemNum     = itemIDArray[0].Split('_');
                uint     itemID      = uint.Parse(itemNum[0]);
                uint     needNum     = uint.Parse(itemNum[1]);
                m__jineng_icon.transform.DestroyChildren();
                m_nSkillNeedItemID = itemID;
                int itemCount = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemID);
                UpLevelNeedNum = needNum;
                ShowJiNengColdLabel(itemID);
                UIItem.AttachParent(m__jineng_icon.transform, itemID, (uint)itemCount, ShowJinengGetWayCallBack);
                int count = CurPet.GetPetSkillList().Count;

                ItemDataBase itemDb = GameTableManager.Instance.GetTableItem <ItemDataBase>(itemID);
                if (itemDb != null)
                {
                    m_label_jineng_name.text   = itemDb.itemName;
                    m_label_jineng_number.text = StringUtil.GetNumNeedString(itemCount, needNum);
                }
            }
            else
            {
                m_widget_SkillDescription.gameObject.SetActive(false);
            }
        }
    }