private void HandlerAddPartner(int partnerId) { RoleInfo role_info = LobbyClient.Instance.CurrentRole; if (null != role_info && role_info.PartnerStateInfo != null) { List <PartnerInfo> partners = role_info.PartnerStateInfo.GetAllPartners(); if (null == partners) { return; } for (int index = 0; index < partners.Count; ++index) { if (partners[index] != null && partners[index].Id == partnerId) { //找到添加伙伴信息 PartnerInfo info = partners[index]; Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (npcCfg != null) { if (lblPartnerName != null) { lblPartnerName.text = npcCfg.m_Name; } if (spPortrait != null) { spPortrait.spriteName = npcCfg.m_Portrait; } } UIManager.Instance.ShowWindowByName("PartnerJoin"); break; } } } }
void Update() { #if UNITY_EDITOR if (EditorApplication.isPlaying) { return; } if (LoadedPrefabId != LinkId) { FileReaderProxy.MakeSureAllHandlerRegistered(); NpcConfigProvider.Instance.Clear(); NpcConfigProvider.Instance.LoadNpcConfig(Application.dataPath + "/StreamingAssets/Public/NpcConfig.txt", ""); Data_NpcConfig config = NpcConfigProvider.Instance.GetNpcConfigById(LinkId); if (config != null) { // destroy all subobject int count = this.gameObject.transform.childCount; for (int i = 0; i < count; ++i) { GameObject.DestroyImmediate(gameObject.transform.GetChild(i).gameObject); } //GameObject.DestroyImmediate(LoadedPrefab); // create new one Object obj = Resources.Load(config.m_Model); LoadedPrefab = GameObject.Instantiate(obj, gameObject.transform) as GameObject; LoadedPrefabId = LinkId; } } #endif }
//有新伙伴 void HasNewPartener() { if (m_partnerId != 0) { RoleInfo role_info = LobbyClient.Instance.CurrentRole; if (null != role_info && role_info.PartnerStateInfo != null) { List <PartnerInfo> partners = role_info.PartnerStateInfo.GetAllPartners(); if (null == partners) { return; } for (int index = 0; index < partners.Count; ++index) { if (partners[index] != null && partners[index].Id == m_partnerId) { //找到添加伙伴信息 PartnerInfo info = partners[index]; Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (npcCfg != null) { NewThings newThings = new NewThings(); newThings.id = info.LinkId; newThings.type = GetNewThingsType.T_Partner; newThings.tf = GetBtnGameObject("Entrance-Partner").transform; newThingsList.Add(newThings); } } } } m_partnerId = 0; } }
public void SetLevelInfo(int monsterId, int attrId) { RoleInfo role_info = LobbyClient.Instance.CurrentRole; if (role_info != null) { Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(monsterId); if (npcCfg != null) { if (lblLevel != null) { lblLevel.text = "Lv." + role_info.Level.ToString(); } if (lblName != null) { lblName.text = npcCfg.m_Name; } if (spPortrait != null) { spPortrait.spriteName = npcCfg.m_Portrait; } } } ExpeditionMonsterAttrConfig attrCfg = ExpeditionMonsterAttrConfigProvider.Instance.GetExpeditionMonsterAttrConfigById(attrId); if (attrCfg != null && lblFighting != null) { if (lblFighting != null) { lblFighting.text = ((int)attrCfg.m_AttrData.GetAddAd(0, role_info.Level)).ToString(); } } }
private void UpdateItem(UnityEngine.GameObject go, int id, int damage, bool isHero) { //伤害值,及对应对比进度条 UnityEngine.Transform tf = go.transform.Find("value"); if (tf != null) { UIProgressBar progress = tf.GetComponent <UIProgressBar>(); if (progress != null) { progress.value = (float)damage / m_MaxDamage; } tf = tf.Find("Label"); if (tf != null) { UILabel lblValue = tf.GetComponent <UILabel>(); if (lblValue != null) { lblValue.text = damage.ToString(); } } } //头像 tf = go.transform.Find("Sprite"); if (tf != null) { UISprite sprite = tf.GetComponent <UISprite>(); if (sprite != null) { string spName = ""; if (isHero) { spName = GetHeadSpName(id); } else { PartnerConfig pCfg = PartnerConfigProvider.Instance.GetDataById(id); if (pCfg != null) { Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(pCfg.LinkId); if (npcCfg != null) { spName = npcCfg.m_Portrait; } } } sprite.spriteName = spName; } } //彩框 UISprite colorFrame = go.GetComponent <UISprite>(); if (colorFrame != null) { //colorFrame.spriteName = ""; } }
//伙伴 void NewPartner(int linkId) { LogicSystem.EventChannelForGfx.Publish("ge_refresh_partner", "ui"); Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(linkId); if (npcCfg != null) { SetIcon(npcCfg.m_Portrait, partnerIcon); label.text = label.text = StrTools(750, npcCfg.m_Name); } }
//设置伙伴图标 public void SetPartnerIcon(UISprite fram, UISprite icon, PartnerInfo info) { PartnerLevelUpConfig levelUpCfg = PartnerLevelUpConfigProvider.Instance.GetDataById(info.CurAdditionLevel); Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (fram != null && levelUpCfg != null) { fram.spriteName = levelUpCfg.PartnerRankColor; } if (icon != null) { icon.spriteName = npcCfg.m_Portrait; } }
public void PreLoadSceneNpcSkills(int sceneid) { MapDataProvider mdp = SceneConfigProvider.Instance.GetMapDataBySceneResId(sceneid); if (mdp != null) { DataDictionaryMgr <Data_Unit> ddm = mdp.m_UnitMgr; if (ddm != null) { MyDictionary <int, object> dataDic = ddm.GetData(); if (dataDic != null) { List <int> linkidlist = new List <int>(); linkidlist.Clear(); List <int> skilllist = new List <int>(); skilllist.Clear(); foreach (object obj in dataDic.Values) { Data_Unit du = obj as Data_Unit; if (du != null) { if (!linkidlist.Contains(du.m_LinkId)) { linkidlist.Add(du.m_LinkId); } } } foreach (int linkid in linkidlist) { Data_NpcConfig dnc = NpcConfigProvider.Instance.GetNpcConfigById(linkid); if (dnc != null && dnc.m_SkillList != null) { foreach (int skillid in dnc.m_SkillList) { if (!skilllist.Contains(skillid)) { skilllist.Add(skillid); } } } } foreach (int skillid in skilllist) { PreloadNewSkillInstance(skillid); } } } } }
private void InitPartnerSummon() { RoleInfo role_info = LobbyClient.Instance.CurrentRole; if (role_info != null && role_info.PartnerStateInfo != null) { PartnerInfo info = role_info.PartnerStateInfo.GetActivePartner(); if (info != null) { PartnerLevelUpConfig levelUpCfg = PartnerLevelUpConfigProvider.Instance.GetDataById(info.CurAdditionLevel); if (levelUpCfg != null) { ResetSlotColor(levelUpCfg.PartnerRankColor); } Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (npcCfg != null && spPartnerPortrait != null) { spPartnerPortrait.spriteName = npcCfg.m_Portrait; if (spPortraitForHp != null) { spPortraitForHp.spriteName = npcCfg.m_Portrait; } UIButton btnComp = spPartnerPortrait.GetComponent <UIButton>(); if (btnComp != null) { btnComp.normalSprite = npcCfg.m_Portrait; } } } else { //没有出战伙伴,隐藏召唤按钮 if (goParternContainer != null) { NGUITools.SetActive(goParternContainer, false); } } } if (UIDataCache.Instance.IsPvPScene() || UIDataCache.Instance.IsArenaPvPScene()) { //PVP需要隐藏出战按钮 if (goParternContainer != null) { NGUITools.SetActive(goParternContainer, false); } } }
public void InitPartnerInfo(PartnerInfo info) { if (info != null) { m_PartnerId = info.Id; if (goFighting != null && !NGUITools.GetActive(goFighting)) { NGUITools.SetActive(goFighting, true); } if (lblFighting != null) { m_Fighting = GetPartnerFighting(info.GetAppendAttrConfigId()); lblFighting.text = m_Fighting.ToString(); } Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (npcCfg != null && spPortrait != null) { spPortrait.spriteName = npcCfg.m_Portrait; UIButton btnComp = spPortrait.GetComponent <UIButton>(); if (btnComp != null) { btnComp.normalSprite = npcCfg.m_Portrait; } } PartnerLevelUpConfig levelUpCfg = PartnerLevelUpConfigProvider.Instance.GetDataById(info.CurAdditionLevel); if (spRankColor != null && levelUpCfg != null) { spRankColor.spriteName = levelUpCfg.PartnerRankColor; UIButton btn = this.GetComponent <UIButton>(); if (btn != null) { btn.normalSprite = levelUpCfg.PartnerRankColor; } } } }
private void HandlerAddPartner(int partnerId) { UnityEngine.GameObject btn = GetBtnGameObject("Entrance-Partner"); if (!NGUITools.GetActive(btn)) { m_partnerId = partnerId; return; } RoleInfo role_info = LobbyClient.Instance.CurrentRole; if (null != role_info && role_info.PartnerStateInfo != null) { List <PartnerInfo> partners = role_info.PartnerStateInfo.GetAllPartners(); if (null == partners) { return; } for (int index = 0; index < partners.Count; ++index) { if (partners[index] != null && partners[index].Id == partnerId) { //找到添加伙伴信息 PartnerInfo info = partners[index]; Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (npcCfg != null) { NewThings newThings = new NewThings(); newThings.id = info.LinkId; newThings.type = GetNewThingsType.T_Partner; newThings.tf = GetBtnGameObject("Entrance-Partner").transform; newThingsList.Add(newThings); } } } } }
//初始化item信息 public void InitItemInfo(ArenaTargetInfo info) { if (info == null) { NGUITools.SetActive(sprite1, false); NGUITools.SetActive(sprite2, true); return; } NGUITools.SetActive(sprite2, false); NGUITools.SetActive(sprite1, true); RoleInfo role = LobbyClient.Instance.CurrentRole; if (info.Guid == role.Guid) { bg.color = color; } else { bg.color = color1; } if (playerName != null) { playerName.text = info.Nickname; } if (playerLevel != null) { playerLevel.text = "Lv." + info.Level.ToString(); } if (PlayerScore != null) { PlayerScore.text = info.FightingScore.ToString(); } unRank.text = ""; if (info.Rank < 4) { switch (info.Rank) { case 1: cup.spriteName = "no1"; number.text = "NODA"; NGUITools.SetActive(cup.gameObject, true); break; case 2: cup.spriteName = "no2"; number.text = "NODB"; NGUITools.SetActive(cup.gameObject, true); break; case 3: cup.spriteName = "no3"; number.text = "NODC"; NGUITools.SetActive(cup.gameObject, true); break; case -1: number.text = ""; unRank.text = "未排名"; NGUITools.SetActive(cup.gameObject, false); break; } } else { number.text = info.Rank + "ETH"; NGUITools.SetActive(cup.gameObject, false); } if (heroHead != null) { Data_PlayerConfig cg = PlayerConfigProvider.Instance.GetPlayerConfigById(info.HeroId); heroHead.spriteName = cg.m_PortraitForCell; } SetPartnerPortraitActive(); if (info.Guid == role.Guid) { // 自己 由于服务器发回来的列表里没有自己,所以自己要担架 for (int i = 0; i < role.ArenaStateInfo.FightPartners.Count; i++) { PartnerInfo partnerInfo = GetPartnerInfoById(role.ArenaStateInfo.FightPartners[i]); Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(partnerInfo.LinkId); if (npcCfg != null) { if (i <= arrNum) { SetPartnerIcon(portrait[i], portraitFrame[i], partnerInfo); NGUITools.SetActive(portrait[i].gameObject, true); } } } } else { // 列表其他人 for (int i = 0; i < info.FightPartners.Count; i++) { Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.FightPartners[i].LinkId); if (npcCfg != null) { if (i <= arrNum) { SetPartnerIcon(portrait[i], portraitFrame[i], info.FightPartners[i]); NGUITools.SetActive(portrait[i].gameObject, true); } } } } }
public void InitPartnerItem(PartnerInfo info, int active_id) { if (info == null) { return; } m_IsPartnerFrag = false; SetItemStyle(UIPartnerItemStyle.PartnerPlayed); //设置战力 int partnerFighting = GetPartnerFighting(info.GetAppendAttrConfigId()); m_PartnerFighting = partnerFighting; if (lblFighting != null) { lblFighting.text = partnerFighting.ToString(); } if (info.CurAdditionLevel <= RankOffset.Length) { if (RankOffset[info.CurAdditionLevel - 1] == 0) { if (lblRankOffset != null) { lblRankOffset.text = ""; } } else { if (lblRankOffset != null) { NGUITools.SetActive(lblRankOffset.gameObject, true); lblRankOffset.text = "+" + RankOffset[info.CurAdditionLevel - 1]; } } } if (info.CurAdditionLevel <= RankColor.Length) { lblRankOffset.color = RankColor[info.CurAdditionLevel - 1]; spRankColor.color = RankColor[info.CurAdditionLevel - 1]; if (lblPartnerName != null) { lblPartnerName.color = RankColor[info.CurAdditionLevel - 1]; } } m_PartnerId = info.Id; bool isPlayed = (m_PartnerId == active_id); m_Isplayed = isPlayed; SetPlayed(isPlayed); SetSelectedFlagVisible(isPlayed); Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (npcCfg != null) { if (lblPartnerName != null) { lblPartnerName.text = npcCfg.m_Name; } if (spPortait != null) { spPortait.spriteName = npcCfg.m_Portrait; } } }
public void InitNotHavenPartner(PartnerConfig partner_cfg) { if (partner_cfg == null) { return; } m_IsPartnerFrag = true; SetItemStyle(UIPartnerItemStyle.PartnerFrag); if (spSelectFlag != null) { NGUITools.SetActive(spSelectFlag.gameObject, false); } m_PartnerFighting = -1; m_PartnerId = partner_cfg.Id; int fragId = partner_cfg.PartnerFragId; m_PartnerFragId = fragId; int fragNeedNum = partner_cfg.PartnerFragNum; int ownFragNum = GetItemNum(fragId); if (ownFragNum >= fragNeedNum) { if (goSummonBtn != null) { NGUITools.SetActive(goSummonBtn, true); } } else { if (goSummonBtn != null) { NGUITools.SetActive(goSummonBtn, false); } } if (lblPartnerFragNum != null) { lblPartnerFragNum.text = ownFragNum + "/" + fragNeedNum; } if (progressBar != null && fragNeedNum != 0) { progressBar.value = ownFragNum / (float)fragNeedNum; } m_CanCompoundPartner = ownFragNum >= fragNeedNum;//可兑换伙伴 Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(partner_cfg.LinkId); if (npcCfg != null) { if (spPortait != null) { spPortait.spriteName = npcCfg.m_Portrait; } } ItemConfig itemCfg = ItemConfigProvider.Instance.GetDataById(m_PartnerFragId); if (itemCfg != null) { if (lblPartnerName != null) { lblPartnerName.text = itemCfg.m_ItemName; } } spRankColor.color = RankColor[0]; }
//显示与隐藏精英模式 public void ShowSceneMode(SubSceneType subType, int grade, int npcId) { bool visible = subType == SubSceneType.Master ? true : false; if (goMasterIcon != null) { NGUITools.SetActive(goMasterIcon, visible); } if (goCommonIcon != null) { NGUITools.SetActive(goCommonIcon, !visible); } if (subType == SubSceneType.Master) { if (spSceneImage != null) { UIButton btn = this.GetComponent <UIButton>(); if (btn != null) { btn.normalSprite = c_MasterSpirite; } spSceneImage.spriteName = c_MasterSpirite; spSceneImage.transform.localPosition = masterModePos; for (int i = 0; i < starArr.Length; ++i) { if (i < grade) { if (starArr[i] != null) { NGUITools.SetActive(starArr[i], true); } } else { if (starArr[i] != null) { NGUITools.SetActive(starArr[i], false); } } } } } else { if (spSceneImage != null) { UIButton btn = this.GetComponent <UIButton>(); if (btn != null) { btn.normalSprite = c_CommonSpirite; } spSceneImage.spriteName = c_CommonSpirite; spSceneImage.transform.localPosition = commonModePos; for (int i = 0; i < starArr.Length; ++i) { if (starArr[i] != null) { NGUITools.SetActive(starArr[i], false); } } } } //如果npcId!=-1 把头像给加上 if (npcId != -1) { //boss关 Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(npcId); if (npcCfg != null && spBossPortrait != null) { spBossPortrait.spriteName = npcCfg.m_Portrait; } if (goBossIcon != null) { NGUITools.SetActive(goBossIcon, true); } if (goMasterIcon != null) { NGUITools.SetActive(goMasterIcon, false); } if (goCommonIcon != null) { NGUITools.SetActive(goCommonIcon, false); } } else { if (goBossIcon != null) { NGUITools.SetActive(goBossIcon, false); } } }
//设置选中的伙伴信息 public void SetPartnerInfo(int partner_id) { if (uiPartnerList != null && m_SelectedPartnerId != partner_id) { uiPartnerList.SetPartnerSelected(m_SelectedPartnerId, false); } RoleInfo roleInfo = LobbyClient.Instance.CurrentRole; if (roleInfo != null && roleInfo.PartnerStateInfo.GetAllPartners() != null) { if (roleInfo.PartnerStateInfo.GetAllPartners().Count > 0) { EnableLeftPanel(true); } else { EnableLeftPanel(false); } } else { EnableLeftPanel(false); } m_SelectedPartnerId = partner_id; if (IsPlayedPartner(partner_id)) { m_ActivePartnerId = partner_id; } CompareFighting(m_ActivePartnerId, m_SelectedPartnerId); PartnerInfo info = GetPartnerInfoById(partner_id); if (info == null) { return; } if (info.CurAdditionLevel <= RankOffset.Length) { if (RankOffset[info.CurAdditionLevel - 1] == 0) { if (lblRankOffset != null) { NGUITools.SetActive(lblRankOffset.gameObject, false); } } else { if (lblRankOffset != null) { NGUITools.SetActive(lblRankOffset.gameObject, true); lblRankOffset.text = "+" + RankOffset[info.CurAdditionLevel - 1]; } } } if (info.CurAdditionLevel <= RankColor.Length) { lblRankOffset.color = RankColor[info.CurAdditionLevel - 1]; spRankColor.color = RankColor[info.CurAdditionLevel - 1]; if (lblPartnerName != null) { lblPartnerName.color = RankColor[info.CurAdditionLevel - 1]; } } Data_NpcConfig npcCfg = NpcConfigProvider.Instance.GetNpcConfigById(info.LinkId); if (npcCfg != null) { if (lblPartnerName != null) { lblPartnerName.text = npcCfg.m_Name; } if (spPartnerPortrait != null) { spPartnerPortrait.spriteName = npcCfg.m_Portrait; } } PartnerConfig partnerCfg = PartnerConfigProvider.Instance.GetDataById(info.Id); if (partnerCfg != null && lblPartnerCd != null) { lblPartnerCd.text = partnerCfg.CoolDown.ToString() + "s"; } float inheritAttack = info.GetInheritAttackAttrPercent(); if (lblInheritAttack != null) { lblInheritAttack.text = (inheritAttack * 100) + "%"; } float inheritDefence = info.GetInheritDefenceAttrPercent(); if (lblInheritDefence != null) { lblInheritDefence.text = (inheritDefence * 100) + "%"; } if (lblPartnerFighting != null) { lblPartnerFighting.text = "+" + GetPartnerFighting(info.GetAppendAttrConfigId()).ToString(); } EnablePlayedButton(!IsPlayedPartner(partner_id)); SetLeftSkillInfo(info.Id, info.CurSkillStage); SetLeftAppendAttr(info.GetAppendAttrConfigId()); SetPartnerInfo(info); //是否能训练 bool canUpgrade = false; if (CheckCanUpgrade(partner_id)) { canUpgrade = true; } UnityEngine.Transform tf = transform.Find("left/Buttons/03Lift/Tip"); if (tf != null) { NGUITools.SetActive(tf.gameObject, canUpgrade); } }