public void AddItem(ItemBaseClass item) { //Debug.Log ("ADDDDDD"); item.pickupItem(); InventorySlot newSlot = FindStackableItem(item); if (newSlot == null) { newSlot = FindNextEmptySlot(); //Debug.Log ("AddItem----newSlot: NULL"+ newSlot); } if (newSlot != null) { newSlot.AddItem(item); //Debug.Log ("AddItem to slot"); if (ItemAdded != null) { ItemAdded(this, new InventoryEventArgs(item)); } } // if (mItems.Count < SLOTS) // { // Collider2D collider = (item as MonoBehaviour).GetComponent<Collider2D> (); // if (collider.enabled) { // collider.enabled = false; // mItems.Add (item); // item.pickupItem (); // // if (item != null) { // ItemAdded (this, new InventoryEventArgs (item)); // } // } // } }
}; //物品ID 在背包中的索引 /*添加物品到背包的方法 需要传进物品数据和物品数量*/ public void AddItem(ItemBaseClass _data, int _quantity = 1) //_quantity=时没有传入参数,就按照1继续进行 { if (KnapsackIndex.ContainsKey(_data.item_id) != true) //当背包中没有该物品时,新建一个空的用来装 { ItemInKnapsack t_new_null_item = new ItemInKnapsack { inside_item_data = _data, inside_item_quantity = 0 }; PlayerKnapsack.Add(t_new_null_item); KnapsackIndex[_data.item_id] = PlayerKnapsack.Count - 1; } while (true) { int number_can_add = _data.item_stackable_limit - PlayerKnapsack[KnapsackIndex[_data.item_id]].inside_item_quantity; PlayerKnapsack[KnapsackIndex[_data.item_id]].inside_item_quantity += Math.Min(_quantity, number_can_add); _quantity -= number_can_add; if (_quantity > 0) { ItemInKnapsack t_new_null_item = new ItemInKnapsack { inside_item_data = _data, inside_item_quantity = 0 }; PlayerKnapsack.Add(t_new_null_item); KnapsackIndex[_data.item_id] = PlayerKnapsack.Count - 1; } else { break; } } }
public void UseItem(ItemBaseClass item) { if (ItemUsed != null) { ItemUsed(this, new InventoryEventArgs(item)); GameObject.Find("Player").GetComponentInChildren <WeaponFire>().weaponEquipped = true; //isEquipped = true; Debug.Log("weapon equipped"); } }
public void onItemClick() { ItemDrag itemDrag = gameObject.transform.Find("ItemImage").GetComponent <ItemDrag>(); GameObject player = GameObject.Find("Player"); if (player == null) { Debug.Log("player null"); } ItemBaseClass item = itemDrag.Item; Debug.Log("CLICK" + item); Debug.Log(item.Name + " equipped"); if (item.name.Equals("Pistol")) { WeaponFire Wp = GameObject.Find("Player").GetComponentInChildren <WeaponFire>(); if (Wp == null) { Debug.Log("weapon null"); } else { Debug.Log("pistol equipped"); } Wp.rateOfFire = 0; Wp.damage = 50; Wp.weaponEquipped = true; } if (item.name.Equals("MiniGun")) { WeaponFire Wp = GameObject.Find("Player").GetComponentInChildren <WeaponFire>(); if (Wp == null) { Debug.Log("weapon null"); } else { Debug.Log("minigun equipped"); } Wp.rateOfFire = 20; Wp.damage = 5; Wp.weaponEquipped = true; } else { WeaponFire Wp = GameObject.Find("Player").GetComponentInChildren <WeaponFire>(); if (Wp == null) { Debug.Log("weapon null"); } Wp.weaponEquipped = false; } inventory.UseItem(item); // item.OnUse(); }
private InventorySlot FindStackableItem(ItemBaseClass item) { foreach (InventorySlot slot in mSlots) { if (slot.IsStackable(item)) { // Debug.Log ("HELP " + slot); return(slot); } } //Debug.Log ("HELP NULL"); return(null); }
public void RemoveItem(ItemBaseClass item) { foreach (InventorySlot slot in mSlots) { if (slot.Remove(item)) { if (ItemRemoved != null) { ItemRemoved(this, new InventoryEventArgs(item)); } break; } } }
public void addClass(string className, string classNumber, string schoolName, string gradeName) { GameObject go = (GameObject)Resources.Load("prefab/item/UIItemBaseClass"); go = Object.Instantiate(go); go.transform.parent = content; ItemBaseClass item = go.GetComponent <ItemBaseClass>(); item.className.text = className; item.classNumber.text = classNumber; item.schoolName.text = schoolName; item.gradeName.text = gradeName; }
public bool Remove(ItemBaseClass item) { if (IsEmpty) { return(false); } ItemBaseClass first = mItemStack.Peek(); if (first.Name == item.Name) { mItemStack.Pop(); return(true); } return(false); }
public bool IsStackable(ItemBaseClass item) { if (IsEmpty) { return(false); } ItemBaseClass first = mItemStack.Peek(); Debug.Log("FIRST" + first.Name); if (first.Name == item.Name) { return(true); } return(false); }
public void ItemAcquisition(ItemBaseClass item) { if (itemCount < 2) { var emptySlot = 0; for (; emptySlot < 2; emptySlot++) { if (SelectedItem[emptySlot] == null) { break; } } SelectedItem[emptySlot] = item; itemCount++; Notify(); } }
public void OnDrop(PointerEventData eventData) { RectTransform invPanel = transform as RectTransform; if (!RectTransformUtility.RectangleContainsScreenPoint(invPanel, Input.mousePosition)) { Debug.Log("DROP ITEM"); ItemBaseClass item = eventData.pointerDrag.gameObject.GetComponent <ItemDrag>().Item; Debug.Log(item); if (item != null) { Debug.Log("ITEM NOT NULL"); inventory.RemoveItem(item); item.OnDrop(); } } }
//Создаём новый предмет private void CreateDatabase() { if (databaseType == "quest") { DatabaseClass asset = ScriptableObject.CreateInstance <DatabaseClass>(); asset.databaseName = databaseName; AssetDatabase.CreateAsset(asset, databasePath + databaseName + ".asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; } else if (databaseType == "item") { ItemBaseClass asset = ScriptableObject.CreateInstance <ItemBaseClass>(); asset.databaseName = databaseName; AssetDatabase.CreateAsset(asset, databasePath + databaseName + ".asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; } }
void Inventory_ItemUsed(object sender, InventoryEventArgs e) { ItemBaseClass item = e.Item; weapon.sprite = item.Image; GameObject player = GameObject.Find("Player"); WeaponFire Wp = player.GetComponent <WeaponFire>(); Debug.Log(item.Name + " equipped"); if (item.name.Equals("Pistol")) { Debug.Log("pistol equipped"); Wp.UpdateWeapon(50, 0, true); } if (item.name.Equals("MiniGun")) { Debug.Log("minigun equipped"); Wp.UpdateWeapon(5, 10, true); } else { Wp.UpdateWeapon(0, 0, false); } }
public InventoryEventArgs(ItemBaseClass item) { Item = item; }
public void AddItem(ItemBaseClass item) { item.Slot = this; mItemStack.Push(item); //Debug.Log ("AddItem"); }
//private void Start() //{ // //WeaponSubject.NotifyNewItem(WeaponCtrl.WeaponTypeEnum.weaponType01); // //WeaponSubject.NotifyNewItem(WeaponCtrl.WeaponTypeEnum.weaponType02); // //WeaponSubject.NotifyNewItem(WeaponCtrl.WeaponTypeEnum.weaponType03); // //WeaponSubject.NotifyNewItem(WeaponCtrl.WeaponTypeEnum.weaponType04); // WeaponSubject.Notify(); // gameObject.SetActive(false); //} public void AddItem(ItemBaseClass item) { ItemSubject.ItemAcquisition(item); }
private void Inventory_ItemUsed(object sender, InventoryEventArgs e) { ItemBaseClass item = e.Item; weapon.sprite = item.Image; }