/// <summary> /// 打开选择学习技能书界面 /// </summary> /// <param name="go"></param> void OpenChooseSkillBookDialog(GameObject go) { Utils.CleanGrid(m_SkillChooseGrid); List <Tab_CabalFellowElementSkillBook> FellowSkillBookList = GameManager.gameManager.PlayerDataPool.BackPack.GetSkillLearnBooksByElementType(m_Fellow.ElementAttr); if (FellowSkillBookList.Count <= 0) { GUIData.AddNotifyData("#{11500}"); return; } //选择技能书界面 m_SkillChooseWindow.SetActive(true); int index = 0; //foreach (Tab_CabalFellowElementSkillBook book in GameManager.gameManager.PlayerDataPool.BackPack.GetSkillLearnBooksByElementType(m_Fellow.ElementAttr)) foreach (Tab_CabalFellowElementSkillBook book in FellowSkillBookList) { if (m_Fellow.IsHaveSkillId(book.SkillId)) { continue; } Tab_CabalFellowElementSkill tabSkill = TableManager.GetCabalFellowElementSkillByID(book.SkillId, 0); if (tabSkill == null) { continue; } Tab_SkillEx tabSkillEx = TableManager.GetSkillExByID(book.SkillId, 0); if (tabSkillEx == null) { continue; } Tab_SkillBase tabBase = TableManager.GetSkillBaseByID(tabSkillEx.BaseId, 0); if (tabBase == null) { continue; } string itemName = index < 10 ? "0" + index.ToString() : index.ToString(); GameObject SkillItem = Utils.BindObjToParent(m_SkillChooseItem, m_SkillChooseGrid, itemName); if (SkillItem != null && SkillItem.GetComponent <PartnerSkillChooseItemLogic>() != null) { SkillItem.GetComponent <PartnerSkillChooseItemLogic>().Init(book); } index += 1; } if (m_SkillChooseGrid.GetComponent <UIGrid>() != null) { m_SkillChooseGrid.GetComponent <UIGrid>().Reposition(); } if (PartnerFrameLogic.Instance().NewPlayerGuideFlag_Step == 4) { PartnerFrameLogic.Instance().NewPlayerGuide(5); } }
public uint Execute(PacketDistributed ipacket) { GC_UPDATE_FELLOW packet = (GC_UPDATE_FELLOW)ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //取得伙伴在容器中的索引 int index = packet.Packindex; FellowContainer container = GameManager.gameManager.PlayerDataPool.FellowContainer; if (container != null) { Fellow fellow = container.GetFellowByIndex(index); if (fellow != null) { //GUID fellow.Guid = packet.Guid; //ID fellow.DataId = packet.Dataid; //昵称 fellow.Name = packet.Name; //品质 if (packet.HasQuality) { fellow.Quality = packet.Quality; } //经验 if (packet.HasExp) { fellow.Exp = packet.Exp; } //级别 if (packet.HasLevel) { fellow.Level = packet.Level; } //打星等级 if (packet.HasStarexp) { fellow.StarExp = packet.Starexp; } //打星等级 if (packet.HasStarlevel) { fellow.StarLevel = packet.Starlevel; } //成长率 //if (packet.HasGrowup) //{ // fellow.GrowUp = (float)packet.Growup / 100.0f; //} //幸运值 if (packet.HasLucky) { fellow.Lucky = packet.Lucky; } //当前可用繁殖次数 if (packet.HasProcreatecount) { fellow.ProcreateCount = packet.Procreatecount; } //元素属性 if (packet.HasElementattr) { fellow.ElementAttr = packet.Elementattr; } //上锁 if (packet.HasIslock) { fellow.Locked = (packet.Islock == 1) ? true : false; } //初始五围属性 if (packet.HasBaseattack) { fellow.BaseAttack = packet.Baseattack; } if (packet.HasBasehit) { fellow.BaseHit = packet.Basehit; } if (packet.HasBasecritical) { fellow.BaseCritical = packet.Basecritical; } if (packet.HasBaseguard) { fellow.BaseGuard = packet.Baseguard; } if (packet.HasBasebless) { fellow.BaseBless = packet.Basebless; } if (packet.tallentskillidCount > 0 && packet.tallentskilllevelCount > 0) { fellow.TallentSkill.Clear(); for (int i = 0; i < packet.tallentskillidCount && i < packet.tallentskilllevelCount; i++) { if (false == fellow.TallentSkill.ContainsKey(packet.tallentskillidList[i])) { fellow.TallentSkill.Add(packet.tallentskillidList[i], packet.tallentskilllevelList[i]); } } } for (int i = 0; i < packet.elementskillidCount; i++) { if (false == fellow.IsHaveSkillId(packet.elementskillidList[i])) { fellow.SetElementSkillId(packet.elementskillidList[i], i); } } if (PartnerFrameLogic.Instance() != null) { PartnerFrameLogic.Instance().UpdateFellowInfo_Refresh(); if (PartnerFrameLogic.Instance().rebirthFellowGuid != GlobeVar.INVALID_GUID) { PartnerFrameLogic.Instance().InitPartnerList(PartnerFrameLogic.Instance().rebirthFellowGuid); PartnerFrameLogic.Instance().rebirthFellowGuid = Games.GlobeDefine.GlobeVar.INVALID_GUID; } } if (Singleton <ObjManager> .GetInstance().MainPlayer != null && fellow.Guid == Singleton <ObjManager> .GetInstance().MainPlayer.CurFellowObjGuid) { Obj_Fellow curFellow = Singleton <ObjManager> .GetInstance().FindObjInScene(Singleton <ObjManager> .GetInstance().MainPlayer.CurFellowObjId) as Obj_Fellow; if (curFellow != null) { curFellow.SetBordName(fellow.Name); } } } } if (MenuBarLogic.Instance() != null) { MenuBarLogic.Instance().UpdateFellowRedTip(); } if (PartnerFrameLogic.Instance() != null) { PartnerFrameLogic.Instance().UpdateFellowTip(); } return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }