using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 装备栏 /// public class EquipmentColumn { /// 插槽字典 public Dictionary dictionary = new Dictionary(); /// 索引器 public EquipmentSlot this[string key] => dictionary[key]; public EquipmentColumn() { // AddSlot(WeaponSlot()); // AddSlot(DeputySlot()); // AddSlot(ArmorSlot(EquipmentSlotType.上衣, ArmorType.上衣)); // AddSlot(ArmorSlot(EquipmentSlotType.头盔, ArmorType.头盔)); // AddSlot(ArmorSlot(EquipmentSlotType.手套, ArmorType.手套)); // AddSlot(ArmorSlot(EquipmentSlotType.腰带, ArmorType.腰带)); // AddSlot(ArmorSlot(EquipmentSlotType.鞋子, ArmorType.鞋子)); // AddSlot(AccessorySlot(EquipmentSlotType.项链, AccessoryType.项链)); // AddSlot(AccessorySlot(EquipmentSlotType.戒指1, AccessoryType.戒指)); // AddSlot(AccessorySlot(EquipmentSlotType.戒指2, AccessoryType.戒指)); // AddSlot(AccessorySlot(EquipmentSlotType.手镯1, AccessoryType.手镯)); // AddSlot(AccessorySlot(EquipmentSlotType.手镯2, AccessoryType.手镯)); } public bool ContainsKey(string key) => dictionary.ContainsKey(key); /// 添加插槽 public void AddSlot(EquipmentSlot slot) => dictionary.Add(slot.name, slot); // /// 武器插槽 // public EquipmentSlot WeaponSlot() { // return new EquipmentSlot(EquipmentSlotType.主手, VerifyWeapon); // } // /// 副手插槽 // public EquipmentSlot DeputySlot() { // return new EquipmentSlot(EquipmentSlotType.副手, VerifyDeputy); // } // /// 护甲插槽 // public EquipmentSlot ArmorSlot(EquipmentSlotType type, ArmorType armor) { // return new EquipmentSlot(type, (equipment) => VerifyCommon(equipment, armor.ToString())); // } // /// 饰品插槽 // public EquipmentSlot AccessorySlot(EquipmentSlotType type, AccessoryType accessory) { // return new EquipmentSlot(type, (equipment) => VerifyCommon(equipment, accessory.ToString())); // } /// 通用校验 // public static bool VerifyCommon(Equipment equipment, string type) { // string[] types = equipment.type.Split("/"); // if (types[0] == type) { return true; } // return false; // } /// 主手校验 // public static bool VerifyWeapon(Equipment equipment) { // string[] type = equipment.type.Split("/"); // if (type[0] == WeaponType.单手.ToString()) { return true; } // if (type[0] == WeaponType.双手.ToString()) { return true; } // return false; // } /// 副手校验 // public static bool VerifyDeputy(Equipment equipment) { // string[] type = equipment.type.Split("/"); // if (type[0] == WeaponType.副手.ToString()) { return true; } // return false; // } }