2、实现IComparable接口,用于排序。 变量: item_id 记录道具的ID current_stack 当前的堆栈数 函数: Inventory_Slot(intitemID) 构造函数,保证每个slot记录的都是都是有意义的道具,我们歧视无意义的Slot!! public boolWithdraw() 取出,或移除1个道具,如果事后堆栈数小于等于0,返回true,通知管理器删除这个Slot。 public boolDeposit() 存入,或增加1个道具,如果事前堆栈数
3、到达最大值,则无法存入,返回false,通知管理器。 public boolFull_Stack() 判断当前堆栈数是否达到最大值。 public intCompareTo(Inventory_Slotx) 用于排序用的,这个可以根据实际需要编写。 好了,简单易懂吧,这就是道具槽,道具槽用于管理同一个格子的道具,主要就是管理堆栈数的问题而已。好了,下面开始管理器设计。 =================管理器================= 管理器,制定动作,新建C#脚本,重命名Inventory_Manager。同样,设计成单例模式。 变量: m
7、返回false。 public boolWithdraw(int itemID,Inventory_Typetype) 取出道具,道具ID,和源背包(从哪个背包里取出),查无此道具则取出失败,返回false。 public boolWithdraw_at_slot(int slotID,Inventory_Typetype) 从指定道具槽取出道具,槽ID,源背包,槽不存在则返回false。 public intGet_Current_Stack(int slotID,Inventory_Typetype) 获取当前道具槽的堆栈数,槽ID,源背包。 public