Пример #1
0
        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;
            }
        }
Пример #2
0
        /// <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;
            }
        }
Пример #3
0
 //响应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);
         }
     }
 }
Пример #4
0
 /// <summary>
 /// 数值属性变化处理
 /// </summary>
 /// <param name="data"></param>
 override public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e)
 {
     if (e.objev == null)
     {
         return;
     }
 }
Пример #5
0
    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;
        }
    }
Пример #6
0
        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;
            }
        }
Пример #7
0
        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;
            }
        }
Пример #8
0
 protected static void OnIprEvent(EntityNumPropEventArgs e)
 {
     if (EntityNumPropEvent != null)
     {
         EntityNumPropEvent(e);
     }
 }
Пример #9
0
        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);
            }
        }
Пример #10
0
    /// <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);
    }
Пример #11
0
    //更新血条,蓝条,等级时候调用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;
        }
    }
Пример #12
0
        //数值属性回调函数 用于战场
        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;
            }
        }
Пример #13
0
    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;
        }
    }
Пример #14
0
    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();
        }
    }
Пример #15
0
        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;
            }
        }
Пример #16
0
    //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;
        }
    }
Пример #17
0
        //数值属性回调函数
        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;
            }
        }
Пример #18
0
        //数值属性回调函数
        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;
            }
        }
Пример #19
0
    //数值属性回调函数
    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;
        }
    }
Пример #20
0
        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;
            }
        }
Пример #21
0
        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;
            }
        }
Пример #22
0
        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;
            }
        }
Пример #23
0
        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;
            }
        }
Пример #24
0
    //响应数值属性消息函数
    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;
        }
    }
Пример #25
0
 /// <summary>
 /// 数值属性变化处理
 /// 子类覆盖使用
 /// </summary>
 /// <param name="data"></param>
 public virtual void OnCommand_UpdateNumProp(EntityNumPropEventArgs e)
 {
 }
Пример #26
0
        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();
                }
            }
        }
Пример #27
0
        //数值属性回调函数
        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;
            }
        }
Пример #28
0
        //数值属性回调函数
        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;
            }
        }
Пример #29
0
        //数值属性回调函数
        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;
            }
        }
Пример #30
0
 //响应消息
 public static void RaiseIprEvent(EntityNumPropEventArgs e)
 {
     OnIprEvent(e);
 }