public Item Find(EQUIP_PART part) { if (_Items.ContainsKey(part)) return _Items[part]; return null; }
public Item[] Unequip(EQUIP_PART equip_type) { Item item; _Items.TryGetValue(equip_type, out item); if (Item.IsValid(item)) { _Items.Remove(equip_type); RemoveEvent(item.Id); } if (equip_type == EQUIP_PART.RIGHT_HAND) { Item leftItem; if (_Items.TryGetValue(EQUIP_PART.LEFT_HAND, out leftItem) && Item.IsValid(leftItem)) { _Items.Remove(EQUIP_PART.LEFT_HAND); RemoveEvent(leftItem.Id); return(new[] { item, leftItem }); } } return(new [] { item }); }
private TICKRESULT _Equip(EQUIP_PART part) { if(_InventoryController == null) return TICKRESULT.FAILURE; var items = _Bag.FindByPart(part); var item = items.Concat(new Item[] {null}).Shuffle().FirstOrDefault(); if (item != null) { _InventoryController.Equip(item.Id); return TICKRESULT.SUCCESS; } return _Unequip(part); }
public Item[] Unequip(EQUIP_PART equip_type) { Item item; _Items.TryGetValue(equip_type, out item); if (Item.IsValid(item)) { _Items.Remove(equip_type); RemoveEvent(item.Id); } if (equip_type == EQUIP_PART.RIGHT_HAND) { Item leftItem; if (_Items.TryGetValue(EQUIP_PART.LEFT_HAND, out leftItem) && Item.IsValid(leftItem)) { _Items.Remove(EQUIP_PART.LEFT_HAND); RemoveEvent(leftItem.Id); return new[] { item, leftItem }; } } return new [] { item } ; }
private TICKRESULT _Unequip(EQUIP_PART part) { var item = _Equipment.FindByPart(part).FirstOrDefault(); if (item != null) { _InventoryController.Unequip(item.Id); return TICKRESULT.SUCCESS; } return TICKRESULT.FAILURE; }
public void OnGUI() { EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Load")) { var path = EditorUtility.OpenFilePanel("select", "", "txt"); _ItemSet = new ItemPrototypeSet(Regulus.Utility.Serialization.Read <ItemPrototype[]>(path)); } if (GUILayout.Button("Save")) { var path = EditorUtility.SaveFilePanel("select", "", "items.txt", "txt"); Regulus.Utility.Serialization.Write(_ItemSet.GetItems().ToArray(), path); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); _Begin = EditorGUILayout.IntField("Begin", _Begin); _End = EditorGUILayout.IntField("End", _End); EditorGUILayout.EndHorizontal(); var set = _ItemSet.GetItems().Skip(_Begin).Take(_End - _Begin).ToArray(); var length = set.Length; var fieldLength = 5; var lineLength = length / fieldLength; EditorGUILayout.BeginVertical(); for (int i = 0; i <= lineLength; i++) { int index = i * fieldLength; int end = index + fieldLength; EditorGUILayout.BeginHorizontal(); for (; index < end && index < length; index++) { EditorGUILayout.SelectableLabel(set[index].Name); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); EditorGUILayout.BeginHorizontal(); _ItemName = EditorGUILayout.TextField("Name", _ItemName); _EquipPart = (EQUIP_PART)EditorGUILayout.EnumPopup("EquipPart", _EquipPart); _ItemFeatures = (ITEM_FEATURES)EditorGUILayout.EnumPopup("Features", _ItemFeatures); _Description = EditorGUILayout.TextField("Description", _Description); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Set/Add")) { _ItemSet.Add(new ItemPrototype() { Name = _ItemName, Features = _ItemFeatures, EquipPart = _EquipPart }); } if (GUILayout.Button("Load")) { var item = _ItemSet.Find(_ItemName); _ItemFeatures = item.Features; _Description = item.Description; _EquipPart = item.EquipPart; } if (GUILayout.Button("Remove")) { _ItemSet.Remove(_ItemName); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); }
public IEnumerable <Item> FindByPart(EQUIP_PART part) { return(from item in _Items where item.GetEquipPart() == part select item); }
public void OnGUI() { EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Load")) { var path = EditorUtility.OpenFilePanel("select", "", "txt"); _ItemSet = new ItemPrototypeSet(Regulus.Utility.Serialization.Read<ItemPrototype[]>(path)); } if (GUILayout.Button("Save")) { var path = EditorUtility.SaveFilePanel("select", "", "items.txt", "txt"); Regulus.Utility.Serialization.Write(_ItemSet.GetItems().ToArray() , path); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); _Begin = EditorGUILayout.IntField("Begin", _Begin); _End = EditorGUILayout.IntField("End", _End); EditorGUILayout.EndHorizontal(); var set = _ItemSet.GetItems().Skip(_Begin).Take(_End - _Begin).ToArray(); var length = set.Length; var fieldLength = 5; var lineLength = length / fieldLength ; EditorGUILayout.BeginVertical(); for (int i = 0; i <= lineLength ; i++) { int index = i * fieldLength; int end = index + fieldLength ; EditorGUILayout.BeginHorizontal(); for (; index < end && index < length; index++) { EditorGUILayout.SelectableLabel(set[index].Id); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); EditorGUILayout.BeginHorizontal(); _ItemName = EditorGUILayout.TextField("Name", _ItemName); _EquipPart = (EQUIP_PART)EditorGUILayout.EnumPopup("EquipPart", _EquipPart); _Description = EditorGUILayout.TextField("Description", _Description); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Set/Add")) { _ItemSet.Add(new ItemPrototype() { Id = _ItemName, EquipPart = _EquipPart } ); } if (GUILayout.Button("Load")) { var item = _ItemSet.Find(_ItemName); _Description = item.Description; _EquipPart = item.EquipPart; } if (GUILayout.Button("Remove")) { _ItemSet.Remove(_ItemName); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); }
public IEnumerable<Item> FindByPart(EQUIP_PART part) { return from item in _Items where item.GetEquipPart() == part select item; }