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邏輯。




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