Example #1
0
    public override void setCharacterAttr()
    {
        PlayerAttr playerAttr = new PlayerAttr();

        playerAttr.setAttrStragegy(new PlayerAttrStrategy());
        m_playerBuildParam.character.CharacterAttr = playerAttr;
    }
Example #2
0
 //事件触发函数
 public static void _OnAttrChanged(PlayerAttr playerAttr)
 {
     if (OnAttrChanged != null)
     {
         OnAttrChanged(playerAttr);
     }
 }
Example #3
0
        public PlayerAttr AssignClassPlayer(PlayerAttr Attr, IClassPlayer class_player)
        {
            Attr.HpBase = Attr.HpBase * class_player.Hp_Base;
            Attr.Mana   = Attr.Mana * class_player.Mana_Base;
            Attr.Atk    = Attr.Atk * class_player.Atk_Base;
            Attr.Def    = Attr.Def * class_player.Def_Base;
            Attr.AtkM   = Attr.AtkM * class_player.AtkM_Base;
            Attr.DefM   = Attr.DefM * class_player.DefM_Base;

            return(Attr);
        }
    // 如果被開啟時
    void OnShow()
    {
        LogMgr.DebugLog("[Panel_PlayerInfo.Awake]");
//		// 取得大頭貼
//		UISprite SpriteIcon = GameUtility.GetComponentInChildren<UISprite> (this.gameObject, "Sprite_Icon") as UISprite;
//		SpriteIcon.spriteName = "npc10003";
        // 取得描述
        UILabel LabelDesc = GameUtility.GetComponentInChildren <UILabel> (this.gameObject, "Label_PlayerInfo") as UILabel;
        string  strResult = PlayerAttr.instance().ToString();

        LabelDesc.text = strResult;
    }
Example #5
0
    /// <summary>
    /// 工作
    /// </summary>
    public void Work(Buffer buff)
    {
        m_PlayerAttr = this.gameObject.GetComponent <PlayerAttr>();
        if (m_PlayerAttr == null)
        {
            return;
        }

        m_fTime  = buff.m_fTime;
        m_iValue = buff.m_iValue;
        m_type   = buff.m_type;

        StartCoroutine("WorkBuff");
    }
Example #6
0
    /// <summary>
    /// 工作
    /// </summary>
    public void Work(Buffer buff)
    {
        m_PlayerAttr = this.gameObject.GetComponent<PlayerAttr>();
        if (m_PlayerAttr == null)
        {
            return;
        }

        m_fTime = buff.m_fTime;
        m_iValue = buff.m_iValue;
        m_type = buff.m_type;

        StartCoroutine("WorkBuff");
    }
Example #7
0
        public static bool AttributesField(Attributes attrs)
        {
            var changed       = false;
            var attr_type_arr = Enum.GetValues(typeof(PlayerAttr));

            foreach (PlayerAttr attr_type in attr_type_arr)
            {
                if (attrs.ExistAttr(attr_type))
                {
                    GUILayout.BeginHorizontal();
                    GUI.changed = false;
                    attrs.SetAttr(attr_type, EditorGUILayout.IntField(attr_type.ToString(), attrs[attr_type]));
                    if (GUI.changed)
                    {
                        changed = true;
                    }

                    GUI.color = Color.red;
                    if (GUILayout.Button("X", GUILayout.Width(16)))
                    {
                        attrs.RemoveAttr(attr_type);
                    }
                    GUI.color = GUI.contentColor;

                    GUILayout.EndHorizontal();
                }
            }

            if (attrs.Keys.Count < attr_type_arr.Length)
            {
                GUILayout.BeginHorizontal();
                mAttrType  = (PlayerAttr)EditorGUILayout.EnumPopup(mAttrType);
                mAttrValue = EditorGUILayout.IntField(mAttrValue);

                if (GUILayout.Button("+", GUILayout.Width(16)))
                {
                    attrs.SetAttr(mAttrType, mAttrValue);
                    changed = true;
                }

                GUILayout.EndHorizontal();
            }

            return(changed);
        }
Example #8
0
    //刷新翅膀总属性
    public void RefresWholeAttribute()
    {
        var dicAttr = new Dictionary <int, int>();
        var attrs   = new ObservableCollection <AttributeBaseDataModel>();
        var tbWing  = Table.GetWingQuality(DataModel.ItemData.ItemId);

        if (tbWing == null)
        {
            return;
        }

        PlayerAttr.FillWingAdvanceAttr(dicAttr, DataModel.ItemData);

        //培养属性
        for (var i = 0; i != 5; ++i)
        {
            var tbWingTrain = Table.GetWingTrain(DataModel.ItemData.ExtraData[1 + i * 2]);
            if (tbWingTrain == null)
            {
                continue;
            }
            for (var j = 0; j != tbWingTrain.AddPropID.Length; ++j)
            {
                var nAttrId = tbWingTrain.AddPropID[j];
                var nValue  = tbWingTrain.AddPropValue[j];
                if (nAttrId < 0 || nValue <= 0)
                {
                    break;
                }
                if (nValue > 0 && nAttrId != -1)
                {
                    if (nAttrId == 105)
                    {
                        if (dicAttr.ContainsKey(5))
                        {
                            dicAttr.modifyValue(5, nValue);
                        }
                        if (dicAttr.ContainsKey(6))
                        {
                            dicAttr.modifyValue(6, nValue);
                        }
                        if (dicAttr.ContainsKey(7))
                        {
                            dicAttr.modifyValue(7, nValue);
                        }
                        if (dicAttr.ContainsKey(8))
                        {
                            dicAttr.modifyValue(8, nValue);
                        }
                    }
                    else
                    {
                        dicAttr.modifyValue(nAttrId, nValue);
                    }
                }
            }
        }
        //翅膀战力
        DataModel.Fightforce = PlayerDataManager.Instance.GetAttrFightPoint(dicAttr);
        {
            // foreach(var i in dicAttr)
            var __enumerator1 = (dicAttr).GetEnumerator();
            while (__enumerator1.MoveNext())
            {
                var i = __enumerator1.Current;
                {
                    var attr = new AttributeBaseDataModel();
                    attr.Type  = i.Key;
                    attr.Value = i.Value;
                    attr.Value = FixAttributeValue(i.Key, attr.Value);
                    attrs.Add(attr);
                }
            }
        }
        DataModel.WholeAttributes = attrs;
    }
Example #9
0
    //刷新翅膀升阶人物属性
    public void RefresWingQualityAttribute(int wingId)
    {
        var tbWing = Table.GetWingQuality(wingId);

        if (tbWing == null)
        {
            return;
        }
        if (tbWing.Segment > GameUtils.WingQualityMax)
        {
            GameUtils.ShowHintTip(200012);
            return;
        }

        {
            // foreach(var data in DataModel.QualityDatas)
            var __enumerator5 = (DataModel.QualityDatas).GetEnumerator();
            while (__enumerator5.MoveNext())
            {
                var data = __enumerator5.Current;
                {
                    data.IsSelect = data.ItemId == wingId ? 1 : 0;
                    //var tbQuality = Table.GetWingQuality(data.WingId);
                    if (data.IsSelect == 1)
                    {
                        var tbWingQuality = Table.GetWingQuality(data.WingId);
                        DataModel.SelectQuality = tbWingQuality.Segment;
                        var tbItem = Table.GetItemBase(data.ItemId);
                        if (tbItem != null)
                        {
                            DataModel.SelectName = tbItem.Name;
                        }
                        else
                        {
                            DataModel.SelectName = "";
                        }
                    }
                }
            }
        }

        DataModel.QualityId = wingId;
        DataModel.QualityAttributes.Clear();
        var attrs          = new ObservableCollection <AttributeChangeDataModel>();
        var dicAttr        = new Dictionary <int, int>();
        var dicAttrNext    = new Dictionary <int, int>();
        var dicAttrNextMax = new Dictionary <int, int>();

        if (wingId == DataModel.ItemData.WingQuailty)
        { // 当前阶段
            PlayerAttr.FillWingAdvanceAttr(dicAttr, DataModel.ItemData);
            if (DataModel.IsAdvanceFull)
            {
                PlayerAttr.FillWingBreakAttr(dicAttrNext, wingId + 1);
                // dicAttrNext = dicAttrNext - dicAttr;
                var tempAttrDict = new Dictionary <int, int>();
                var enumorator1  = dicAttrNext.GetEnumerator();
                while (enumorator1.MoveNext())
                {
                    int attr;
                    if (dicAttr.TryGetValue(enumorator1.Current.Key, out attr))
                    {
                        tempAttrDict[enumorator1.Current.Key] = enumorator1.Current.Value - attr;
                    }
                }
                dicAttrNext = tempAttrDict;
            }
            else
            { // 成长属性
                for (var i = 0; i < tbWing.GrowPropID.Length; ++i)
                {
                    var nAttrId = tbWing.GrowPropID[i];
                    if (nAttrId < 0)
                    {
                        break;
                    }
                    var valueMin = tbWing.GrowMinProp[i];
                    var valueMax = tbWing.GrowMaxProp[i];
                    if (valueMin > 0 && valueMax >= valueMin)
                    {
                        dicAttrNext.modifyValue(nAttrId, valueMin);
                        if (valueMax != valueMin)
                        {
                            dicAttrNextMax.modifyValue(nAttrId, valueMax);
                        }
                    }
                }
            }
        }
        else if (wingId > DataModel.ItemData.WingQuailty)
        { // 其它阶段
            PlayerAttr.FillWingAdvanceAttr(dicAttr, DataModel.ItemData);
            PlayerAttr.FillWingBreakAttr(dicAttrNext, wingId);

            // dicAttrNext = dicAttrNext - dicAttr;
            var tempAttrDict = new Dictionary <int, int>();
            var enumorator1  = dicAttrNext.GetEnumerator();
            while (enumorator1.MoveNext())
            {
                int attr;
                if (dicAttr.TryGetValue(enumorator1.Current.Key, out attr))
                {
                    tempAttrDict[enumorator1.Current.Key] = enumorator1.Current.Value - attr;
                }
            }
            dicAttrNext = tempAttrDict;

            dicAttr.Clear();
            PlayerAttr.FillWingBreakAttr(dicAttr, wingId);
        }
        else
        {
            PlayerAttr.FillWingBreakAttr(dicAttr, wingId);
        }

        var __enumerator7 = (dicAttr).GetEnumerator();

        while (__enumerator7.MoveNext())
        {
            var i = __enumerator7.Current;
            {
                var attr = new AttributeChangeDataModel();
                attr.Type  = i.Key;
                attr.Value = i.Value;
                int nextValue;
                if (dicAttrNext.TryGetValue(attr.Type, out nextValue))
                {
                    attr.Change = nextValue;
                    attr.Change = FixAttributeValue(i.Key, attr.Change);
                    int nextValueMax;
                    if (dicAttrNextMax.TryGetValue(attr.Type, out nextValueMax))
                    {
                        attr.ChangeEx = nextValueMax;
                    }
                }
                attr.Value = FixAttributeValue(i.Key, attr.Value);
                attrs.Add(attr);
            }
        }

        DataModel.QualityAttributes = attrs;
    }
Example #10
0
 void SetPlayerAttrText(PlayerAttr playerAttr)
 {
     AttText.text     = playerAttr.Attack.ToString();
     BloodText.text   = playerAttr.Blood.ToString();
     DefenseText.text = playerAttr.Defense.ToString();
 }