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; } }
物品类的各个子类暂时全部编写完毕,
本节结束,下节继续。。。。。。
相关文章推荐
- 基于Unity3D(UGUI)的背包系统(装备系统,锻造系统,购买系统)
- Unity3D自学笔记——UGUI背包系统(七)物品的装备与卸下
- Unity3D ARPG游戏开发《最初的幻想》之GUI背包系统实现
- Unity3D自学笔记——UGUI背包系统(九)装备对HP影响的逻辑及使用药品
- Unity3D开发之NGUI结合粒子系统的遮挡问题
- Unity3d制作游戏背包系统
- 《游戏脚本的设计与开发》-(RPG部分)3.5 游戏背包和任务系统
- Unity3D自学笔记——UGUI背包系统(二)UI设计实现及数据绑定
- Unity3D游戏开发 地形系统(四)
- Unity3D系统实现背包里物品的各种功能
- Unity3D——UGUI实现背包系统
- 开发cocos2d-x 游戏 实战篇(3)之武器系统(散花弹)
- MAC系统下,Unity3D开发Android环境搭建
- Unity3D流行的游戏开发人员构建高速检查站系统
- Unity3d背包系统(三)—— 设计物品类的JSON文件
- unity基础开发 ----Unity3D 4.0新功能:Mecanim动画系统基础教程
- unity基础开发 ----Unity3D 4.0新功能:Mecanim动画系统基础教程
- Unity3d背包系统系统(一)——第一个类(Item物品类)
- TGE游戏引擎--开发初级武器系统-总览(添加并可以自由切换AK47,散弹枪,激光武器等等)一
- Unity3D 装备系统学习Inventory Pro 2.1.2 总结