using CommonLang;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestCDNBenchMark
{

    /// <summary>
    /// 物品基本类
    /// </summary>
    public class ItemBase
    {
        public int itemId;
        public string itemIcon;
        public long itemName;
        public int itemType;
        public int itemColor;
        public int itemBind;
        public int itemStore;
        public int stackNum;
        public long itemDesc;
        public int itemPeriod;
        public int itemPrice;

        //public int id;       //ID
        //public string name;  //名字
        //public string icon;  //icon
        //public int type;     //物品类型
        //public int color;    //品质
        //public int bind;     //0:不绑定1:拾取2:绑定
        //public int store;    //0:资源栏位 1:角色背包
        //public int num;      //数量
        //public string desc;  //描述
        //public int period;   //有效期限
        //public int price;    //价格
        //public void Copy(ItemBase item)
        //{
        //    id = item.id;
        //    name = item.name;
        //    icon = item.icon;
        //    type = item.type;
        //    color = item.color;
        //    bind = item.bind;
        //    store = item.store;
        //    num = item.num;
        //    desc = item.desc;
        //    period = item.period;
        //    price = item.price;
        //}
    }
    /// <summary>
    /// 物品类型
    /// </summary>
    public enum ItemType
    {
        BASIC = 0,
        RES = 1,
        EQUIP = 2,
        DRESS = 3,
        STUFF = 4,
        GEM = 5,
        PROP = 6,
        SUPPLY = 7,
        TASK = 8,
        OTHER = 9

    }
    /// <summary>
    /// 分解类
    /// </summary>
    public class EquipDecompos
    {
        public int id;//道具id
        public int num;//数量

    }
    /// <summary>
    /// 宝石升级类
    /// </summary>
    public class GemNeed
    {
        public int id;//材料ID
        public int num;//材料数量
    }
    /// <summary>
    /// 属性类
    /// </summary>
    public class Property
    {
        //public int anima;
        //public int attck;
        //public int defense;
        //public int damage;
        //public int crit;
        //public int resist;
        //public int hurt;
        //public int injuryFree;
        //public int hit;
        //public int dodge;
        //public int vampire;
        //public int addInjury;
        //public int lessInjury;
        //public string animaName;
        //public string attckName;
        //public string defenseName;
        //public string damageName;
        //public string critName;
        //public string resistName;
        //public string hurtName;
        //public string injuryFreeName;
        //public string hitName;
        //public string dodgeName;
        //public string vampireName;
        //public string addInjuryName;
        //public string lessInjuryName;
    }

    /// <summary>
    /// 装备类
    /// </summary>
    public class Equip : ItemBase
    {
        public int equipId;
        public int equipProf;
        public int equipPlace;
        public int equipStrenLv;
        public string effect3d;
        public int equipGroup;

        public List<EquipDecompos> equipDecom = new List<EquipDecompos>();
        public HashMap<string, GemNeed> gems = new HashMap<string, GemNeed>();
        public int[] equipExtraList;
        public int equipShroffCost;
        public int[] equipGemList;

        public int equipHp;
        public int equipAtk;
        public int equipDef;
        public int equipBreakDef;
        public int equipCrit;
        public int equipDecrit;
        public int equipAddDam;
        public int equipMinDam;
        public int equipHit;
        public int equipDodge;
        public int equipVamp;
        public int equipIncDamPer;
        public int equipDecDamPer;

        // public Property pro = new Property();

        //public void SetDecompos(string[] strArray) 
        //{
        //    for (int i = 0; i < strArray.Length; ++i) 
        //    {
        //        string[] str = strArray[i].Split(',');
        //        EquipDecompos decompos = new EquipDecompos();
        //        decompos.id = int.Parse(str[0]);
        //        decompos.num = int.Parse(str[1]);
        //        equipDecompos.Add(decompos);
        //    }
        //}
    }
    /// <summary>
    /// 道具类
    /// </summary>
    public class NewProp : ItemBase
    {
        public int propId;
        public int useLv;     //使用等级
        public int funType;//功能类型(1:礼包道具2:背包扩充3:战场门票4:技能洗点5:称号道具)
        public int[] funCoe;//功能参数
    }
    /// <summary>
    /// 宝石类
    /// </summary>
    public class Gem : ItemBase
    {
        public int gemId;
        public int gemLv;
        public List<GemNeed> upgradeCost = new List<GemNeed>();
        public int taigetId;

        public int gemHp;
        public int gemAtk;
        public int gemDef;
        public int gemBreakDef;
        public int gemCrit;
        public int gemDecrit;
        public int gemAddDam;
        public int gemMinDam;
        public int gemHit;
        public int gemDodge;
        public int gemVamp;
        public int gemIncDamPer;
        public int gemDecDamPer;
    }



}