static public bool RemoveProp(BaseAdditionalAttribute prop, int number) { for (int i = 0; i < Model.Prop.Length; i++) { if (Model.Prop[i].Equals(prop)) { if (Model.Prop[i].number < number) { if (RemoveProp(prop, number - Model.Prop[i].number)) { Model.Prop[i].SetNull(); Write(); } else { return(false); } } else { Model.Prop[i].number -= number; if (Model.Prop[i].number <= 0) { Model.Prop[i].SetNull(); } Write(); return(true); } } } return(false); }
void OnUpdatePropCount() { int index = 0; int off = Character.dataModel.propCount - _propStats.Count; if (off > 0) { GameObject prefab = Manage.Instance.Resources.GetObj <GameObject>(ResourcesEnum.UIPrefab, Config.PropStatsGame, true); for (index = 0; index < off; index++) { PropStatsGame p = NetStatsGame(_PropParent); p.OnInit(OnClickProp, index); _propStats.Add(p); } } index = 0; for (int i = 0; i < Character.dataModel.propCount; i++, index++) { BaseAdditionalAttribute _att = Manage.Instance.Data.GetBaseProp(Character.dataModel.prop[i]); _propStats[i].Attribute = _att; } for (int i = index; i < _propStats.Count; i++) { _propStats[i].gameObject.SetActive(false); } }
/// <summary> /// /// </summary> /// <param name="prp"></param> /// <param name="type"></param> /// <param name="character"></param> /// <param name="PropIndex">在角色背包里面的位置</param> public void Open(BaseAdditionalAttribute prp, OpenType type, CharacterAttribute character, int PropIndex) { this.character = character; this.openType = type; this.attribute = prp; this.PropIndex = PropIndex; base.Open(); }
void OnClickProp(BaseAdditionalAttribute prop, int index) { if (prop == null) { return; } PanelManager.Instantiate.PropStatsPanel.Open(prop, PropStatsPanel.OpenType.characterBackpack, Character.dataModel, index); }
void OnClickEquipment(BaseAdditionalAttribute eq, int type) { if (eq == null) { return; } PanelManager.Instantiate.PropStatsPanel.Open(eq, PropStatsPanel.OpenType.character, character.dataModel, -1); }
void UpdateStatsGame(PropStatsGame statsGame, GameNumber prop) { BaseAdditionalAttribute attribute = Manage.Instance.Data.GetBaseProp(prop); if (attribute != null) { attribute.number = prop.number; } statsGame.Attribute = attribute; }
static public bool RemoveIndexProp(BaseAdditionalAttribute prop, int index, int number) { if (index == -1) { return(RemoveProp(prop, number)); } Model.Prop[index].number -= number; if (Model.Prop[index].number <= 0) { Model.Prop[index].SetNull(); } Write(); return(true); }
public Sprite GetPropSprite(BaseAdditionalAttribute attribute) { AssetbundleEnum _Enum = AssetbundleEnum.EquipmentIcon; switch (attribute.PropType) { case AdditionalAttributeEnum.equipment: _Enum = AssetbundleEnum.EquipmentIcon; break; case AdditionalAttributeEnum.prop: _Enum = AssetbundleEnum.PropIcon; break; } return(GetGame <Sprite>(_Enum, attribute.icon)); }
public BaseAdditionalAttribute GetBaseProp(GameNumber prop) { BaseAdditionalAttribute attribute = null; switch ((AdditionalAttributeEnum)prop.PropType) { case AdditionalAttributeEnum.equipment: attribute = Manage.Instance.Data.GetObj <EquipmentAttribute>(prop.id); break; case AdditionalAttributeEnum.prop: attribute = Manage.Instance.Data.GetObj <PropAttribute>(prop.id); break; } return(attribute); }
void UpdateStatsGame(PropStatsGame statsGame, GameNumber prop) { BaseAdditionalAttribute attribute = null; switch ((AdditionalAttributeEnum)prop.PropType) { case AdditionalAttributeEnum.equipment: attribute = Manage.Instance.Data.GetObj <EquipmentAttribute>(prop.id); break; case AdditionalAttributeEnum.prop: attribute = Manage.Instance.Data.GetObj <PropAttribute>(prop.id); break; } if (attribute != null) { attribute.number = prop.number; } statsGame.Attribute = attribute; }
static public bool AddProp(BaseAdditionalAttribute prop, int number) { //加入道具数量不能大于堆叠最大数量 for (int i = 0; i < Model.Prop.Length; i++) { if (Model.Prop[i].IsNull) { GameNumber item = new GameNumber(prop); Model.Prop[i] = item; Write(); return(true); } if (Model.Prop[i].Equals(prop)) { if (Model.Prop[i].number < prop.maxNumber) { int count = Model.Prop[i].number + prop.number; if (count > prop.maxNumber) { if (GetNullBackPackItem() < 1) { return(false); } Model.Prop[i].number = prop.maxNumber; return(AddProp(prop, count - prop.maxNumber)); } else { Model.Prop[i].number = count; Write(); return(true); } } } } return(false); }
void ClickPropGame(BaseAdditionalAttribute prop, int index) { PanelManager.Instantiate.PropStatsPanel.Open(prop, PropStatsPanel.OpenType.backpack, null, index); }
static public int GetValue(this BaseAdditionalAttribute attribute, DataEnum type) { return(attribute.baseAttribute.data.Find(a => a.Type == (int)type).GetValue()); }
public bool Equals(BaseAdditionalAttribute game) { return(game.id == this.id && game.PropType == this.PropType); }
public GameNumber(BaseAdditionalAttribute attribute) { id = attribute.id; number = attribute.number; this.PropType = attribute.PropType; }