123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- using UnityEngine;
- using System.Collections;
- using UnityEngine.UI;
- using System.Collections.Generic;
- using System;
- using System.Linq;
- /// <summary>
- /// 道具Vo
- /// </summary>
- public class ItemVo
- {
- /// <summary>
- /// 这个物品在玩家身上唯一的id
- /// </summary>
- public string uid { set; get; }
- /// <summary>
- /// 当前数量
- /// </summary>
- public int count { set; get; }
- /// <summary>
- /// 查询用的id
- /// </summary>
- public string typeId { set; get; }
- /// <summary>
- /// 是否是新道具 true:新标志
- /// </summary>
- public bool isNew
- {
- get
- {
- if (this.nMo.subType == (int)EItemSubType.Weapon)
- {
- List<string> weaponRecord = UserProxy.Instance.player.collectEquip.weaponRecord;
- if (weaponRecord.Contains(this.uid))
- {
- return true;
- }
- }else if (this.nMo.subType == (int)EItemSubType.YanLing)
- {
- List<string> record = UserProxy.Instance.player.collectYanling.yanlingRecord;
- if (record.Contains(this.uid))
- {
- return true;
- }
- }
- else
- {
- List<string> record = UserProxy.Instance.player.collectItem.itemRecord;
- if (record.Contains(this.typeId))
- {
- return true;
- }
- }
- return false;
- }
- }
- #region 属性(Get)方法
- /// <summary>
- /// 模板数据
- /// </summary>
- public sm_item_base nMo => sm_item_base.GetMoById(int.Parse(this.typeId));
- /// <summary>
- /// 是否武器类道具
- /// </summary>
- public bool IsWeapon => null != nMo && nMo.subType == (int)EItemSubType.Weapon;
- /// <summary>
- /// 是否是言灵
- /// </summary>
- public bool IsYanLing => null != nMo && nMo.subType == (int)EItemSubType.YanLing;
- #endregion
- #region 对外提供的某装备的额外属性加成, 静态方法....
- /// <summary>
- /// 解析逗号+分号分隔的道具字符串(id,num;id,num;....)
- /// </summary>
- /// <param name="content"></param>
- /// <returns></returns>
- public static List<ItemVo> ParsItemContentStr(string content)
- {
- var li = new List<ItemVo>();
- if (!string.IsNullOrEmpty(content.Trim()))
- {
- content.Split(';').ToList().ForEach(s =>
- {
- var arr = s.Split(',');
- var itemId = arr[0];
- var num = int.Parse(arr[1]);
- li.Add(new ItemVo() { typeId = itemId, count = num });
- });
- }
- return li;
- }
- #endregion
- }
- /// <summary>
- /// 道具2级分类
- /// </summary>
- public enum EItemSubType
- {
- None = -1,
- EXP = 0, // 指挥官经验
- Gold = 1, // 金币
- Gem = 2, // 钻石
- PVPCoin = 5, // 竞技场奖励竞技币
- ActivePoint = 6, // 每日任务活跃点奖励
- Weapon = 101, // 武器
- Segment = 201, // 英雄碎片
- YanlingBookSegement = 202, // 言灵书碎片
- BuffCard = 301, // 消耗品 | 经验卡---废弃
- Package = 302, // 消耗品 | 礼包----废弃
- Pill = 303, // 药品(体力)----战斗里使用了
- Gene = 311, // 基础材料 | 基因(角色经验丹)
- StrengthStone = 312, // 基础材料 | 强化石(言灵强化)
- StrengthStone_Wuqi = 313, // 基础材料 | 强化石(用于武器强化)
- AdvancedStone = 321, // 进阶材料 | 进阶石(用于武器、言灵升阶)--改成 合成材料了
- AdvancedFineStone = 322, // 进阶材料 | 进阶 精华石(用于武器、言灵的升阶)
- ForgingMaterial = 323, // 锻造材料 | 用于武器言灵锻造
- Hunqi = 324, //魂器
- ElementTuPoMaterial = 325,//元素突破材料
- professionTuPoMaterial = 326,//职业突破材料
- YanLingAdvancedStone = 327,//言灵的突破石
- YanLingAdvancedMaterial = 328,//言灵的突破材料
- WuqiAdvancedStone = 329, //武器的突破石
- WuqiAdvancedMaterial = 330, //武器的突破材料
- Box = 331, // 活动道具 | 宝箱
- commonWishCoupons = 332, //活动道具 | 普通祈愿券
- ActiveWishCoupons = 333, //活动道具 | 活动祈愿券
- // 备注
- BattleItem_HP = 341, // 战场道具 | 血瓶
- BattleItem_MP = 342, // 战场道具 | 蓝瓶
- BattleItem_Box = 343, // 战场道具 | 箱子
- TownPortalScroll =344, // 回城卷轴
- YanlingBook = 351, // 言灵召唤书
- //...合成素材等...
- YanLing = 401, // 言灵
- Package_limit = 501, // 限购礼包
- Package_First = 502, // 首冲礼包
- Package_limitTs = 503, // 限时礼包
- Package_Daliy = 504, // 每日特惠礼包
-
- TaskCard = 601, // 任务卡 default(0)
- Gemstone = 701, //宝石
- GemTuZhi =702, //设计图纸
- GemMaterial = 703, //宝石辅助材料
- }
- //}
- /// <summary>
- /// 装备(武器)2019年11月26日14:55:36 (暂时定这些字段,后面再改)
- /// </summary>
- [Obsolete("改用UserEquipmentVo了.2020年1月2日")]
- public partial class EquipeMentVo : ItemVo
- {
- /// <summary>
- /// 当前星级
- /// </summary>
- public int starLevel;
- /// <summary>
- /// 当前星级上限
- /// </summary>
- public int maxStar;
- /// <summary>
- /// 当前等级
- /// </summary>
- public new int level;
- /// <summary>
- /// 当前经验
- /// </summary>
- public int exp;
- /// <summary>
- /// 是否锁定(锁定后不会被误卖)
- /// </summary>
- public int isLocked;
- /// <summary>
- /// 是否使用中(装备)
- /// </summary>
- public int WhoIsUsing;
- [Obsolete("武器上此字段不可用")]
- public new int count = 1;
- }
|