/** * Add reward to Invetory whes is completed */ private void GetRewards() { for (int i = 0; i < rewards.Length; i++) { switch (rewards[i].type) { case ItemType.Amulet: AmuletPointer amuletPointer = new AmuletPointer(); amuletPointer.label = rewards[i].label; rewards[i].amount = Inventory.Instance.AddAmulet(amuletPointer); break; case ItemType.Consumable: ConsumablePointer consumablePointer = new ConsumablePointer(); consumablePointer.label = rewards[i].label; consumablePointer.amount = rewards[i].amount; rewards[i].amount = Inventory.Instance.AddConsumable(consumablePointer); break; case ItemType.Equipment: EquipmentPointer equipmentPointer = new EquipmentPointer(); equipmentPointer.label = rewards[i].label; rewards[i].amount = Inventory.Instance.AddEquipment(equipmentPointer); break; case ItemType.QuestItem: QuestItemPointer questItemPointer = new QuestItemPointer(); questItemPointer.label = rewards[i].label; questItemPointer.amount = rewards[i].amount; rewards[i].amount = Inventory.Instance.AddQuestItem(questItemPointer); break; } } }
/** * Remove Items requirement from inventory when is completed */ private void FetchRequirement() { for (int i = 0; i < items.Length; i++) { switch (items[i].type) { case ItemType.Amulet: AmuletPointer amuletPointer = new AmuletPointer(); amuletPointer.label = items[i].label; Inventory.Instance.RemoveAmulet(amuletPointer); break; case ItemType.Consumable: ConsumablePointer consumablePointer = new ConsumablePointer(); consumablePointer.label = items[i].label; consumablePointer.amount = items[i].amount; Inventory.Instance.RemoveConsumable(consumablePointer); break; case ItemType.Equipment: EquipmentPointer equipmentPointer = new EquipmentPointer(); equipmentPointer.label = items[i].label; Inventory.Instance.RemoveEquipment(equipmentPointer); break; case ItemType.QuestItem: QuestItemPointer questItemPointer = new QuestItemPointer(); questItemPointer.label = items[i].label; questItemPointer.amount = items[i].amount; Inventory.Instance.RemoveQuestItem(questItemPointer); break; } } }
public bool RemoveEquipment(EquipmentPointer _equipment, int index = -1) { if (index == -1) { for (int i = 0; i < equipment.Length; i++) { if (equipment[i].label == _equipment.label) { equipment[i].label = ItemName.None; return(true); } } } if (index > -1) { if (equipment[index].label == _equipment.label) { equipment[index].label = ItemName.None; return(true); } } return(false); }
/** * Keluaran 1 atau 0 * Jika 1, maka barang tidak berhasih diambil * 0, maka barang berhasil diambil */ public int AddEquipment(EquipmentPointer _equipment, int index = -1, bool check = false) { if (check || index == -1) { for (int i = 0; i < equipment.Length; i++) { if (equipment[i].label == _equipment.label) { return(1); } } } if (index == -1) { for (int i = 0; i < equipment.Length; i++) { if (equipment[i].label == ItemName.None) { equipment[index] = _equipment; return(0); } } } if (index > -1) { if (equipment[index].label == ItemName.None) { equipment[index] = _equipment; return(0); } } return(1); }
public static Pickup PickupItem(Pickup item, GameObject instigator) { if (instigator.CompareTag("Player")) { switch (item.type) { case ItemType.Amulet: Amulet amulet = ItemDictionary.Instance.GetAmulet(item.itemName); if (amulet != null) { AmuletPointer amuletPointer = new AmuletPointer(); amuletPointer.label = item.itemName; int amount = Inventory.Instance.AddAmulet(amuletPointer); Debug.Log((1 - amount) + " Item equipment " + amulet.label + " masuk ke inventory"); item.amount = amount; // TODO implement UI notification } break; case ItemType.Equipment: Equipment equipment = ItemDictionary.Instance.GetEquipment(item.itemName); if (equipment != null) { EquipmentPointer equipmentPointer = new EquipmentPointer(); equipmentPointer.label = item.itemName; int amount = Inventory.Instance.AddEquipment(equipmentPointer); Debug.Log((1 - amount) + " Item equipment " + equipment.label + " masuk ke inventory"); item.amount = amount; // TODO implement UI notification } break; case ItemType.Consumable: Consumable consumable = ItemDictionary.Instance.GetConsumable(item.itemName); if (consumable != null) { ConsumablePointer consumablePointer = new ConsumablePointer(); consumablePointer.label = item.itemName; consumablePointer.amount = item.amount; int amount = Inventory.Instance.AddConsumable(consumablePointer); Debug.Log((item.amount - amount) + " Item consumable " + consumable.label + " masuk ke inventory"); item.amount = amount; // TODO implement UI notification } break; case ItemType.QuestItem: QuestItem questItem = ItemDictionary.Instance.GetQuestItem(item.itemName); if (questItem != null) { QuestItemPointer questItemPointer = new QuestItemPointer(); questItemPointer.label = item.itemName; questItemPointer.amount = item.amount; int amount = Inventory.Instance.AddQuestItem(questItemPointer); Debug.Log((item.amount - amount) + " Item quest " + questItem.label + " masuk ke inventory"); item.amount = amount; // TODO implement UI notification } break; } } return(item); }