/// <summary> /// 刷新所有己方角色信息 /// </summary> public void RefreshAllRole() { if (Singleton <RoomManager> .singleton.MatchType == EMatchtype.MATCH_1C3) { if (base.Prepared) { List <Beast> list = Singleton <BeastManager> .singleton.GetAllBeastByCamp(Singleton <PlayerRole> .singleton.CampType); for (int i = 0; i < list.Count; i++) { IXUIListItem item = base.uiBehaviour.m_List_RoleList.GetItemByIndex(i); if (null == item) { item = base.uiBehaviour.m_List_RoleList.AddListItem(); } Beast beast = list[i]; item.Id = beast.Id; DataBeastlist data = GameData <DataBeastlist> .dataMap[beast.BeastTypeId]; int hp = beast.Hp; int hpMax = beast.HpMax; string text = string.Format("{0}/{1}", hp, hpMax); if (data != null) { item.SetText("lb_roleName", data.Name); //设置神兽名称 item.SetText("lb_life", text); //设置神兽血量 item.SetIconSprite(data.IconFile, UIManager.singleton.GetAtlasName(EnumAtlasType.Beast, data.IconFile)); } } } } }
/// <summary> /// 显示神兽信息界面 /// </summary> /// <param name="item"></param> /// <param name="playerData"></param> /// <param name="beastData"></param> private void ShowBeastInfo(IXUIListItem item, PlayerData playerData, BeastData beastData) { if (item != null && playerData != null && beastData != null) { item.SetText("NickNameAndLevel/Label_Player_Name", playerData.Name); item.SetText("NickNameAndLevel/Label_Player_Level", "LV" + playerData.Level); item.SetSprite("Icon/Sprite_Player_Icon", playerData.Icon); DataBeastlist beastList = GameData <DataBeastlist> .dataMap[beastData.BeastTypeId]; if (beastList != null) { //取得皮肤数据 DataSuit suit = null; GameData <DataSuit> .dataMap.TryGetValue(beastData.BeastTypeId, out suit); //神兽名字 string beastName = string.IsNullOrEmpty(beastList.NickName) ? "" : ("-" + beastList.NickName); //神兽皮肤名字 string beastNickname = (suit == null) ? beastList.Name : suit.Name; item.SetText("Label_Beast_Name", string.Format("{0}{1}", beastNickname, beastName)); //设置神兽皮肤 IXUIPicture beastSkin = item.GetUIObject("Picture_Beast_Skin") as IXUIPicture; if (beastSkin != null) { beastSkin.SetVisible(true); beastSkin.SetTexture(string.Format("Texture/Beast/{0}", (suit == null) ? beastList.ModelFile : suit.PicName)); } } else { item.SetVisible(false); } item.Id = playerData.PlayerId; item.SetVisible(true); } }
/// <summary> /// 我方和敌方的选择神兽列表刷新 /// </summary> /// <param name="uiList"></param> /// <param name="listPlayerData"></param> /// <param name="eCampType"></param> private void SetPlayerInfoToList(IXUIList uiList, List <PlayerData> listPlayerData, ECampType eCampType) { if (uiList != null) { for (int i = 0; i < uiList.Count; i++) { IXUIListItem item = uiList.GetItemByIndex(i); if (item != null) { item.Clear(); IXUIList equip = item.GetUIObject("List_Equip") as IXUIList; if (equip != null) { for (int j = 0; j < equip.Count; j++) { IXUIListItem equipItem = equip.GetItemByIndex(j); if (equipItem != null) { equipItem.Clear();//清空装备icon } } } IXUIObject uiObject = item.GetUIObject("Texture_Shadow") as IXUIObject; if (uiObject != null) { uiObject.SetVisible(true); } item.SetText("Label_Sequence", ""); } } int num = 0; foreach (var playerData in listPlayerData) { foreach (var beastData in playerData.Beasts) { IXUIListItem item = (num >= uiList.Count) ? null : uiList.GetItemByIndex(num); if (item != null) { this.RefreshPlayerInfo(item, playerData, beastData, eCampType); } num++; } } Debug.Log("Beast num=" + num); } }
private void RefreshPlayerInfo(IXUIListItem uiListItem, PlayerData playerData, BeastData beast, ECampType eCampType) { if (beast != null) { this.SetSelectBeastId(beast.Id, beast.BeastTypeId); Debug.Log("Our BeastId:" + beast.Id); if (playerData != null && uiListItem != null) { uiListItem.Clear(); IXUILabel label = uiListItem.GetUIObject("Label_PlayerName") as IXUILabel; if (label != null) { label.SetText(playerData.Name); } if (Singleton <RoomManager> .singleton.MathMode != EnumMathMode.EnumMathMode_Story) { uiListItem.SetText("Label_Sequence", GetSequence(eCampType, uiListItem.Index).ToString()); } this.RefreshPlayerInfo(uiListItem, beast); } } }