public void Release() { _backupManager.Release(); _backupManager = null; _settingManager.SortOrderChanged -= SetSortOrder; _settingManager.SortKindChanged -= SetSortKind; UnbindEvent(); UnloadControl(); _slot = null; }
public SlotManager(SlotControl slot, int id, SettingManager settingManager, MessageEventHandler messageEventHandler) { OnMessage += messageEventHandler; _restoring = false; _backuping = false; _deleting = false; _slot = slot; _settingManager = settingManager; _backupManager = new BackupManager(id, _settingManager); SlotName = "Slot " + id; UnloadControl(); BindEvent(); _backupManager.AutoBackupOccurred += success => { if (_slot == null) { return; } if (_slot.InvokeRequired) { _slot.Invoke(new Action(LoadControl)); } else { LoadControl(); } if (_autoBackupSound) { if (success) { SoundManager.PlaySuccess(); } else { SoundManager.PlayError(); } } }; _backupManager.AutoBackupStatusChanged += () => { if (_slot.InvokeRequired) { _slot.Invoke(new Action(SetAutoBackupMessage)); } else { SetAutoBackupMessage(); } }; _backupManager.ScanBackupFolder(); LoadControl(); SetSortOrder(); _settingManager.SortOrderChanged += SetSortOrder; _settingManager.SortKindChanged += SetSortKind; }
public void HasChanged() { Debug.Log("HasChanged called with the Array at " + playerInv.Length + " long"); InventoryObject newPlayerInventory = new InventoryObject(); InventoryObject newBetaStorageOne = new InventoryObject(); InventoryObject newBetaStorageTwo = new InventoryObject(); int iteration = 0; foreach (RectTransform slotTransform in playerslots) { if (slotTransform.GetComponent <Text>()) { break; } SlotControl x = slotTransform.GetComponent <SlotControl>(); GameObject item = x.item; if (item) { for (int a = 0; a < playerInv.Length; a++) { Debug.Log("THROW playerInv[" + a + "]: " + playerInv[a]); } switch (slotTransform.name) { case "PlayerSlot1": Debug.Log("THE ARRAY: " + playerInv.ToString() + ". THE LENGTH: " + playerInv.Length); playerInv[0] = item.name; break; case "PlayerSlot2": playerInv[1] = item.name; break; case "PlayerSlot3": playerInv[2] = item.name; break; case "PlayerSlot4": playerInv[3] = item.name; break; case "PlayerSlot5": playerInv[4] = item.name; break; case "PlayerSlot6": playerInv[5] = item.name; break; case "PlayerSlot7": playerInv[6] = item.name; break; case "PlayerSlot8": playerInv[7] = item.name; break; } if (item.name == "NRG") { //inventoryManager.Give(container, 1, InventoryManager.NRG); print("given NRG to Player from " + containerName); newPlayerInventory.NRGAmount += 1; } else if (item.name == "Battery") { //inventoryManager.Give(container, 1, InventoryManager.Battery); print("given Battery to Player from" + containerName); newPlayerInventory.BatteriesAmount += 1; } else if (item.name == "Water") { // inventoryManager.Give(container, 1, InventoryManager.Water); print("given Water to Player from" + containerName); newPlayerInventory.WaterAmount += 1; } else if (item.name == "Plant") { //inventoryManager.Give(container, 1, InventoryManager.Plant); print("given Plant to Player from" + containerName); newPlayerInventory.PlantAmount += 1; } else if (item.name == "Co2 Filter") { //inventoryManager.Give(container, 1, InventoryManager.CarbonDioxideFilter); print("given Co2 filter to Player from" + containerName); newPlayerInventory.C02FilterAmount += 1; } else if (item.name == "Food") { //inventoryManager.Give(container, 1, InventoryManager.BoosterFood); print("given BoosterFood to Player from" + containerName); newPlayerInventory.BoosterFoodAmount += 1; } else if (item.name == "ERK") { print("given ERK to Player from" + containerName); newPlayerInventory.ERKAmount += 1; } else { } } else { //TODO this playerInv[iteration] = ""; } iteration++; } inventoryManager.Player.Set(newPlayerInventory); int i = 0; foreach (RectTransform slotTransform in BetaStorageOneSlots) { GameObject item = slotTransform.GetComponent <SlotControl>().item; if (item) { switch (slotTransform.name) { case "Beta1Slot1": betaStorage1Inv[0] = item.name; break; case "Beta1Slot2": betaStorage1Inv[1] = item.name; break; case "Beta1Slot3": betaStorage1Inv[2] = item.name; break; case "Beta1Slot4": betaStorage1Inv[3] = item.name; break; case "Beta1Slot5": betaStorage1Inv[4] = item.name; break; } if (item.name == "NRG") { //inventoryManager.Give(container, 1, InventoryManager.NRG); print("given NRG to BetaStorageOne in slot " + i); newBetaStorageOne.NRGAmount += 1; } else if (item.name == "Battery") { //inventoryManager.Give(container, 1, InventoryManager.Battery); print("given Battery to BetaStorageOne in slot " + i); newBetaStorageOne.BatteriesAmount += 1; } else if (item.name == "Water") { // inventoryManager.Give(container, 1, InventoryManager.Water); print("given Water to BetaStorageOne in slot " + i); newBetaStorageOne.WaterAmount += 1; } else if (item.name == "Plant") { //inventoryManager.Give(container, 1, InventoryManager.Plant); print("given Plant to BetaStorageOne in slot " + i); newBetaStorageOne.PlantAmount += 1; } else if (item.name == "Co2 Filter") { //inventoryManager.Give(container, 1, InventoryManager.CarbonDioxideFilter); print("given Co2 filter to BetaStorageOne in slot " + i); newBetaStorageOne.C02FilterAmount += 1; } else if (item.name == "Food") { //inventoryManager.Give(container, 1, InventoryManager.BoosterFood); print("given BoosterFood to BetaStorageOne in slot" + i); newBetaStorageOne.BoosterFoodAmount += 1; } else if (item.name == "ERK") { print("given ERK to BetaStorageOne in slot " + i); newBetaStorageOne.ERKAmount += 1; } else { print("Given Strange Item called " + item.name + " to BetaStorageOne in slot " + i); } } else { //TODO this betaStorage1Inv[i] = ""; } i++; } inventoryManager.BetaStorage1.Set(newBetaStorageOne); i = 0; foreach (RectTransform slotTransform in BetaStorageTwoSlots) { GameObject item = slotTransform.GetComponent <SlotControl>().item; if (item) { switch (slotTransform.name) { case "Beta2Slot1": betaStorage2Inv[0] = item.name; break; case "Beta2Slot2": betaStorage2Inv[1] = item.name; break; case "Beta2Slot3": betaStorage2Inv[2] = item.name; break; case "Beta2Slot4": betaStorage2Inv[3] = item.name; break; case "Beta2Slot5": betaStorage2Inv[4] = item.name; break; } if (item.name == "NRG") { //inventoryManager.Give(container, 1, InventoryManager.NRG); print("given NRG to BetaStorageTwo"); newBetaStorageTwo.NRGAmount += 1; } else if (item.name == "Battery") { //inventoryManager.Give(container, 1, InventoryManager.Battery); print("given Battery to BetaStorageTwo"); newBetaStorageTwo.BatteriesAmount += 1; } else if (item.name == "Water") { // inventoryManager.Give(container, 1, InventoryManager.Water); print("given Water to BetaStorageTwo"); newBetaStorageTwo.WaterAmount += 1; } else if (item.name == "Plant") { //inventoryManager.Give(container, 1, InventoryManager.Plant); print("given Plant to BetaStorageTwo"); newBetaStorageTwo.PlantAmount += 1; } else if (item.name == "Co2 Filter") { //inventoryManager.Give(container, 1, InventoryManager.CarbonDioxideFilter); print("given Co2 filter to BetaStorageTwo"); newBetaStorageTwo.C02FilterAmount += 1; } else if (item.name == "Food") { //inventoryManager.Give(container, 1, InventoryManager.BoosterFood); print("given BoosterFood to BetaStorageTwo"); newBetaStorageTwo.BoosterFoodAmount += 1; } else if (item.name == "ERK") { print("given ERK to BetaStorageTwo"); newBetaStorageTwo.ERKAmount += 1; } else { print("Given Strange Item called " + item.name + " to BetaStorageTwo"); } } else { //TODO this betaStorage2Inv[i] = ""; } i++; } inventoryManager.BetaStorage2.Set(newBetaStorageTwo); }