Exemple #1
0
        public void Release()
        {
            _backupManager.Release();
            _backupManager = null;

            _settingManager.SortOrderChanged -= SetSortOrder;
            _settingManager.SortKindChanged  -= SetSortKind;

            UnbindEvent();
            UnloadControl();

            _slot = null;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
    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);
    }