Exemplo n.º 1
0
    /// <summary>
    /// 获取指定属性数值
    /// </summary>
    /// <param name="prop">属性</param>
    /// <returns></returns>
    public int GetNumProp(ENTITY_PROPERTY prop)
    {
        if (prop >= m_PropertyMaxLimit || m_objMaster == null)
        {
            Debug.LogWarning("prop >= m_PropertyMaxLimit || m_objMaster == null");
            return(0);
        }

        return(m_numprops[(int)prop]);
    }
Exemplo n.º 2
0
        public void SetPropertyValue(ENTITY_PROPERTY index)
        {
            if (CurrentPlayer == null)
            {
                return;
            }

            EntityView ev     = EntityFactory.getEntityViewByID(CurrentPlayer.nEntityID);
            float      fValue = ev.Property.GetNumProp(index);

            if (!Mathf.Approximately(m_dicPropertyValue[index], fValue))
            {
                m_dicPropertyValue[index] = fValue;

                if (index == ENTITY_PROPERTY.PROPERTY_CRC ||
                    index == ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE ||
                    index == ENTITY_PROPERTY.PROPERTY_PCT_AF)
                {
                    fValue /= 100;
                }

                int nHeroID = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_VOCATION);

                int nPropIndex = m_dicPropertyIndex[index];

                SSchemePropertyPanel propConfig = PropertyPanelConfig.Instance.GetPropertyPanelConfigList(nHeroID, fValue, nPropIndex);
                if (propConfig == null)
                {
                    Debug.LogError(String.Format("propConfig == null,{0},{1}, {2}", nHeroID, fValue, nPropIndex));
                    return;
                }

                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);

                BottomView.SetPropertyValue(nPropIndex - 1, strNewText);
            }
        }
Exemplo n.º 3
0
    /// <summary>
    /// 设置指定属性数值
    /// </summary>
    /// <param name="prop">属性</param>
    /// <param name="nValue">属性数值</param>
    /// <returns></returns>
    public bool SetNumProp(ENTITY_PROPERTY prop, int nValue, int nOtherValue = 0)
    {
        if (prop >= m_PropertyMaxLimit || m_objMaster == null)
        {
            return(false);
        }
        int propID = (int)prop;
        // 取得更新前数值
        int nOldValue = m_numprops[propID];

        m_numprops[propID] = nValue;
        OnAfterUpdateNumProp(propID, nValue, nOldValue, nOtherValue);
        return(true);
    }
Exemplo n.º 4
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;
            }
        }
Exemplo n.º 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_SKIN:
            SetHeroVocationProtrait(e.data, e.objev);
            break;

        case (int)ENTITY_PROPERTY.PROPERTY_EXP:
            SetHeroExp(e.data, e.objev);
            break;

        case (int)ENTITY_PROPERTY.PROPERTY_LEVEL:
            SetHeroLevel(e.data, e.objev);
            break;

        case (int)ENTITY_PROPERTY.PROPERTY_STAMINA:
        {
            if (e.objev.IsHero)
            {
                _currentStamina = e.data.nValue;
                SetHeroStamina();
            }
        }
        break;

        case (int)ENTITY_PROPERTY.PROPERTY_MAX_STAMINA:
        {
            if (e.objev.IsHero)
            {
                _maxStamina = e.data.nValue;
                SetHeroStamina();
            }
        }
        break;

        case (int)ENTITY_PROPERTY.PROPERTY_MP:
        case (int)ENTITY_PROPERTY.PROPERTY_ENERGY:
        {
            if (e.objev.IsHero)
            {
                //if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_MP)
                {
                    _currentMp = e.data.nValue;
                    SetHeroMP();
                }
                //else
                //{
                //    Trace.Log("PROPERTY_ENERGY:目前没实现特殊能力值的显示效果");
                //}
            }
        }
        break;

        case (int)ENTITY_PROPERTY.PROPERTY_MAX_MP:
        case (int)ENTITY_PROPERTY.PROPERTY_MAX_ENERGY:
        {
            if (e.objev.IsHero)
            {
                //if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_MP)
                {
                    _maxMp = e.data.nValue;
                    SetHeroMP();
                }
                //else
                //{
                //    Trace.Log("PROPERTY_MAX_ENERGY:目前没实现特殊能力值的显示效果");
                //}
            }
        }
        break;

        case (int)ENTITY_PROPERTY.PROPERTY_TALENT_POINT:    //金钱
        {
            SetGoodsStoreMoney(e.data, e.objev);
        }
        break;

        case (int)ENTITY_PROPERTY.PROPERTY_HP:
        {
            if (e.objev.IsHero)
            {
                _currentHp = e.data.nValue;
                SetHeroHP();
            }
        }
        break;

        case (int)ENTITY_PROPERTY.PROPERTY_MAX_HP:
        {
            if (e.objev.IsHero)
            {
                _maxHp = e.data.nValue;
                SetHeroHP();
            }
        }
        break;

        case (int)ENTITY_PROPERTY.PROPERTY_SHIELD:
        {
            if (e.objev.IsHero)
            {
                //_nCurrentShield = e.data.nValue;
                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_AF:
        case (int)ENTITY_PROPERTY.PROPERTY_CRC:
        case (int)ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE:
        {
            if (e.objev.IsHero)
            {
                ENTITY_PROPERTY index  = (ENTITY_PROPERTY)e.data.nPropID;
                float           nValue = e.data.nValue;
                if (!Mathf.Approximately(_propertyValue[index], nValue))
                {
                    _propertyValue[index] = nValue;

                    if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_AF)
                    {
                        _propertyValue[index] /= 10000;
                    }
                    else if (e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_CRC || e.data.nPropID == (int)ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE)
                    {
                        _propertyValue[index] /= 100;
                    }

                    SetAllPropertyValue(_propertyValue[ENTITY_PROPERTY.PROPERTY_PA].ToString(), _propertyValue[ENTITY_PROPERTY.PROPERTY_MA].ToString(),
                                        _propertyValue[ENTITY_PROPERTY.PROPERTY_PD].ToString(), _propertyValue[ENTITY_PROPERTY.PROPERTY_MD].ToString(),
                                        _propertyValue[ENTITY_PROPERTY.PROPERTY_AF].ToString("f2"), _propertyValue[ENTITY_PROPERTY.PROPERTY_PCT_COOL_REDUCE].ToString(),
                                        _propertyValue[ENTITY_PROPERTY.PROPERTY_CRC].ToString(), _propertyValue[ENTITY_PROPERTY.PROPERTY_SD].ToString());
                }
            }
        }
        break;
        }
    }