unity手游<少侠历险记>(4)揹包系统

前言


本文由作者@zx一路飞奔出品,转载请注明出处

文章地址:http://blog.csdn.net/u014735301/article/details/43307651

作者微博:http://weibo.com/u/1847349851


总结下自己想的揹包系统的实现。先上图看看效果



揹包系统


首先需要一个管理揹包的类,其中我将包裹中的物品,和左边装备栏的装备,区分开来!



上代码
.
/*
    人物揹包类
 */
public class BagData : MonoBehaviour {
    
    //物品
    [System.Serializable]
    public class Bag
    {
        public ItemData.Item item;  //物品
        public int count;           //物品数量
    }
    //人物装备
    [System.Serializable]
    public class Equip 
    {
        public ItemData.Item equip;
        public bool equipOn;
    }
    public List<Bag> bag = new List<Bag>(); //揹包;
    public Equip wuqi;     //武器
    public Equip maozi ;
    public Equip yifu ;
    public Equip xiezi ;
    public Equip xianglian;
    public Equip jiezhi ;

    public int goldCount;

    public static BagData instance;//单例

	void Awake () {
        instance = this;
	}
    void Update() {
        for (int i = 0; i < bag.Count; i++)
        {
            if (bag[i].count == 0)
            {
                bag.Remove(bag[i]);
            }
        }
    }

再看看 item类(物品类)

    //物品类型
    public enum ItemType{
        //金币,装备,材料,消耗品,任务用品
        gold, equipment, material, drug, task
    }
    //装备类型
    public enum EquipmentType{
        //武器,衣服,帽子,鞋子,项链,戒指
        wuqi,yifu,maozi,xiezi,xianglian,jiezhi
    }
    //物品
    [System.Serializable]
    public class Item {
        public string name = "name";//名称
        public string id = "id";    //id
        public ItemType itemType;   //物品类型
        [Multiline]
        public string description = "Description Here";//描述
        public Texture2D img;   //图片
        public float range;     //爆率
        public int count;       //数量
        public EquipmentType equipmentType;//装备类型
        public int price;       //价格(卖商店能卖几个钱)
        //对属性的作用
        public int hp, mp, atk, def;
        public float criPercent, atkSpd, moveSpd;
            
    }

基本类搞定了, 剩下的就是UI逻辑的问题,无非是item,传来传去,传参数,就需要在物品栏格子,物品显示面板,装备格子上,挂上脚本,

写入item参数。保证能获取item ,同时将揹包 做成单例模式,这样对其操作更加方便!



写一个 UIController.cs 控制整个UI逻辑。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章