您的位置:首页 > 移动开发 > Unity3D

Unity3d背包系统系统(二)—— 开发消耗品、装备、武器材料

2017-09-29 21:03 399 查看

上节开发了背包系统物品的基类,这节继续开发它的子类---消耗品、装备、武器材料类



各个子类继承了基类并且有各自的属性及构造方法,子类的拷贝参构造是拷贝的父类的属性在加上子类的属性;下面上代码:
Consumable类的:
public class Consumable : Item
{
#region 属性

/// <summary>
/// HP
/// </summary>
public int HP { get; set; }

/// <summary>
/// MP
/// </summary>
public int MP { get; set; }

#endregion 属性

/// <summary>
/// 构造方法
/// </summary>
/// 父类构造
/// <param name="id">ID</param>
/// <param name="name">名称</param>
/// <param name="itemType">物品类型</param>
/// <param name="quality">品质</param>
/// <param name="des">描述</param>
/// <param name="capacity">容量</param>
/// <param name="buyPrice">购买价格</param>
/// <param name="sellPrice">出售价格</param>
/// <param name="sprite">图标</param>
/// 本身构造
/// <param name="hp">HP</param>
/// <param name="mp">MP</param>
public Consumable(int id, string name, ItemType itemType, QualityType quality, string des, int capacity, int buyPrice, int sellPrice, string sprite,
int hp, int mp)
: base(id, name, itemType, quality, des, capacity, buyPrice, sellPrice, sprite)
{
this.HP = hp;
this.MP = mp;
}

/// <summary>
/// 拷贝构造函数
/// </summary>
/// <param name="item">待拷贝的属性</param>
/// 本身构造
/// <param name="hp">HP</param>
/// <param name="mp">MP</param>
public Consumable(Item item, int hp, int mp)
{
this.ID          = item.ID;
this.Name        = item.Name;
this.Type        = item.Type;
this.Quality     = item.Quality;
this.Description = item.Description;
this.Capacity    = item.Capacity;
this.BuyPrice    = item.BuyPrice;
this.SellPrice   = item.SellPrice;
this.Sprite      = item.Sprite;

this.HP = hp;
this.MP = mp;
}

Equipment类的:

public class Equipment : Item
{
#region 属性

/// <summary>
/// 力量
4000

/// </summary>
public int Strength { get; set; }

/// <summary>
/// 智力
/// </summary>
public int Intellect { get; set; }

/// <summary>
/// 敏捷
/// </summary>
public int Agility { get; set; }

/// <summary>
/// 体力
/// </summary>
public int Stamina { get; set; }

/// <summary>
/// 等级
/// </summary>
public int Level { get; set; }

/// <summary>
/// 装备类型
/// </summary>
public EquipmentType EquipType { get; set; }

#endregion 属性

#region 枚举类型

/// <summary>
/// 装备类型
/// </summary>
public enum EquipmentType
{
None,       //空
Head,       //头部
Neck,       //项链
Chest,      //胸甲
Ring,       //戒指
Leg,        //护腿
Bracelet,   //手镯
Boots,      //靴子
Shoulder,   //护肩
Belt,       //腰带
}

#endregion 枚举类型

/// <summary>
/// 构造方法
/// </summary>
/// 父类构造
/// <param name="id">ID</param>
/// <param name="name">名称</param>
/// <param name="itemType">物品类型</param>
/// <param name="quality">品质</param>
/// <param name="des">描述</param>
/// <param name="capacity">容量</param>
/// <param name="buyPrice">购买价格</param>
/// <param name="sellPrice">出售价格</param>
/// <param name="sprite">图标</param>
/// 本身构造
/// <param name="level">等级</param>
/// <param name="strength">力量</param>
/// <param name="intellect">智力</param>
/// <param name="agility">敏捷</param>
/// <param name="stamina">体力</param>
/// <param name="equipType">装备类型</param>
public Equipment(int id, string name, ItemType itemType, QualityType quality, string des, int capacity, int buyPrice, int sellPrice, string sprite,
int level, int strength, int intellect, int agility, int stamina, EquipmentType equipType)
: base(id, name, itemType, quality, des, capacity, buyPrice, sellPrice, sprite)
{
this.Level = level;
this.Strength = strength;
this.Intellect = intellect;
this.Agility = agility;
this.Stamina = stamina;
this.EquipType = equipType;
}

/// <summary>
/// 拷贝构造函数
/// </summary>
/// <param name="item">待拷贝的属性</param>
///  本身构造
/// <param name="level">等级</param>
/// <param name="strength">力量</param>
/// <param name="intellect">智力</param>
/// <param name="agility">敏捷</param>
/// <param name="stamina">体力</param>
/// <param name="equipType">装备类型</param>
public Equipment(Item item,int level, int strength, int intellect, int agility, int stamina, EquipmentType equipType)
{
this.ID = item.ID;
this.Name = item.Name;
this.Type = item.Type;
this.Quality = item.Quality;
this.Description = item.Description;
this.Capacity = item.Capacity;
this.BuyPrice = item.BuyPrice;
this.SellPrice = item.SellPrice;
this.Sprite = item.Sprite;

this.Level = level;
this.Strength = strength;
this.Intellect = intellect;
this.Agility = agility;
this.Stamina = stamina;
this.EquipType = equipType;
}

Weapon类的:

public class Weapon : Item
{
#region 属性

/// <summary>
/// 伤害
/// </summary>
public int Damage { get; set; }

/// <summary>
/// 等级
/// </summary>
public int Level { get; set; }

/// <summary>
/// 武器类型
/// </summary>
public WeaponType WpType { get; set; }

#endregion 属性

#region 枚举类型

/// <summary>
/// 武器类型
/// </summary>
public enum WeaponType
{
None,         //空
MainWeapon,   //主武器
OffWeapon     //副武器
}

#endregion 枚举类型

/// <summary>
/// 构造方法
/// </summary>
/// 父类构造
/// <param name="id">ID</param>
/// <param name="name">名称</param>
/// <param name="itemType">物品类型</param>
/// <param name="quality">品质</param>
/// <param name="des">描述</param>
/// <param name="capacity">容量</param>
/// <param name="buyPrice">购买价格</param>
/// <param name="sellPrice">出售价格</param>
/// <param name="sprite">图标</param>
/// 本身构造
/// <param name="level">等级</param>
/// <param name="damage">伤害</param>
/// <param name="weaponType">武器类型</param>
public Weapon(int id, string name, ItemType itemType, QualityType quality, string des, int capacity, int buyPrice, int sellPrice, string sprite,
int level, int damage, WeaponType weaponType)
: base(id, name, itemType, quality, des, capacity, buyPrice, sellPrice, sprite)
{
this.Level = level;
this.Damage = damage;
this.WpType = weaponType;
}

/// <summary>
/// 拷贝构造函数
/// </summary>
/// <param name="item">待拷贝的属性</param>
/// 本身构造
/// <param name="level">等级</param>
/// <param name="damage">伤害</param>
/// <param name="weaponType">武器类型</param>
public Weapon(Item item, int level, int damage, WeaponType weaponType)
{
this.ID = item.ID;
this.Name = item.Name;
this.Type = item.Type;
this.Quality = item.Quality;
this.Description = item.Description;
this.Capacity = item.Capacity;
this.BuyPrice = item.BuyPrice;
this.SellPrice = item.SellPrice;
this.Sprite = item.Sprite;

this.Level = level;
this.Damage = damage;
this.WpType = weaponType;
}
Material类的:
public class Material : Item
{
/// <summary>
/// 拷贝构造函数
/// </summary>
/// <param name="item">待拷贝的属性</param>
public Material(Item item)
{
this.ID = item.ID;
this.Name = item.Name;
this.Type = item.Type;
this.Quality = item.Quality;
this.Description = item.Description;
this.Capacity = item.Capacity;
this.BuyPrice = item.BuyPrice;
this.SellPrice = item.SellPrice;
this.Sprite = item.Sprite;
}
}


物品类的各个子类暂时全部编写完毕,
本节结束,下节继续。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: