public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (!e.objev.IsHero || e.objev == null) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_ID: { int nActorID = e.data.nValue; if (StageManager.Instance.getCurrentState() == EStage_State.ESS_GAME || StageManager.Instance.getCurrentState() == EStage_State.ESS_LOADSCENE) { if (!m_isFromWarExit) { m_recvDataFlag = ERecvDataFlag.NO_RECV_DATA; RequestHistoryRecord((uint)nActorID); RequestAllLifeHero(nActorID); } } } break; default: break; } }
/// <summary> /// 属性数值更新 /// </summary> /// <param name="e"></param> public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { int id = e.data.nEntityID; EntityView ev = e.objev; if (null == ev) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_CAMP: // 阵营 { if (id != pkTargetID) { int nCamp = e.data.nValue; SetCamType(id, nCamp); } } break; case (int)ENTITY_PROPERTY.PROPERTY_HP: // 血量 case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: case (int)ENTITY_PROPERTY.PROPERTY_SHIELD: // 护盾(临时血量) { int MaxHp = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_HP); int CurHp = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_HP); int TempHp = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_SHIELD); //血量最大值为0,将会隐藏血条 SetMaxValue(id, MaxHp); SetCurValue(id, CurHp); SetTempValue(id, TempHp); UpdateBossBloodData(id, ev.Property.CreatureName, MaxHp, CurHp, TempHp); } break; case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: // 等级变化 { SetLevel(e.data.nEntityID, e.data.nValue); } break; case (int)ENTITY_PROPERTY.PROPERTY_MP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_MP: { int Mp = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MP); int MpMax = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_MP); SetMpValue(id, Mp); SetMpMaxValue(id, MpMax); } break; default: break; } }
//响应Mask消息 public void ResponseEntityMaskPropEvent(EntityNumPropEventArgs e) { if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_MASK) { U3D_Render.EntityView ev = e.objev; if (ev != null) { //GfxBloodManager.ChangeMask(ev); USpeedUI.Blood.UBloodManager.Instance.ChangeMask(ev); //TopNameManager.ChangeMask(ev); } } //处理死亡 if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_HP) { if (null == e.objev) { return; } int CurHp = e.objev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_HP); if (CurHp <= 0) { //e.objev.StateMachine.ChangeState((int)EntityState.Dead, IntPtr.Zero); } } }
/// <summary> /// 数值属性变化处理 /// </summary> /// <param name="data"></param> override public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (e.objev == null) { return; } }
public override void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (e.objev == null || !this.IsRegisterMovieSuccess) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_TALENT_POINT: { if (e.objev.IsHero) { nPlayerCurrentMoney = e.data.nValue; if (this.bIsVisible) { this.vMoneyTF.SetText(e.data.nValue.ToString()); SetGoodsRenderCanBuy(e.data.nValue); } } } break; } }
public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (!e.objev.IsHero || e.objev == null) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_ID: { int nActorID = e.data.nValue; ActorHeroInfo heroInfo = LogicDataCenter.playerSystemDataManager.GetActorAllHero(nActorID); } break; case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: { checkAllHeroIsHaveCanUpStar(); } break; default: break; } }
private void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_GOLD: { if (nGold == 0) { nGold = e.data.nValue; return; } int deltaNum = e.data.nValue - e.data.nBeforeValue; if (e.data.nEntityID == EntityFactory.MainHeroID && deltaNum > 0 && e.data.nBeforeValue != 0) { if (!UISystem.Instance.GetWndLayerTrans(WndLayerDef.WND_LAYER_POPUP01).gameObject.activeSelf) { return; } SetVisible(true); if (m_wndView != null) { m_wndView.SetFloatMoney(deltaNum); } } } break; default: break; } }
protected static void OnIprEvent(EntityNumPropEventArgs e) { if (EntityNumPropEvent != null) { EntityNumPropEvent(e); } }
private void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { //if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_VISIBLE_FLAG) //{ // Trace.Log("Update_Visible_Flag_Line1----entityID:" + e.objev.ID + "-------Visible:" + e.data.nValue); //} if (StageManager.Instance.CurPermissionState != EStage_PermissionState.ESPS_OB) { return; } if (StageManager.Instance.CurSubState != EStage_SubState.ESSS_WAR) { return; } if (e.objev == null || e.objev.IsHero || e.objev.Property == null) { return; } if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_VISIBLE_FLAG) { //Trace.Log("Update_Visible_Flag----entityID:" + e.objev.ID + "----entityName:" + e.objev.gameObject.name + "----Visible:" + e.data.nValue + "----Camp:" + e.objev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CAMP)); AddEntity(e.objev, e.data.nValue); UpdateEntity(e.objev); } }
/// <summary> /// 数值属性变化处理 /// </summary> /// <param name="data"></param> public bool UpdateNumProp(entity_update_Numproperty data) { if (data.nPropID >= (int)m_PropertyMaxLimit || m_objMaster == null) { return(false); } // 取得更新前数值 int nOldValue = m_numprops[data.nPropID]; // 更新数值 m_numprops[data.nPropID] = data.nValue; if (data.isRaiseIprEvent == 1) { EntityNumPropEventArgs e = new EntityNumPropEventArgs(); e.data.nEntityID = data.uID; // 显示层的实体ID e.data.nPBUID = data.nPBUID; e.data.nPropID = data.nPropID; // 属性ID e.data.nValue = data.nValue; // 属性数值 e.data.nBeforeValue = nOldValue; // 更新前数据 e.data.nOtherData = data.nOtherData; // 状态数据 e.objev = m_objMaster; // 实体对象 EntityFactory.RaiseIprEvent(e); } OnAfterUpdateNumProp(data.nPropID, data.nValue, nOldValue, data.nOtherData); return(true); }
//更新血条,蓝条,等级时候调用as的相应接口 override public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { int id = e.data.nPBUID; if (!entityHPSContainer.ContainsKey(id)) { return; } EntityView ev = e.objev; // EntityFactory.getEntityViewByID(id); Value RightHeroPortraitSlot = entityHPSContainer[id] as Value; if (!RightHeroPortraitSlot.IsValid()) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_HP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: { int nMaxHP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_HP); int nHP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_HP); if (RightHeroPortraitSlot.Invoke("SetHealthBarValue", nMaxHP, nHP) == null) { Trace.LogError("error call SetHealthBarValue failed"); return; } } break; case (int)ENTITY_PROPERTY.PROPERTY_MP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_MP: { int nMaxMP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_MP); int nMP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MP); if (RightHeroPortraitSlot.Invoke("SetMagicBarValue", nMaxMP, nMP) == null) { Trace.LogError("error call SetMagicBarValue failed"); return; } } break; case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: { int nLevel = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL); if (RightHeroPortraitSlot.Invoke("SetLevelValue", nLevel) == null) { Trace.LogError("error call SetLevelValue failed"); return; } } break; } }
//数值属性回调函数 用于战场 public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { if (e.objev == null || m_wndView == null || !e.objev.IsHero) { return; } entity_view_update_Numproperty data = e.data; int nUpdateValue = data.nValue; switch (data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: { onUpdateLevel(nUpdateValue); UpdateTalentPropertyDesc(); } break; case (int)ENTITY_PROPERTY.PROPERTY_VOCATION: { if (nUpdateValue > 0) { if (LogicDataCenter.heroTalentDataManager.nCurHeroId == nUpdateValue) { return; } LogicDataCenter.heroTalentDataManager.nCurHeroId = nUpdateValue; // 初始化新英雄的天赋数据 InitShowDataInfo(nUpdateValue); // 清空已激活天赋 LogicDataCenter.heroTalentDataManager.clearSelfActivedTalentList(); } } break; case (int)ENTITY_PROPERTY.PROPERTY_PA: case (int)ENTITY_PROPERTY.PROPERTY_MA: case (int)ENTITY_PROPERTY.PROPERTY_PD: case (int)ENTITY_PROPERTY.PROPERTY_MD: case (int)ENTITY_PROPERTY.PROPERTY_SD: case (int)ENTITY_PROPERTY.PROPERTY_AF: case (int)ENTITY_PROPERTY.PROPERTY_CRC: case (int)ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE: { UpdateTalentPropertyDesc(); } break; default: break; } }
override public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { int id = e.data.nEntityID; switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE: { } break; } }
private static void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { if (null == EntityFactory.MainHeroView || null == e.objev) { return; } //如果属性PROPERTY_ID有更新,则载入一次帐号相关的配置 if (e.objev == EntityFactory.MainHeroView && e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_ID) { LoadActorConfigs(); } }
public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (!e.objev.IsHero || e.objev == null) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_BULLET_COUNT: { CurBulletCount = e.data.nValue; CallFPSBulletViewUpdateData(); } break; } }
//public static void OnSceneLoadFinish(object sender, SceneLoadFinishEventArgs eventArgs) //{ // DestroyALL(); //} //数值属性回调函数 public static void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_HP: // 血量 case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: case (int)ENTITY_PROPERTY.PROPERTY_CAMP: // 阵营 case (int)ENTITY_PROPERTY.PROPERTY_SHIELD: // 护盾(临时血量) { int id = e.data.nEntityID; EntityView ev = e.objev; // EntityFactory.getEntityViewByID(id); if (ev != null) { int nCamp = e.data.nOtherData; int MaxHp = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_HP); int CurHp = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_HP); int TempHp = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_SHIELD); string BloodInfo = CurHp + "/" + MaxHp; SetCamType(id, nCamp); //血量最大值为0,将会隐藏血条 SetMaxValue(id, MaxHp); SetCurValue(id, CurHp); SetTempValue(id, TempHp); SetBloodInfo(id, BloodInfo); UpdateBossBloodData(id, ev.Property.CreatureName, MaxHp, CurHp, TempHp); } //nParam = data.CurHp; //Trace.LogError(string.Format("==================onCommand_SetBlood=================== : {0}", nParam)); } break; case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: // 等级变化 { SetLevel(e.data.nEntityID, e.data.nValue); } break; default: break; } }
//数值属性回调函数 public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: { if (EntityFactory.MainHeroID != e.data.nEntityID) { return; } OnPlayerLevelChange(e.objev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL)); } break; default: break; } }
//数值属性回调函数 public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { if (m_wndView == null) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_SKIN: { m_wndView.OnBuyOrChangeHeroSuccess(); } break; default: break; } }
//数值属性回调函数 public static void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_TALENT_POINT: // 天赋 { int deltaNum = e.data.nValue - e.data.nBeforeValue; if (deltaNum > 0) { GameObject entity = EntityFactory.getEntityGameObjectByID(e.data.nEntityID); FloatFontManager.CreateFloatFont(entity, deltaNum.ToString(), FloatFontType.TYPE_TLANT_POINT); } } break; default: break; } }
public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (!e.objev.IsHero || e.objev == null) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: //等级变化 { UpdateRuneButton(); } break; default: break; } }
public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (e.objev == null || !e.objev.IsHero) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_TICKET: case (int)ENTITY_PROPERTY.PROPERTY_GOLD: { ReflushMoneyZone(); } break; default: break; } }
public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (e.objev == null) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_TALENT_POINT: { if (e.objev.IsHero) { m_nMoney = e.data.nValue; onMoneyChange(); } } break; } }
private void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_TALENT_POINT: { int deltaNum = e.data.nValue - e.data.nBeforeValue; if (e.data.nEntityID == EntityFactory.MainHeroID && deltaNum > 0) { if (m_wndView != null) { m_wndView.CreateFloatFont(EntityFactory.MainHero, deltaNum.ToString(), WarFloatFontType.Coin); } } } break; default: break; } }
//响应数值属性消息函数 public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { return; if (!m_bCreated) { CreateMinimap(); } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_HP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: { int nMaxHp = e.objev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_HP); int nCurHp = e.objev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_HP); if (nMaxHp == 0) { return; } if (m_Minimap != null) { m_Minimap.SetObjHpPercent(ref e.objev, e.objev.createinfo.nMinimapIcon, (int)(nCurHp * 100 / nMaxHp)); } } break; case (int)ENTITY_PROPERTY.PROPERTY_MASK: { SetObjectVisible(e.objev.ID, e.objev.createinfo.nMinimapIcon, IsAllowShow(e.objev.ID) ? 1 : 0); } break; default: break; } }
/// <summary> /// 数值属性变化处理 /// 子类覆盖使用 /// </summary> /// <param name="data"></param> public virtual void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { }
public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (!e.objev.IsHero || e.objev == null) { return; } bool bIsViewItemChange = true; int nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_Max;//在配置表里的属性序号 int strPropertyValue = e.data.nValue; switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_PA: //攻击力 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_PA; } break; case (int)ENTITY_PROPERTY.PROPERTY_PCT_AF: //百分比普攻系数 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_PCT_AF; } break; case (int)ENTITY_PROPERTY.PROPERTY_PDP: //护甲穿透 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_PDP; } break; case (int)ENTITY_PROPERTY.PROPERTY_APPEND_PCT_PDP: //百分比物理防御穿透 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_Max; m_nPCTPDP = e.data.nValue / 100; } break; case (int)ENTITY_PROPERTY.PROPERTY_PCT_PDRAINS: //百分比物理吸血 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_PCTPDrains; strPropertyValue = e.data.nValue / 100; } break; case (int)ENTITY_PROPERTY.PROPERTY_MA: //法术强度 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_MA; } break; case (int)ENTITY_PROPERTY.PROPERTY_CRC: //暴击几率 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_CRC; strPropertyValue = e.data.nValue / 100; } break; case (int)ENTITY_PROPERTY.PROPERTY_MDP: //法术防御穿透 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_MDP; } break; case (int)ENTITY_PROPERTY.PROPERTY_APPEND_PCT_MDP: //百分比法术防御穿透 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_Max; m_nPCTMDP = e.data.nValue / 100; } break; case (int)ENTITY_PROPERTY.PROPERTY_PCT_MDRAINS: //法术吸血 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_PCTMDrains; strPropertyValue = e.data.nValue / 100; } break; case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: //总生命值 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_Hp; } break; case (int)ENTITY_PROPERTY.PROPERTY_PD: //物理防御 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_PD; } break; case (int)ENTITY_PROPERTY.PROPERTY_VOCATION: //职业 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_AttackRange; int nHeroId = e.data.nValue; strPropertyValue = GameLogicAPI.getPersonPropAttackRange(nHeroId); } break; case (int)ENTITY_PROPERTY.PROPERTY_HP_REPLY: //生命回复 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_HpReply; } break; case (int)ENTITY_PROPERTY.PROPERTY_MAX_MP: //总法力值 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_Mp; } break; case (int)ENTITY_PROPERTY.PROPERTY_MD: //魔抗 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_MD; } break; case (int)ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE: //冷却缩减 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_PCTCoolReduce; strPropertyValue = e.data.nValue / 100; } break; case (int)ENTITY_PROPERTY.PROPERTY_MP_REPLY: //法力回复 { nIndex = (int)EMobaDetailedPropertyInfoID.EMDPI_MpReply; } break; default: { bIsViewItemChange = false; } break; } if (bIsViewItemChange) { SetMainHeroPropertyValue(nIndex, strPropertyValue); if (IsVisible()) { SetHeroProperty(); SaveHeroPrperty(); } } }
//数值属性回调函数 public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { if (e.objev == null || m_wndView == null || !e.objev.IsHero || !bMobaState) { return; } entity_view_update_Numproperty data = e.data; int nUpdateValue = data.nValue; switch (data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_VOCATION: { SetHeroVocationProtrait(nUpdateValue); } break; case (int)ENTITY_PROPERTY.PROPERTY_EXP: { SetHeroExp(nUpdateValue, data.nOtherData); } break; case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: { SetHeroLevel(nUpdateValue); } break; case (int)ENTITY_PROPERTY.PROPERTY_STAMINA: { m_currentStamina = nUpdateValue; SetHeroStamina(); } break; case (int)ENTITY_PROPERTY.PROPERTY_MAX_STAMINA: { m_maxStamina = nUpdateValue; SetHeroStamina(); } break; case (int)ENTITY_PROPERTY.PROPERTY_MP: case (int)ENTITY_PROPERTY.PROPERTY_ENERGY: { m_currentMp = nUpdateValue; SetHeroMP(); } break; case (int)ENTITY_PROPERTY.PROPERTY_MAX_MP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_ENERGY: { m_maxMp = nUpdateValue; SetHeroMP(); } break; case (int)ENTITY_PROPERTY.PROPERTY_TALENT_POINT: //金钱 { SetGoodsStoreMoney(nUpdateValue); } break; case (int)ENTITY_PROPERTY.PROPERTY_HP: { m_currentHp = nUpdateValue; SetHeroHP(); } break; case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: { m_maxHp = nUpdateValue; SetHeroHP(); } break; case (int)ENTITY_PROPERTY.PROPERTY_SHIELD: { SetHeroHP(); } break; case (int)ENTITY_PROPERTY.PROPERTY_PA: case (int)ENTITY_PROPERTY.PROPERTY_MA: case (int)ENTITY_PROPERTY.PROPERTY_PD: case (int)ENTITY_PROPERTY.PROPERTY_MD: case (int)ENTITY_PROPERTY.PROPERTY_SD: case (int)ENTITY_PROPERTY.PROPERTY_PCT_AF: case (int)ENTITY_PROPERTY.PROPERTY_CRC: case (int)ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE: { ENTITY_PROPERTY index = (ENTITY_PROPERTY)e.data.nPropID; float fValue = e.data.nValue; if (!Mathf.Approximately(m_dicPropertyValue[index], fValue)) { m_dicPropertyValue[index] = fValue; if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_CRC || e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE || e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_PCT_AF) { fValue /= 100; } // 取得配置区间值 if (EntityFactory.MainHeroView == null) { break; } int nHeroID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_VOCATION); int nPropIndex = m_dicPropertyIndex[(ENTITY_PROPERTY)data.nPropID]; SSchemePropertyPanel propConfig = PropertyPanelConfig.Instance.GetPropertyPanelConfigList(nHeroID, fValue, nPropIndex); if (propConfig == null) { Debug.LogError(String.Format("propConfig == null,{0},{1}, {2}", nHeroID, fValue, nPropIndex)); break; } string strValue = ""; if (index == ENTITY_PROPERTY.PROPERTY_PCT_AF) { strValue = String.Format("{0}{1}", (int)fValue, "%"); } else if (index == ENTITY_PROPERTY.PROPERTY_CRC || index == ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE) { strValue = fValue.ToString("0") + "%"; } else { strValue = fValue.ToString(); } string strNewText = String.Format("<color='#{0}'>{1}</color>", propConfig.strColor, strValue); m_wndView.SetPropertyValue(nPropIndex - 1, strNewText); } } break; default: break; } }
//数值属性回调函数 public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { //int nMyCamp = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CAMP); if (m_wndView == null) { return; } EntityView ev = e.objev; int nUID = e.data.nEntityID; bool isMyCamp = (ev.CampFlag == SPELL.CampFlag.CampFlag_Friend || ev.CampFlag == SPELL.CampFlag.CampFlag_Self); TeamRightInfo teamRightInfo = null; if (isMyCamp) { teamRightInfo = LogicDataCenter.teamRightWndDataManager.MyTeamUIDTable[nUID] as TeamRightInfo; } else { teamRightInfo = LogicDataCenter.teamRightWndDataManager.OtherTeamUIDTable[nUID] as TeamRightInfo; } if (teamRightInfo == null) { return; } int nSlotId = teamRightInfo.nSlotId; switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_HP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: { int nMaxHP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_HP); int nHP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_HP); if (isMyCamp) { m_wndView.SetMyTeamHPChange(nMaxHP, nHP, nSlotId); } } break; case (int)ENTITY_PROPERTY.PROPERTY_MP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_MP: { int nMaxMP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_MP); int nMP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MP); if (isMyCamp) { m_wndView.SetMyTeamMPChange(nMaxMP, nMP, nSlotId); } } break; case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: { Debug.LogWarning("Lv update," + ev.createinfo.szName + ":" + ev.createinfo.nLevel); int nlevel = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL); if (isMyCamp) { m_wndView.SetMyTeamLevelChange(nlevel, nSlotId); } else { m_wndView.SetOtherTeamLevelChagne(nlevel, nSlotId); } } break; case (int)ENTITY_PROPERTY.PROPERTY_AI_SCHEME_ID: { bool bIsAI = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_AI_SCHEME_ID) > 0 ? true : false; if (isMyCamp) { m_wndView.SetMyTeamAICommandBtn(bIsAI, nSlotId); } } break; default: break; } }
//数值属性回调函数 public void ResponseEntityNumPropEvent(EntityNumPropEventArgs e) { if (m_wndView == null) { return; } EntityView ev = e.objev; int nUID = e.data.nEntityID; bool isMyCamp = (ev.CampFlag == SPELL.CampFlag.CampFlag_Friend || ev.CampFlag == SPELL.CampFlag.CampFlag_Self); if (!isMyCamp) { return; } TeamRightInfo TeammateViewItem = LogicDataCenter.teamRightWndDataManager.MyTeamUIDTable[nUID] as TeamRightInfo; if (TeammateViewItem == null) { return; } int nSlotId = TeammateViewItem.nSlotId; switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_HP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP: { int nMaxHP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_HP); int nHP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_HP); if (isMyCamp) { m_wndView.SetMyTeamHPChange(nMaxHP, nHP, nSlotId); } } break; case (int)ENTITY_PROPERTY.PROPERTY_MP: case (int)ENTITY_PROPERTY.PROPERTY_MAX_MP: { int nMaxMP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MAX_MP); int nMP = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_MP); if (isMyCamp) { m_wndView.SetMyTeamMPChange(nMaxMP, nMP, nSlotId); } } break; case (int)ENTITY_PROPERTY.PROPERTY_LEVEL: { int nlevel = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL); Debug.LogWarning("Lv update," + ev.createinfo.szName + ":" + ev.createinfo.nLevel + "," + nlevel); if (isMyCamp) { m_wndView.SetMyTeamLevelChange(nlevel, nSlotId); } } break; default: break; } }
//响应消息 public static void RaiseIprEvent(EntityNumPropEventArgs e) { OnIprEvent(e); }