Unity3d背包系统(四)—— 设计物品管理类——InventoryManager

目录

  • 目录
  • InventoryManager物品管理器
    • 创建InventoryManager
    • 单例模式
    • 私有属性
    • Unity3d事件方法
    • 公有方法

InventoryManager——物品管理器

InventoryManager是一个全局的管理物品的类,主要功能如下:
  • 物品json文件的解析
  • 根据物品ID获得物品
  • 显示/隐藏物品提示信息
  • 把物品放到/拿下到鼠标上面
  • 保存背包
  • 加载背包

创建InventoryManager

首先在HirHierarchy面板上面创建一个空物体名称为“InventoryManager”,并且在他上面添加一个新的脚本名称同样为“InventoryManager”,在Project面板上面
创建一个“Scripts”文件夹,在他的下面在创建一个“Manager”文件夹,把刚刚新创建的脚本放进去。

单例模式

单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为 —— [ 维基百科 ]

首先打开这个脚本,新建一个静态私有属性"_instance",在建一个与这个属性相对应的get方法,在这个get方法中为_instance赋值具体代码见如下:
     #region 单例模式

    private static InventoryManager _instance;

    public static InventoryManager Instance
    {
        get { return _instance ?? (_instance = GameObject.Find("InventoryManager").GetComponent()); }
    }

    #endregion 单例模式
其中??代表的意思为 如果??左边的为空则执行右边的,与下面的代码是相等的:
 #region 单例模式

    private static InventoryManager _instance;

    public static InventoryManager Instance
    {
        get
        {
            if (_instance == null)
            {
                return GameObject.Find("InventoryManager").GetComponent();
            }
            return null;
        }
    }

    #endregion 单例模式

私有属性

  • private List itemList 存储的是物品的列表

    暂时先写这一个属性,其余的后面用到了再写
    

Unity3d事件方法

  • private void Awake() 脚本加载时第一个调用的方法
  • private void Start() update之前调用
  • private void Update() 每一帧调用,用于更新

公有方法

-public void ParseItemJson() json文件的解析
至于函数内容嘛,下节继续说。。。。。。

你可能感兴趣的:(Unity3d学习之路)