public bool?Evaluate(string predicate, string[] parameters) { switch (predicate) { case "HasInventoryItem": return(HasItem(InventoryItem.GetFromID(parameters[0]))); } return(null); }
void ISaveable.RestoreState(object state) { var droppedItemsList = (DropRecord[])state; foreach (var item in droppedItemsList) { var pickupItem = InventoryItem.GetFromID(item.itemID); Vector3 position = item.position.ToVector(); int number = item.number; SpawnPickup(pickupItem, position, number); } }
void ISaveable.RestoreState(object state) { var slotStrings = (InventorySlotRecord[])state; for (int i = 0; i < inventorySize; i++) { slots[i].item = InventoryItem.GetFromID(slotStrings[i].itemID); slots[i].number = slotStrings[i].number; } if (inventoryUpdated != null) { inventoryUpdated(); } }
void ISaveable.RestoreState(object state) { equippedItems = new Dictionary <EquipLocation, EquipableItem>(); var equippedItemsForSerialization = (Dictionary <EquipLocation, string>)state; foreach (var pair in equippedItemsForSerialization) { var item = (EquipableItem)InventoryItem.GetFromID(pair.Value); if (item != null) { equippedItems[pair.Key] = item; } } }
/// <summary> /// Loads player inventory from savefile /// </summary> /// <param name="state"></param> public void RestoreState(object state) { var stateRecords = (InventorySlotRecord[])state; for (int i = 0; i < m_InventorySize; i++) { m_slots[i].item = InventoryItem.GetFromID(stateRecords[i].itemID); m_slots[i].number = stateRecords[i].number; } if (inventoryUpdated != null) { inventoryUpdated(); } }
/// <summary> /// Restores the equipment state of the player on loading a save. /// </summary> /// <param name="state"></param> public void RestoreState(object state) { //Create the equipment dictionary m_EquippedItems = new Dictionary <EquipLocation, EquipableItem>(); //Load state data Dictionary <EquipLocation, string> stateDict = (Dictionary <EquipLocation, string>)state; //Iterate through state data and equipped items to the player. foreach (var pair in stateDict) { var equippeditem = (EquipableItem)InventoryItem.GetFromID(pair.Value); if (equippeditem != null) { m_EquippedItems[pair.Key] = equippeditem; } } }
void ISaveable.RestoreState(object state) { var droppedItemsList = (List <DropRecord>)state; int buildIndex = SceneManager.GetActiveScene().buildIndex; otherSceneDroppedItems.Clear(); foreach (var item in droppedItemsList) { if (item.sceneBuildIndex != buildIndex) { otherSceneDroppedItems.Add(item); continue; } var pickupItem = InventoryItem.GetFromID(item.itemID); Vector3 position = item.position.ToVector(); int number = item.number; SpawnPickup(pickupItem, position, number); } }
public void RestoreState(object state) { var droppedItemList = (List <DropRecord>)state; var buildIndex = SceneManager.GetActiveScene().buildIndex; //Clear list m_OtherSceneDroppedItems.Clear(); foreach (var item in droppedItemList) { //Check if items was from a different scene if (item.sceneIndex != buildIndex) { m_OtherSceneDroppedItems.Add(item); continue; } var pickupItem = InventoryItem.GetFromID(item.itemID); Vector3 position = item.position.ToVector(); int number = item.number; SpawnPickup(pickupItem, position, number); } }