void OnChangeName(long uid) { Client.IEntity entity = ClientGlobal.Instance().GetEntitySystem().FindEntity(uid); if (entity != null) { RoleStateBar bar = GetRoleBarByUID(uid); if (bar != null) { HeadTipData data = new HeadTipData(entity, HeadTipType.Name, GetNameVisible(entity)); bar.UpdateWidget(data); } } }
void RefreshHpSlider(Client.IEntity entity, RoleStateBar bar) { if (entity == null) { Engine.Utility.Log.Error("RefreshHpSlider entity is null"); return; } if (bar == null) { Engine.Utility.Log.Error("RefreshHpSlider bar is null"); return; } bool addHpSlider = IsNeedHpSlider(entity); HeadTipData data = null; if (addHpSlider) { bool visible = true; IPlayer player = ClientGlobal.Instance().MainPlayer; if (player == null) { return; } if (entity.GetUID() == player.GetUID()) { visible = true; } else { visible = m_bHpSliderVisible; } data = new HeadTipData(entity, HeadTipType.Hp, visible); } else { data = new HeadTipData(entity, HeadTipType.Hp, addHpSlider); } if (data != null) { bar.UpdateWidget(data); } }
private void OnPropUpdate(ref stPropUpdate prop) { Client.IEntity entity = ClientGlobal.Instance().GetEntitySystem().FindEntity(prop.uid); if (prop.nPropIndex == (int)CreatureProp.Hp || prop.nPropIndex == (int)CreatureProp.MaxHp) { if (entity != null) { RoleStateBar bar = GetRoleBarByUID(prop.uid); if (bar != null) { HeadTipData data = new HeadTipData(entity, HeadTipType.Hp, m_bHpSliderVisible); bar.UpdateWidget(data); } } } else if (prop.nPropIndex == (int)PlayerProp.GoodNess || prop.nPropIndex == (int)CreatureProp.Camp) { OnChangeName(prop.uid); } }
//----------------------------------------------------------------------------------------------- private void OnStartCollectSlider(ref Client.stUninterruptMagic uninterrupt) { if (ShowCollectTip(uninterrupt.type)) { Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem(); if (es == null) { return; } Client.IEntity entity = es.FindEntity(uninterrupt.uid); if (entity != null && Client.ClientGlobal.Instance().IsMainPlayer(entity.GetUID()) == false) { RoleStateBar bar = GetRoleBarByUID(uninterrupt.uid); if (bar != null) { HeadTipData data = new HeadTipData(entity, HeadTipType.Collect, true); data.SetCollectType(uninterrupt.type); bar.UpdateWidget(data); } } } }
public void UpdateWidget(HeadTipData data) { SetWidgetState(data.type, data.m_bVisible); switch (data.type) { case HeadTipType.Name: lableName.text = ColorManager.GetColorString(data.color, data.value.ToString()); lableName.fontSize = data.m_nFontSize; lableName.height = data.m_nFontSize; break; case HeadTipType.HeadMaskIcon: { //DataManager.Manager<UIManager>().SetSpriteDynamicIcon(m_spHeadMask, (string)data.value, true, false); AdjustWidgetPos(); } break; case HeadTipType.Hp: if (hpslider != null) { hpslider.value = (float)data.value; } if (data.spriteParams != null) { if (bgSprite != null) { // UIAtlas atlas = DataManager.Manager<UIManager>().GetAtlasByIconName(data.spriteParams.bgSpriteName); // if (atlas != null) // { // bgSprite.atlas = atlas; // bgSprite.spriteName = data.spriteParams.bgSpriteName; // Debug.Log("BgName:"+data.spriteParams.bgSpriteName); // } bgSprite.spriteName = data.spriteParams.bgSpriteName; bgSprite.MakePixelPerfect(); } if (sliderSprite != null) { // UIAtlas atlas = DataManager.Manager<UIManager>().GetAtlasByIconName(data.spriteParams.spriteName); // if (atlas != null) // { // sliderSprite.atlas = atlas; // sliderSprite.spriteName = data.spriteParams.spriteName; // Debug.Log("sliderSprite:" + data.spriteParams.spriteName); // } sliderSprite.spriteName = data.spriteParams.spriteName; sliderSprite.MakePixelPerfect(); } hpslider.gameObject.SetActive(data.spriteParams.bShow); } break; case HeadTipType.Title: lableTitle.text = ColorManager.GetColorString(data.color, data.value.ToString()); lableTitle.fontSize = data.m_nFontSize; AdjustWidgetPos(); break; case HeadTipType.Clan: string name = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.Clan_Commond_shizumingzi, data.value); labelClan.text = ColorManager.GetColorString(data.color, name); labelClan.fontSize = data.m_nFontSize; labelClan.height = data.m_nFontSize; AdjustWidgetPos(); break; case HeadTipType.Collect: m_labelCollectTips.text = ColorManager.GetColorString(data.color, data.value.ToString()); m_labelCollectTips.fontSize = data.m_nFontSize; if (m_labelCollectTips.gameObject.activeSelf == false) { m_labelCollectTips.gameObject.SetActive(true); } break; default: break; } }
void RefreshClanName(Client.IEntity entity, RoleStateBar bar) { if (entity == null) { Engine.Utility.Log.Error("AddClanName entity is null"); return; } if (bar == null) { Engine.Utility.Log.Error("AddClanName bar is null"); return; } EntityType entityType = entity.GetEntityType(); if (entityType == EntityType.EntityType_Player) { uint clanIdLow = (uint)entity.GetProp((int)CreatureProp.ClanIdLow); uint clanIdHigh = (uint)entity.GetProp((int)CreatureProp.ClanIdHigh); uint clanId = (clanIdHigh << 16) | clanIdLow; //int clanId = entity.GetProp((int)Client.CreatureProp.ClanId); if (clanId != 0) { DataManager.Manager <ClanManger>().GetClanName((uint)clanId, (namedata) => { string winerCityName = string.Empty; string name = string.Empty; if (DataManager.Manager <CityWarManager>().GetWinerOfCityWarCityName((uint)clanId, out winerCityName)) { //name = namedata.ClanName + winerCityName; name = string.Format("{0}【{1}】", winerCityName, namedata.ClanName); } else { //name = namedata.ClanName; name = string.Format("【{0}】", namedata.ClanName); } bool visible = m_bPlayerClanNameVisible; if (entity.GetUID() == Client.ClientGlobal.Instance().MainPlayer.GetUID()) { visible = true; } HeadTipData data = new HeadTipData(entity, HeadTipType.Clan, visible); data.value = name; bar.UpdateWidget(data); }); } else { bar.SetWidgetState(HeadTipType.Clan, false); } } else if (entity.GetEntityType() == EntityType.EntityType_NPC) { CityWarTotem cityWarTotemInfo = null; if (DataManager.Manager <CityWarManager>().GetCityWarTotemClanName((uint)entity.GetProp((int)Client.EntityProp.BaseID), out cityWarTotemInfo)) { HeadTipData data = new HeadTipData(entity, HeadTipType.Clan, m_bPlayerClanNameVisible); data.value = cityWarTotemInfo.clanName; bar.UpdateWidget(data); } else { bar.SetWidgetState(HeadTipType.Clan, false); } } }