public override void setCharacterAttr() { PlayerAttr playerAttr = new PlayerAttr(); playerAttr.setAttrStragegy(new PlayerAttrStrategy()); m_playerBuildParam.character.CharacterAttr = playerAttr; }
//事件触发函数 public static void _OnAttrChanged(PlayerAttr playerAttr) { if (OnAttrChanged != null) { OnAttrChanged(playerAttr); } }
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; }
/// <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"); }
/// <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"); }
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); }
//刷新翅膀总属性 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; }
//刷新翅膀升阶人物属性 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; }
void SetPlayerAttrText(PlayerAttr playerAttr) { AttText.text = playerAttr.Attack.ToString(); BloodText.text = playerAttr.Blood.ToString(); DefenseText.text = playerAttr.Defense.ToString(); }