Example #1
0
        /// <summary>
        /// Called when the character sheet updated.
        /// </summary>
        /// <param name="character">The character.</param>
        internal static void OnCharacterUpdated(Character character)
        {
            if (Closed)
            {
                return;
            }

            Trace(character.Name);
            Settings.Save();
            CharacterUpdated?.ThreadSafeInvoke(null, new CharacterChangedEventArgs(character));
        }
Example #2
0
        public void RemoveCharacter(string name)
        {
            var character = _repository.GetAll().FirstOrDefault(c => c.Name == name);

            if (character != null)
            {
                _repository.Remove(character.Id);
                _repository.Save();
                CharacterUpdated?.Invoke();
            }
        }
Example #3
0
        public void ImportCharacters(StreamReader reader)
        {
            List <Character> characters = (List <Character>)_serializer.Deserialize(reader, typeof(List <Character>));

            foreach (var c in characters)
            {
                _repository.Add(c);
            }
            _repository.Save();
            CharacterUpdated?.Invoke();
        }
Example #4
0
        private void RenameCharacter(string old_name, string new_name)
        {
            var character = _repository.GetAll().FirstOrDefault(c => c.Name == old_name);

            if (character != null)
            {
                character.Name = new_name;
                _repository.Update(character);
                _repository.Save();
                CharacterUpdated?.Invoke();
            }
        }
Example #5
0
        public void CreateCharacter(string name)
        {
            var character = _repository.GetAll().FirstOrDefault(c => c.Name == name);

            if (character == null)
            {
                _repository.Add(new Character {
                    Name = name
                });
                _repository.Save();
                CharacterUpdated?.Invoke();
            }
        }
Example #6
0
        public MenuSurvivorsClothingUI()
        {
            MenuSurvivorsClothingUI.localization = Localization.read("/Menu/Survivors/MenuSurvivorsClothing.dat");
            if (MenuSurvivorsClothingUI.icons != null)
            {
                MenuSurvivorsClothingUI.icons.unload();
                MenuSurvivorsClothingUI.icons = null;
            }
            MenuSurvivorsClothingUI.icons     = Bundles.getBundle("/Bundles/Textures/Menu/Icons/Survivors/MenuSurvivorsClothing/MenuSurvivorsClothing.unity3d");
            MenuSurvivorsClothingUI.container = new Sleek();
            MenuSurvivorsClothingUI.container.positionOffset_X = 10;
            MenuSurvivorsClothingUI.container.positionOffset_Y = 10;
            MenuSurvivorsClothingUI.container.positionScale_Y  = 1f;
            MenuSurvivorsClothingUI.container.sizeOffset_X     = -20;
            MenuSurvivorsClothingUI.container.sizeOffset_Y     = -20;
            MenuSurvivorsClothingUI.container.sizeScale_X      = 1f;
            MenuSurvivorsClothingUI.container.sizeScale_Y      = 1f;
            MenuUI.container.add(MenuSurvivorsClothingUI.container);
            MenuSurvivorsClothingUI.active    = false;
            MenuSurvivorsClothingUI.page      = 0;
            MenuSurvivorsClothingUI.inventory = new Sleek();
            MenuSurvivorsClothingUI.inventory.positionOffset_Y = 40;
            MenuSurvivorsClothingUI.inventory.positionScale_X  = 0.5f;
            MenuSurvivorsClothingUI.inventory.sizeScale_X      = 0.5f;
            MenuSurvivorsClothingUI.inventory.sizeScale_Y      = 1f;
            MenuSurvivorsClothingUI.inventory.sizeOffset_Y     = -80;
            MenuSurvivorsClothingUI.inventory.constraint       = ESleekConstraint.XY;
            MenuSurvivorsClothingUI.container.add(MenuSurvivorsClothingUI.inventory);
            MenuSurvivorsClothingUI.packageButtons = new SleekInventory[25];
            for (int i = 0; i < MenuSurvivorsClothingUI.packageButtons.Length; i++)
            {
                SleekInventory sleekInventory = new SleekInventory();
                sleekInventory.positionOffset_X = 5;
                sleekInventory.positionOffset_Y = 5;
                sleekInventory.positionScale_X  = (float)(i % 5) * 0.2f;
                sleekInventory.positionScale_Y  = (float)Mathf.FloorToInt((float)i / 5f) * 0.2f;
                sleekInventory.sizeOffset_X     = -10;
                sleekInventory.sizeOffset_Y     = -10;
                sleekInventory.sizeScale_X      = 0.2f;
                sleekInventory.sizeScale_Y      = 0.2f;
                SleekInventory sleekInventory2 = sleekInventory;
                if (MenuSurvivorsClothingUI.< > f__mg$cache0 == null)
                {
                    MenuSurvivorsClothingUI.< > f__mg$cache0 = new ClickedInventory(MenuSurvivorsClothingUI.onClickedInventory);
                }
                sleekInventory2.onClickedInventory = MenuSurvivorsClothingUI.< > f__mg$cache0;
                MenuSurvivorsClothingUI.inventory.add(sleekInventory);
                MenuSurvivorsClothingUI.packageButtons[i] = sleekInventory;
            }
            MenuSurvivorsClothingUI.searchField = new SleekField();
            MenuSurvivorsClothingUI.searchField.positionOffset_X = 5;
            MenuSurvivorsClothingUI.searchField.positionOffset_Y = -35;
            MenuSurvivorsClothingUI.searchField.sizeOffset_X     = -120;
            MenuSurvivorsClothingUI.searchField.sizeOffset_Y     = 30;
            MenuSurvivorsClothingUI.searchField.sizeScale_X      = 1f;
            MenuSurvivorsClothingUI.searchField.hint             = MenuSurvivorsClothingUI.localization.format("Search_Field_Hint");
            MenuSurvivorsClothingUI.searchField.control          = "Search";
            SleekField sleekField = MenuSurvivorsClothingUI.searchField;
            Delegate   onEntered  = sleekField.onEntered;

            if (MenuSurvivorsClothingUI.< > f__mg$cache1 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache1 = new Entered(MenuSurvivorsClothingUI.onEnteredSearchField);
            }
            sleekField.onEntered = (Entered)Delegate.Combine(onEntered, MenuSurvivorsClothingUI.< > f__mg$cache1);
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.searchField);
            MenuSurvivorsClothingUI.searchButton = new SleekButton();
            MenuSurvivorsClothingUI.searchButton.positionOffset_X = -105;
            MenuSurvivorsClothingUI.searchButton.positionOffset_Y = -35;
            MenuSurvivorsClothingUI.searchButton.positionScale_X  = 1f;
            MenuSurvivorsClothingUI.searchButton.sizeOffset_X     = 100;
            MenuSurvivorsClothingUI.searchButton.sizeOffset_Y     = 30;
            MenuSurvivorsClothingUI.searchButton.text             = MenuSurvivorsClothingUI.localization.format("Search");
            MenuSurvivorsClothingUI.searchButton.tooltip          = MenuSurvivorsClothingUI.localization.format("Search_Tooltip");
            SleekButton sleekButton = MenuSurvivorsClothingUI.searchButton;

            if (MenuSurvivorsClothingUI.< > f__mg$cache2 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache2 = new ClickedButton(MenuSurvivorsClothingUI.onClickedSearchButton);
            }
            sleekButton.onClickedButton = MenuSurvivorsClothingUI.< > f__mg$cache2;
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.searchButton);
            MenuSurvivorsClothingUI.pageBox = new SleekBox();
            MenuSurvivorsClothingUI.pageBox.positionOffset_X = -145;
            MenuSurvivorsClothingUI.pageBox.positionOffset_Y = 5;
            MenuSurvivorsClothingUI.pageBox.positionScale_X  = 1f;
            MenuSurvivorsClothingUI.pageBox.positionScale_Y  = 1f;
            MenuSurvivorsClothingUI.pageBox.sizeOffset_X     = 100;
            MenuSurvivorsClothingUI.pageBox.sizeOffset_Y     = 30;
            MenuSurvivorsClothingUI.pageBox.fontSize         = 14;
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.pageBox);
            MenuSurvivorsClothingUI.infoBox = new SleekBox();
            MenuSurvivorsClothingUI.infoBox.positionOffset_X = 5;
            MenuSurvivorsClothingUI.infoBox.positionOffset_Y = -25;
            MenuSurvivorsClothingUI.infoBox.positionScale_Y  = 0.5f;
            MenuSurvivorsClothingUI.infoBox.sizeScale_X      = 1f;
            MenuSurvivorsClothingUI.infoBox.sizeOffset_X     = -10;
            MenuSurvivorsClothingUI.infoBox.sizeOffset_Y     = 50;
            MenuSurvivorsClothingUI.infoBox.text             = MenuSurvivorsClothingUI.localization.format("No_Items");
            MenuSurvivorsClothingUI.infoBox.fontSize         = 14;
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.infoBox);
            MenuSurvivorsClothingUI.infoBox.isVisible                   = !Provider.provider.economyService.isInventoryAvailable;
            MenuSurvivorsClothingUI.leftButton                          = new SleekButtonIcon((Texture2D)MenuSurvivorsClothingUI.icons.load("Left"));
            MenuSurvivorsClothingUI.leftButton.positionOffset_X         = -185;
            MenuSurvivorsClothingUI.leftButton.positionOffset_Y         = 5;
            MenuSurvivorsClothingUI.leftButton.positionScale_X          = 1f;
            MenuSurvivorsClothingUI.leftButton.positionScale_Y          = 1f;
            MenuSurvivorsClothingUI.leftButton.sizeOffset_X             = 30;
            MenuSurvivorsClothingUI.leftButton.sizeOffset_Y             = 30;
            MenuSurvivorsClothingUI.leftButton.tooltip                  = MenuSurvivorsClothingUI.localization.format("Left_Tooltip");
            MenuSurvivorsClothingUI.leftButton.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            SleekButton sleekButton2 = MenuSurvivorsClothingUI.leftButton;

            if (MenuSurvivorsClothingUI.< > f__mg$cache3 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache3 = new ClickedButton(MenuSurvivorsClothingUI.onClickedLeftButton);
            }
            sleekButton2.onClickedButton = MenuSurvivorsClothingUI.< > f__mg$cache3;
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.leftButton);
            MenuSurvivorsClothingUI.rightButton = new SleekButtonIcon((Texture2D)MenuSurvivorsClothingUI.icons.load("Right"));
            MenuSurvivorsClothingUI.rightButton.positionOffset_X         = -35;
            MenuSurvivorsClothingUI.rightButton.positionOffset_Y         = 5;
            MenuSurvivorsClothingUI.rightButton.positionScale_X          = 1f;
            MenuSurvivorsClothingUI.rightButton.positionScale_Y          = 1f;
            MenuSurvivorsClothingUI.rightButton.sizeOffset_X             = 30;
            MenuSurvivorsClothingUI.rightButton.sizeOffset_Y             = 30;
            MenuSurvivorsClothingUI.rightButton.tooltip                  = MenuSurvivorsClothingUI.localization.format("Right_Tooltip");
            MenuSurvivorsClothingUI.rightButton.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            SleekButton sleekButton3 = MenuSurvivorsClothingUI.rightButton;

            if (MenuSurvivorsClothingUI.< > f__mg$cache4 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache4 = new ClickedButton(MenuSurvivorsClothingUI.onClickedRightButton);
            }
            sleekButton3.onClickedButton = MenuSurvivorsClothingUI.< > f__mg$cache4;
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.rightButton);
            MenuSurvivorsClothingUI.refreshButton = new SleekButtonIcon((Texture2D)MenuSurvivorsClothingUI.icons.load("Refresh"));
            MenuSurvivorsClothingUI.refreshButton.positionOffset_X         = 5;
            MenuSurvivorsClothingUI.refreshButton.positionOffset_Y         = 5;
            MenuSurvivorsClothingUI.refreshButton.positionScale_Y          = 1f;
            MenuSurvivorsClothingUI.refreshButton.sizeOffset_X             = 30;
            MenuSurvivorsClothingUI.refreshButton.sizeOffset_Y             = 30;
            MenuSurvivorsClothingUI.refreshButton.tooltip                  = MenuSurvivorsClothingUI.localization.format("Refresh_Tooltip");
            MenuSurvivorsClothingUI.refreshButton.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            SleekButton sleekButton4 = MenuSurvivorsClothingUI.refreshButton;

            if (MenuSurvivorsClothingUI.< > f__mg$cache5 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache5 = new ClickedButton(MenuSurvivorsClothingUI.onClickedRefreshButton);
            }
            sleekButton4.onClickedButton = MenuSurvivorsClothingUI.< > f__mg$cache5;
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.refreshButton);
            MenuSurvivorsClothingUI.characterSlider = new SleekSlider();
            MenuSurvivorsClothingUI.characterSlider.positionOffset_X = 45;
            MenuSurvivorsClothingUI.characterSlider.positionOffset_Y = 10;
            MenuSurvivorsClothingUI.characterSlider.positionScale_Y  = 1f;
            MenuSurvivorsClothingUI.characterSlider.sizeOffset_X     = -240;
            MenuSurvivorsClothingUI.characterSlider.sizeOffset_Y     = 20;
            MenuSurvivorsClothingUI.characterSlider.sizeScale_X      = 1f;
            MenuSurvivorsClothingUI.characterSlider.orientation      = ESleekOrientation.HORIZONTAL;
            SleekSlider sleekSlider = MenuSurvivorsClothingUI.characterSlider;

            if (MenuSurvivorsClothingUI.< > f__mg$cache6 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache6 = new Dragged(MenuSurvivorsClothingUI.onDraggedCharacterSlider);
            }
            sleekSlider.onDragged = MenuSurvivorsClothingUI.< > f__mg$cache6;
            MenuSurvivorsClothingUI.inventory.add(MenuSurvivorsClothingUI.characterSlider);
            MenuSurvivorsClothingUI.backButton = new SleekButtonIcon((Texture2D)MenuDashboardUI.icons.load("Exit"));
            MenuSurvivorsClothingUI.backButton.positionOffset_Y = -50;
            MenuSurvivorsClothingUI.backButton.positionScale_Y  = 1f;
            MenuSurvivorsClothingUI.backButton.sizeOffset_X     = 200;
            MenuSurvivorsClothingUI.backButton.sizeOffset_Y     = 50;
            MenuSurvivorsClothingUI.backButton.text             = MenuDashboardUI.localization.format("BackButtonText");
            MenuSurvivorsClothingUI.backButton.tooltip          = MenuDashboardUI.localization.format("BackButtonTooltip");
            SleekButton sleekButton5 = MenuSurvivorsClothingUI.backButton;

            if (MenuSurvivorsClothingUI.< > f__mg$cache7 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache7 = new ClickedButton(MenuSurvivorsClothingUI.onClickedBackButton);
            }
            sleekButton5.onClickedButton = MenuSurvivorsClothingUI.< > f__mg$cache7;
            MenuSurvivorsClothingUI.backButton.fontSize = 14;
            MenuSurvivorsClothingUI.backButton.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            MenuSurvivorsClothingUI.container.add(MenuSurvivorsClothingUI.backButton);
            MenuSurvivorsClothingUI.itemstoreButton = new SleekButton();
            MenuSurvivorsClothingUI.itemstoreButton.positionOffset_Y = -110;
            MenuSurvivorsClothingUI.itemstoreButton.positionScale_Y  = 1f;
            MenuSurvivorsClothingUI.itemstoreButton.sizeOffset_X     = 200;
            MenuSurvivorsClothingUI.itemstoreButton.sizeOffset_Y     = 50;
            MenuSurvivorsClothingUI.itemstoreButton.text             = MenuSurvivorsClothingUI.localization.format("Itemstore");
            MenuSurvivorsClothingUI.itemstoreButton.tooltip          = MenuSurvivorsClothingUI.localization.format("Itemstore_Tooltip");
            SleekButton sleekButton6 = MenuSurvivorsClothingUI.itemstoreButton;

            if (MenuSurvivorsClothingUI.< > f__mg$cache8 == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cache8 = new ClickedButton(MenuSurvivorsClothingUI.onClickedItemstoreButton);
            }
            sleekButton6.onClickedButton = MenuSurvivorsClothingUI.< > f__mg$cache8;
            MenuSurvivorsClothingUI.itemstoreButton.fontSize = 14;
            MenuSurvivorsClothingUI.container.add(MenuSurvivorsClothingUI.itemstoreButton);
            if (Provider.statusData.Stockpile.Has_New_Items)
            {
                SleekNew sleek = new SleekNew(false);
                MenuSurvivorsClothingUI.itemstoreButton.add(sleek);
            }
            if (Provider.statusData.Stockpile.Featured_Item != 0)
            {
                MenuSurvivorsClothingUI.featuredButton = new SleekButton();
                MenuSurvivorsClothingUI.featuredButton.positionOffset_Y = -170;
                MenuSurvivorsClothingUI.featuredButton.positionScale_Y  = 1f;
                MenuSurvivorsClothingUI.featuredButton.sizeOffset_X     = 200;
                MenuSurvivorsClothingUI.featuredButton.sizeOffset_Y     = 50;
                MenuSurvivorsClothingUI.featuredButton.text             = Provider.provider.economyService.getInventoryName(Provider.statusData.Stockpile.Featured_Item);
                MenuSurvivorsClothingUI.featuredButton.tooltip          = MenuSurvivorsClothingUI.localization.format("Featured_Tooltip");
                SleekButton sleekButton7 = MenuSurvivorsClothingUI.featuredButton;
                if (MenuSurvivorsClothingUI.< > f__mg$cache9 == null)
                {
                    MenuSurvivorsClothingUI.< > f__mg$cache9 = new ClickedButton(MenuSurvivorsClothingUI.onClickedFeaturedButton);
                }
                sleekButton7.onClickedButton = MenuSurvivorsClothingUI.< > f__mg$cache9;
                MenuSurvivorsClothingUI.featuredButton.foregroundTint  = ESleekTint.NONE;
                MenuSurvivorsClothingUI.featuredButton.foregroundColor = Provider.provider.economyService.getInventoryColor(Provider.statusData.Stockpile.Featured_Item);
                MenuSurvivorsClothingUI.featuredButton.fontSize        = 14;
                MenuSurvivorsClothingUI.container.add(MenuSurvivorsClothingUI.featuredButton);
                SleekNew sleek2 = new SleekNew(false);
                MenuSurvivorsClothingUI.featuredButton.add(sleek2);
            }
            if (!MenuSurvivorsClothingUI.hasLoaded)
            {
                TempSteamworksEconomy economyService = Provider.provider.economyService;
                Delegate onInventoryRefreshed        = economyService.onInventoryRefreshed;
                if (MenuSurvivorsClothingUI.< > f__mg$cacheA == null)
                {
                    MenuSurvivorsClothingUI.< > f__mg$cacheA = new TempSteamworksEconomy.InventoryRefreshed(MenuSurvivorsClothingUI.onInventoryRefreshed);
                }
                economyService.onInventoryRefreshed = (TempSteamworksEconomy.InventoryRefreshed)Delegate.Combine(onInventoryRefreshed, MenuSurvivorsClothingUI.< > f__mg$cacheA);
                TempSteamworksEconomy economyService2 = Provider.provider.economyService;
                Delegate onInventoryDropped           = economyService2.onInventoryDropped;
                if (MenuSurvivorsClothingUI.< > f__mg$cacheB == null)
                {
                    MenuSurvivorsClothingUI.< > f__mg$cacheB = new TempSteamworksEconomy.InventoryDropped(MenuSurvivorsClothingUI.onInventoryDropped);
                }
                economyService2.onInventoryDropped = (TempSteamworksEconomy.InventoryDropped)Delegate.Combine(onInventoryDropped, MenuSurvivorsClothingUI.< > f__mg$cacheB);
            }
            Delegate onCharacterUpdated = Characters.onCharacterUpdated;

            if (MenuSurvivorsClothingUI.< > f__mg$cacheC == null)
            {
                MenuSurvivorsClothingUI.< > f__mg$cacheC = new CharacterUpdated(MenuSurvivorsClothingUI.onCharacterUpdated);
            }
            Characters.onCharacterUpdated     = (CharacterUpdated)Delegate.Combine(onCharacterUpdated, MenuSurvivorsClothingUI.< > f__mg$cacheC);
            MenuSurvivorsClothingUI.hasLoaded = true;
            MenuSurvivorsClothingUI.updateFilter();
            MenuSurvivorsClothingUI.updatePage();
            new MenuSurvivorsClothingItemUI();
            new MenuSurvivorsClothingInspectUI();
            new MenuSurvivorsClothingDeleteUI();
            new MenuSurvivorsClothingBoxUI();
        }
        public MenuSurvivorsGroupUI()
        {
            MenuSurvivorsGroupUI.localization = Localization.read("/Menu/Survivors/MenuSurvivorsGroup.dat");
            MenuSurvivorsGroupUI.container    = new Sleek();
            MenuSurvivorsGroupUI.container.positionOffset_X = 10;
            MenuSurvivorsGroupUI.container.positionOffset_Y = 10;
            MenuSurvivorsGroupUI.container.positionScale_Y  = 1f;
            MenuSurvivorsGroupUI.container.sizeOffset_X     = -20;
            MenuSurvivorsGroupUI.container.sizeOffset_Y     = -20;
            MenuSurvivorsGroupUI.container.sizeScale_X      = 1f;
            MenuSurvivorsGroupUI.container.sizeScale_Y      = 1f;
            MenuUI.container.add(MenuSurvivorsGroupUI.container);
            MenuSurvivorsGroupUI.active      = false;
            MenuSurvivorsGroupUI.groups      = Provider.provider.communityService.getGroups();
            MenuSurvivorsGroupUI.groupButton = new SleekButtonIcon(null, 20);
            MenuSurvivorsGroupUI.groupButton.positionOffset_X = -100;
            MenuSurvivorsGroupUI.groupButton.positionOffset_Y = 100;
            MenuSurvivorsGroupUI.groupButton.positionScale_X  = 0.75f;
            MenuSurvivorsGroupUI.groupButton.sizeOffset_X     = 200;
            MenuSurvivorsGroupUI.groupButton.sizeOffset_Y     = 30;
            MenuSurvivorsGroupUI.groupButton.addLabel(MenuSurvivorsGroupUI.localization.format("Group_Box_Label"), ESleekSide.LEFT);
            SleekButton sleekButton = MenuSurvivorsGroupUI.groupButton;

            if (MenuSurvivorsGroupUI.< > f__mg$cache0 == null)
            {
                MenuSurvivorsGroupUI.< > f__mg$cache0 = new ClickedButton(MenuSurvivorsGroupUI.onClickedUngroupButton);
            }
            sleekButton.onClickedButton = MenuSurvivorsGroupUI.< > f__mg$cache0;
            MenuSurvivorsGroupUI.container.add(MenuSurvivorsGroupUI.groupButton);
            MenuSurvivorsGroupUI.groupsBox = new SleekScrollBox();
            MenuSurvivorsGroupUI.groupsBox.positionOffset_X = -100;
            MenuSurvivorsGroupUI.groupsBox.positionOffset_Y = 140;
            MenuSurvivorsGroupUI.groupsBox.positionScale_X  = 0.75f;
            MenuSurvivorsGroupUI.groupsBox.sizeOffset_X     = 230;
            MenuSurvivorsGroupUI.groupsBox.sizeOffset_Y     = -240;
            MenuSurvivorsGroupUI.groupsBox.sizeScale_Y      = 1f;
            MenuSurvivorsGroupUI.groupsBox.area             = new Rect(0f, 0f, 5f, (float)(MenuSurvivorsGroupUI.groups.Length * 40 - 10));
            MenuSurvivorsGroupUI.container.add(MenuSurvivorsGroupUI.groupsBox);
            for (int i = 0; i < MenuSurvivorsGroupUI.groups.Length; i++)
            {
                SleekButtonIcon sleekButtonIcon = new SleekButtonIcon(MenuSurvivorsGroupUI.groups[i].icon, 20);
                sleekButtonIcon.positionOffset_Y = i * 40;
                sleekButtonIcon.sizeOffset_X     = 200;
                sleekButtonIcon.sizeOffset_Y     = 30;
                sleekButtonIcon.text             = MenuSurvivorsGroupUI.groups[i].name;
                SleekButton sleekButton2 = sleekButtonIcon;
                if (MenuSurvivorsGroupUI.< > f__mg$cache1 == null)
                {
                    MenuSurvivorsGroupUI.< > f__mg$cache1 = new ClickedButton(MenuSurvivorsGroupUI.onClickedGroupButton);
                }
                sleekButton2.onClickedButton = MenuSurvivorsGroupUI.< > f__mg$cache1;
                MenuSurvivorsGroupUI.groupsBox.add(sleekButtonIcon);
            }
            Delegate onCharacterUpdated = Characters.onCharacterUpdated;

            if (MenuSurvivorsGroupUI.< > f__mg$cache2 == null)
            {
                MenuSurvivorsGroupUI.< > f__mg$cache2 = new CharacterUpdated(MenuSurvivorsGroupUI.onCharacterUpdated);
            }
            Characters.onCharacterUpdated   = (CharacterUpdated)Delegate.Combine(onCharacterUpdated, MenuSurvivorsGroupUI.< > f__mg$cache2);
            MenuSurvivorsGroupUI.backButton = new SleekButtonIcon((Texture2D)MenuDashboardUI.icons.load("Exit"));
            MenuSurvivorsGroupUI.backButton.positionOffset_Y = -50;
            MenuSurvivorsGroupUI.backButton.positionScale_Y  = 1f;
            MenuSurvivorsGroupUI.backButton.sizeOffset_X     = 200;
            MenuSurvivorsGroupUI.backButton.sizeOffset_Y     = 50;
            MenuSurvivorsGroupUI.backButton.text             = MenuDashboardUI.localization.format("BackButtonText");
            MenuSurvivorsGroupUI.backButton.tooltip          = MenuDashboardUI.localization.format("BackButtonTooltip");
            SleekButton sleekButton3 = MenuSurvivorsGroupUI.backButton;

            if (MenuSurvivorsGroupUI.< > f__mg$cache3 == null)
            {
                MenuSurvivorsGroupUI.< > f__mg$cache3 = new ClickedButton(MenuSurvivorsGroupUI.onClickedBackButton);
            }
            sleekButton3.onClickedButton             = MenuSurvivorsGroupUI.< > f__mg$cache3;
            MenuSurvivorsGroupUI.backButton.fontSize = 14;
            MenuSurvivorsGroupUI.backButton.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            MenuSurvivorsGroupUI.container.add(MenuSurvivorsGroupUI.backButton);
        }
Example #8
0
        private void OnGameplayNetworkReceived(NetPeer peer, NetDataReader dataReader)
        {
            NetMessage instruction = (NetMessage)dataReader.GetInt();

            switch (instruction)
            {
            case NetMessage.ServerClosed:
                OnServerClosed();
                break;

            case NetMessage.CharacterUpdate:
                StatePacket packet = new StatePacket(dataReader);
                CharacterUpdated?.Invoke(this, new GameplayUpdateEventArgs()
                {
                    Packet = packet
                });
                break;

            case NetMessage.GoToScoresScreen:
                this.SetLobby();
                ScreenManager.ReplaceCurrent(new ScoresScreen());
                break;

            case NetMessage.AddDrop:
                DropAdded?.Invoke(this, new GameplayDropEventArgs()
                {
                    Id   = dataReader.GetInt(),
                    Type = dataReader.GetInt(),
                    X    = dataReader.GetInt(),
                    Y    = dataReader.GetInt()
                });
                break;

            case NetMessage.RemoveDrop:
                DropRemoved?.Invoke(this, new GameplayDropEventArgs()
                {
                    Id = dataReader.GetInt(),
                });
                break;

            case NetMessage.AddBuff:
                BuffAdded?.Invoke(this, new GameplayBuffEventArgs()
                {
                    BuffType = dataReader.GetInt(),
                    PlayerId = dataReader.GetString(),
                    BuffId   = dataReader.GetInt()
                });
                break;

            case NetMessage.RemoveBuff:
                BuffRemoved?.Invoke(this, new GameplayBuffEventArgs()
                {
                    PlayerId = dataReader.GetString(),
                    BuffId   = dataReader.GetInt()
                });
                break;

            case NetMessage.AddPowerUp:
                PowerUpAdded?.Invoke(this, new GameplayPowerUpEventArgs()
                {
                    PlayerId = dataReader.GetString(),
                    Type     = dataReader.GetInt()
                });
                break;

            case NetMessage.RemovePowerUp:
                PowerUpRemoved?.Invoke(this, new GameplayPowerUpEventArgs()
                {
                    PlayerId = dataReader.GetString(),
                });
                break;

            case NetMessage.Teleport:
                CharacterTeleported?.Invoke(this, new GameplayCharacterTeleportedEventArgs()
                {
                    PlayerId = dataReader.GetString(),
                    X        = dataReader.GetInt(),
                    Y        = dataReader.GetInt()
                });
                break;

            case NetMessage.AddTintaSplash:
                TintaSplashAdded?.Invoke(this, new GameplayTintaSplashEventArgs()
                {
                    Id       = dataReader.GetInt(),
                    X        = dataReader.GetInt(),
                    Y        = dataReader.GetInt(),
                    Rotation = dataReader.GetFloat(),
                    Duration = dataReader.GetFloat()
                });
                break;

            case NetMessage.RemoveTintaSplash:
                TintaSplashRemoved?.Invoke(this, new GameplayTintaSplashEventArgs()
                {
                    Id = dataReader.GetInt()
                });
                break;
            }
        }
Example #9
0
        public MenuSurvivorsAppearanceUI()
        {
            MenuSurvivorsAppearanceUI.localization = Localization.read("/Menu/Survivors/MenuSurvivorsAppearance.dat");
            MenuSurvivorsAppearanceUI.container    = new Sleek();
            MenuSurvivorsAppearanceUI.container.positionOffset_X = 10;
            MenuSurvivorsAppearanceUI.container.positionOffset_Y = 10;
            MenuSurvivorsAppearanceUI.container.positionScale_Y  = 1f;
            MenuSurvivorsAppearanceUI.container.sizeOffset_X     = -20;
            MenuSurvivorsAppearanceUI.container.sizeOffset_Y     = -20;
            MenuSurvivorsAppearanceUI.container.sizeScale_X      = 1f;
            MenuSurvivorsAppearanceUI.container.sizeScale_Y      = 1f;
            MenuUI.container.add(MenuSurvivorsAppearanceUI.container);
            MenuSurvivorsAppearanceUI.active           = false;
            MenuSurvivorsAppearanceUI.customizationBox = new SleekScrollBox();
            MenuSurvivorsAppearanceUI.customizationBox.positionOffset_X = -140;
            MenuSurvivorsAppearanceUI.customizationBox.positionOffset_Y = 100;
            MenuSurvivorsAppearanceUI.customizationBox.positionScale_X  = 0.75f;
            MenuSurvivorsAppearanceUI.customizationBox.sizeOffset_X     = 270;
            MenuSurvivorsAppearanceUI.customizationBox.sizeOffset_Y     = -270;
            MenuSurvivorsAppearanceUI.customizationBox.sizeScale_Y      = 1f;
            MenuSurvivorsAppearanceUI.container.add(MenuSurvivorsAppearanceUI.customizationBox);
            MenuSurvivorsAppearanceUI.faceBox = new SleekBox();
            MenuSurvivorsAppearanceUI.faceBox.sizeOffset_X = 240;
            MenuSurvivorsAppearanceUI.faceBox.sizeOffset_Y = 30;
            MenuSurvivorsAppearanceUI.faceBox.text         = MenuSurvivorsAppearanceUI.localization.format("Face_Box");
            MenuSurvivorsAppearanceUI.faceBox.tooltip      = MenuSurvivorsAppearanceUI.localization.format("Face_Box_Tooltip");
            MenuSurvivorsAppearanceUI.customizationBox.add(MenuSurvivorsAppearanceUI.faceBox);
            MenuSurvivorsAppearanceUI.faceButtons = new SleekButton[(int)(Customization.FACES_FREE + Customization.FACES_PRO)];
            for (int i = 0; i < MenuSurvivorsAppearanceUI.faceButtons.Length; i++)
            {
                SleekButton sleekButton = new SleekButton();
                sleekButton.positionOffset_X = i % 5 * 50;
                sleekButton.positionOffset_Y = 40 + Mathf.FloorToInt((float)i / 5f) * 50;
                sleekButton.sizeOffset_X     = 40;
                sleekButton.sizeOffset_Y     = 40;
                MenuSurvivorsAppearanceUI.faceBox.add(sleekButton);
                SleekImageTexture sleekImageTexture = new SleekImageTexture();
                sleekImageTexture.positionOffset_X = 10;
                sleekImageTexture.positionOffset_Y = 10;
                sleekImageTexture.sizeOffset_X     = 20;
                sleekImageTexture.sizeOffset_Y     = 20;
                sleekImageTexture.texture          = (Texture2D)Resources.Load("Materials/Pixel");
                sleekButton.add(sleekImageTexture);
                sleekImageTexture.add(new SleekImageTexture
                {
                    positionOffset_X = 2,
                    positionOffset_Y = 2,
                    sizeOffset_X     = 16,
                    sizeOffset_Y     = 16,
                    texture          = (Texture2D)Resources.Load("Faces/" + i + "/Texture")
                });
                if (i >= (int)Customization.FACES_FREE)
                {
                    if (Provider.isPro)
                    {
                        SleekButton sleekButton2 = sleekButton;
                        if (MenuSurvivorsAppearanceUI.< > f__mg$cache0 == null)
                        {
                            MenuSurvivorsAppearanceUI.< > f__mg$cache0 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedFaceButton);
                        }
                        sleekButton2.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache0;
                    }
                    else
                    {
                        sleekButton.backgroundColor = Palette.PRO;
                        Bundle bundle = Bundles.getBundle("/Bundles/Textures/Menu/Icons/Pro/Pro.unity3d");
                        sleekButton.add(new SleekImageTexture
                        {
                            positionOffset_X = -10,
                            positionOffset_Y = -10,
                            positionScale_X  = 0.5f,
                            positionScale_Y  = 0.5f,
                            sizeOffset_X     = 20,
                            sizeOffset_Y     = 20,
                            texture          = (Texture2D)bundle.load("Lock_Small")
                        });
                        bundle.unload();
                    }
                }
                else
                {
                    SleekButton sleekButton3 = sleekButton;
                    if (MenuSurvivorsAppearanceUI.< > f__mg$cache1 == null)
                    {
                        MenuSurvivorsAppearanceUI.< > f__mg$cache1 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedFaceButton);
                    }
                    sleekButton3.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache1;
                }
                MenuSurvivorsAppearanceUI.faceButtons[i] = sleekButton;
            }
            MenuSurvivorsAppearanceUI.hairBox = new SleekBox();
            MenuSurvivorsAppearanceUI.hairBox.positionOffset_Y = 80 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.faceButtons.Length / 5f) * 50;
            MenuSurvivorsAppearanceUI.hairBox.sizeOffset_X     = 240;
            MenuSurvivorsAppearanceUI.hairBox.sizeOffset_Y     = 30;
            MenuSurvivorsAppearanceUI.hairBox.text             = MenuSurvivorsAppearanceUI.localization.format("Hair_Box");
            MenuSurvivorsAppearanceUI.hairBox.tooltip          = MenuSurvivorsAppearanceUI.localization.format("Hair_Box_Tooltip");
            MenuSurvivorsAppearanceUI.customizationBox.add(MenuSurvivorsAppearanceUI.hairBox);
            MenuSurvivorsAppearanceUI.hairButtons = new SleekButton[(int)(Customization.HAIRS_FREE + Customization.HAIRS_PRO)];
            for (int j = 0; j < MenuSurvivorsAppearanceUI.hairButtons.Length; j++)
            {
                SleekButton sleekButton4 = new SleekButton();
                sleekButton4.positionOffset_X = j % 5 * 50;
                sleekButton4.positionOffset_Y = 40 + Mathf.FloorToInt((float)j / 5f) * 50;
                sleekButton4.sizeOffset_X     = 40;
                sleekButton4.sizeOffset_Y     = 40;
                MenuSurvivorsAppearanceUI.hairBox.add(sleekButton4);
                sleekButton4.add(new SleekImageTexture
                {
                    positionOffset_X = 10,
                    positionOffset_Y = 10,
                    sizeOffset_X     = 20,
                    sizeOffset_Y     = 20,
                    texture          = (Texture2D)Resources.Load("Hairs/" + j + "/Texture")
                });
                if (j >= (int)Customization.HAIRS_FREE)
                {
                    if (Provider.isPro)
                    {
                        SleekButton sleekButton5 = sleekButton4;
                        if (MenuSurvivorsAppearanceUI.< > f__mg$cache2 == null)
                        {
                            MenuSurvivorsAppearanceUI.< > f__mg$cache2 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedHairButton);
                        }
                        sleekButton5.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache2;
                    }
                    else
                    {
                        sleekButton4.backgroundColor = Palette.PRO;
                        Bundle bundle2 = Bundles.getBundle("/Bundles/Textures/Menu/Icons/Pro/Pro.unity3d");
                        sleekButton4.add(new SleekImageTexture
                        {
                            positionOffset_X = -10,
                            positionOffset_Y = -10,
                            positionScale_X  = 0.5f,
                            positionScale_Y  = 0.5f,
                            sizeOffset_X     = 20,
                            sizeOffset_Y     = 20,
                            texture          = (Texture2D)bundle2.load("Lock_Small")
                        });
                        bundle2.unload();
                    }
                }
                else
                {
                    SleekButton sleekButton6 = sleekButton4;
                    if (MenuSurvivorsAppearanceUI.< > f__mg$cache3 == null)
                    {
                        MenuSurvivorsAppearanceUI.< > f__mg$cache3 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedHairButton);
                    }
                    sleekButton6.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache3;
                }
                MenuSurvivorsAppearanceUI.hairButtons[j] = sleekButton4;
            }
            MenuSurvivorsAppearanceUI.beardBox = new SleekBox();
            MenuSurvivorsAppearanceUI.beardBox.positionOffset_Y = 160 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.faceButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.hairButtons.Length / 5f) * 50;
            MenuSurvivorsAppearanceUI.beardBox.sizeOffset_X     = 240;
            MenuSurvivorsAppearanceUI.beardBox.sizeOffset_Y     = 30;
            MenuSurvivorsAppearanceUI.beardBox.text             = MenuSurvivorsAppearanceUI.localization.format("Beard_Box");
            MenuSurvivorsAppearanceUI.beardBox.tooltip          = MenuSurvivorsAppearanceUI.localization.format("Beard_Box_Tooltip");
            MenuSurvivorsAppearanceUI.customizationBox.add(MenuSurvivorsAppearanceUI.beardBox);
            MenuSurvivorsAppearanceUI.beardButtons = new SleekButton[(int)(Customization.BEARDS_FREE + Customization.BEARDS_PRO)];
            for (int k = 0; k < MenuSurvivorsAppearanceUI.beardButtons.Length; k++)
            {
                SleekButton sleekButton7 = new SleekButton();
                sleekButton7.positionOffset_X = k % 5 * 50;
                sleekButton7.positionOffset_Y = 40 + Mathf.FloorToInt((float)k / 5f) * 50;
                sleekButton7.sizeOffset_X     = 40;
                sleekButton7.sizeOffset_Y     = 40;
                MenuSurvivorsAppearanceUI.beardBox.add(sleekButton7);
                sleekButton7.add(new SleekImageTexture
                {
                    positionOffset_X = 10,
                    positionOffset_Y = 10,
                    sizeOffset_X     = 20,
                    sizeOffset_Y     = 20,
                    texture          = (Texture2D)Resources.Load("Beards/" + k + "/Texture")
                });
                if (k >= (int)Customization.BEARDS_FREE)
                {
                    if (Provider.isPro)
                    {
                        SleekButton sleekButton8 = sleekButton7;
                        if (MenuSurvivorsAppearanceUI.< > f__mg$cache4 == null)
                        {
                            MenuSurvivorsAppearanceUI.< > f__mg$cache4 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedBeardButton);
                        }
                        sleekButton8.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache4;
                    }
                    else
                    {
                        sleekButton7.backgroundColor = Palette.PRO;
                        Bundle bundle3 = Bundles.getBundle("/Bundles/Textures/Menu/Icons/Pro/Pro.unity3d");
                        sleekButton7.add(new SleekImageTexture
                        {
                            positionOffset_X = -10,
                            positionOffset_Y = -10,
                            positionScale_X  = 0.5f,
                            positionScale_Y  = 0.5f,
                            sizeOffset_X     = 20,
                            sizeOffset_Y     = 20,
                            texture          = (Texture2D)bundle3.load("Lock_Small")
                        });
                        bundle3.unload();
                    }
                }
                else
                {
                    SleekButton sleekButton9 = sleekButton7;
                    if (MenuSurvivorsAppearanceUI.< > f__mg$cache5 == null)
                    {
                        MenuSurvivorsAppearanceUI.< > f__mg$cache5 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedBeardButton);
                    }
                    sleekButton9.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache5;
                }
                MenuSurvivorsAppearanceUI.beardButtons[k] = sleekButton7;
            }
            MenuSurvivorsAppearanceUI.skinBox = new SleekBox();
            MenuSurvivorsAppearanceUI.skinBox.positionOffset_Y = 240 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.faceButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.hairButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.beardButtons.Length / 5f) * 50;
            MenuSurvivorsAppearanceUI.skinBox.sizeOffset_X     = 240;
            MenuSurvivorsAppearanceUI.skinBox.sizeOffset_Y     = 30;
            MenuSurvivorsAppearanceUI.skinBox.text             = MenuSurvivorsAppearanceUI.localization.format("Skin_Box");
            MenuSurvivorsAppearanceUI.skinBox.tooltip          = MenuSurvivorsAppearanceUI.localization.format("Skin_Box_Tooltip");
            MenuSurvivorsAppearanceUI.customizationBox.add(MenuSurvivorsAppearanceUI.skinBox);
            MenuSurvivorsAppearanceUI.skinButtons = new SleekButton[Customization.SKINS.Length];
            for (int l = 0; l < MenuSurvivorsAppearanceUI.skinButtons.Length; l++)
            {
                SleekButton sleekButton10 = new SleekButton();
                sleekButton10.positionOffset_X = l % 5 * 50;
                sleekButton10.positionOffset_Y = 40 + Mathf.FloorToInt((float)l / 5f) * 50;
                sleekButton10.sizeOffset_X     = 40;
                sleekButton10.sizeOffset_Y     = 40;
                SleekButton sleekButton11 = sleekButton10;
                if (MenuSurvivorsAppearanceUI.< > f__mg$cache6 == null)
                {
                    MenuSurvivorsAppearanceUI.< > f__mg$cache6 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedSkinButton);
                }
                sleekButton11.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache6;
                MenuSurvivorsAppearanceUI.skinBox.add(sleekButton10);
                sleekButton10.add(new SleekImageTexture
                {
                    positionOffset_X = 10,
                    positionOffset_Y = 10,
                    sizeOffset_X     = 20,
                    sizeOffset_Y     = 20,
                    texture          = (Texture2D)Resources.Load("Materials/Pixel"),
                    backgroundColor  = Customization.SKINS[l]
                });
                MenuSurvivorsAppearanceUI.skinButtons[l] = sleekButton10;
            }
            MenuSurvivorsAppearanceUI.skinColorPicker = new SleekColorPicker();
            MenuSurvivorsAppearanceUI.skinColorPicker.positionOffset_Y = 280 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.faceButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.hairButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.beardButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.skinButtons.Length / 5f) * 50;
            MenuSurvivorsAppearanceUI.customizationBox.add(MenuSurvivorsAppearanceUI.skinColorPicker);
            if (Provider.isPro)
            {
                SleekColorPicker sleekColorPicker = MenuSurvivorsAppearanceUI.skinColorPicker;
                if (MenuSurvivorsAppearanceUI.< > f__mg$cache7 == null)
                {
                    MenuSurvivorsAppearanceUI.< > f__mg$cache7 = new ColorPicked(MenuSurvivorsAppearanceUI.onSkinColorPicked);
                }
                sleekColorPicker.onColorPicked = MenuSurvivorsAppearanceUI.< > f__mg$cache7;
            }
            else
            {
                Bundle            bundle4            = Bundles.getBundle("/Bundles/Textures/Menu/Icons/Pro/Pro.unity3d");
                SleekImageTexture sleekImageTexture2 = new SleekImageTexture();
                sleekImageTexture2.positionOffset_X = -40;
                sleekImageTexture2.positionOffset_Y = -40;
                sleekImageTexture2.positionScale_X  = 0.5f;
                sleekImageTexture2.positionScale_Y  = 0.5f;
                sleekImageTexture2.sizeOffset_X     = 80;
                sleekImageTexture2.sizeOffset_Y     = 80;
                sleekImageTexture2.texture          = (Texture2D)bundle4.load("Lock_Large");
                MenuSurvivorsAppearanceUI.skinColorPicker.add(sleekImageTexture2);
                bundle4.unload();
            }
            MenuSurvivorsAppearanceUI.colorBox = new SleekBox();
            MenuSurvivorsAppearanceUI.colorBox.positionOffset_Y = 440 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.faceButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.hairButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.beardButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.skinButtons.Length / 5f) * 50;
            MenuSurvivorsAppearanceUI.colorBox.sizeOffset_X     = 240;
            MenuSurvivorsAppearanceUI.colorBox.sizeOffset_Y     = 30;
            MenuSurvivorsAppearanceUI.colorBox.text             = MenuSurvivorsAppearanceUI.localization.format("Color_Box");
            MenuSurvivorsAppearanceUI.colorBox.tooltip          = MenuSurvivorsAppearanceUI.localization.format("Color_Box_Tooltip");
            MenuSurvivorsAppearanceUI.customizationBox.add(MenuSurvivorsAppearanceUI.colorBox);
            MenuSurvivorsAppearanceUI.colorButtons = new SleekButton[Customization.COLORS.Length];
            for (int m = 0; m < MenuSurvivorsAppearanceUI.colorButtons.Length; m++)
            {
                SleekButton sleekButton12 = new SleekButton();
                sleekButton12.positionOffset_X = m % 5 * 50;
                sleekButton12.positionOffset_Y = 40 + Mathf.FloorToInt((float)m / 5f) * 50;
                sleekButton12.sizeOffset_X     = 40;
                sleekButton12.sizeOffset_Y     = 40;
                SleekButton sleekButton13 = sleekButton12;
                if (MenuSurvivorsAppearanceUI.< > f__mg$cache8 == null)
                {
                    MenuSurvivorsAppearanceUI.< > f__mg$cache8 = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedColorButton);
                }
                sleekButton13.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cache8;
                MenuSurvivorsAppearanceUI.colorBox.add(sleekButton12);
                sleekButton12.add(new SleekImageTexture
                {
                    positionOffset_X = 10,
                    positionOffset_Y = 10,
                    sizeOffset_X     = 20,
                    sizeOffset_Y     = 20,
                    texture          = (Texture2D)Resources.Load("Materials/Pixel"),
                    backgroundColor  = Customization.COLORS[m]
                });
                MenuSurvivorsAppearanceUI.colorButtons[m] = sleekButton12;
            }
            MenuSurvivorsAppearanceUI.colorColorPicker = new SleekColorPicker();
            MenuSurvivorsAppearanceUI.colorColorPicker.positionOffset_Y = 480 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.faceButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.hairButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.beardButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.skinButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.colorButtons.Length / 5f) * 50;
            MenuSurvivorsAppearanceUI.customizationBox.add(MenuSurvivorsAppearanceUI.colorColorPicker);
            if (Provider.isPro)
            {
                SleekColorPicker sleekColorPicker2 = MenuSurvivorsAppearanceUI.colorColorPicker;
                if (MenuSurvivorsAppearanceUI.< > f__mg$cache9 == null)
                {
                    MenuSurvivorsAppearanceUI.< > f__mg$cache9 = new ColorPicked(MenuSurvivorsAppearanceUI.onColorColorPicked);
                }
                sleekColorPicker2.onColorPicked = MenuSurvivorsAppearanceUI.< > f__mg$cache9;
            }
            else
            {
                Bundle            bundle5            = Bundles.getBundle("/Bundles/Textures/Menu/Icons/Pro/Pro.unity3d");
                SleekImageTexture sleekImageTexture3 = new SleekImageTexture();
                sleekImageTexture3.positionOffset_X = -40;
                sleekImageTexture3.positionOffset_Y = -40;
                sleekImageTexture3.positionScale_X  = 0.5f;
                sleekImageTexture3.positionScale_Y  = 0.5f;
                sleekImageTexture3.sizeOffset_X     = 80;
                sleekImageTexture3.sizeOffset_Y     = 80;
                sleekImageTexture3.texture          = (Texture2D)bundle5.load("Lock_Large");
                MenuSurvivorsAppearanceUI.colorColorPicker.add(sleekImageTexture3);
                bundle5.unload();
            }
            MenuSurvivorsAppearanceUI.customizationBox.area = new Rect(0f, 0f, 5f, (float)(600 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.faceButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.hairButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.beardButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.skinButtons.Length / 5f) * 50 + Mathf.CeilToInt((float)MenuSurvivorsAppearanceUI.colorButtons.Length / 5f) * 50));
            Delegate onCharacterUpdated = Characters.onCharacterUpdated;

            if (MenuSurvivorsAppearanceUI.< > f__mg$cacheA == null)
            {
                MenuSurvivorsAppearanceUI.< > f__mg$cacheA = new CharacterUpdated(MenuSurvivorsAppearanceUI.onCharacterUpdated);
            }
            Characters.onCharacterUpdated       = (CharacterUpdated)Delegate.Combine(onCharacterUpdated, MenuSurvivorsAppearanceUI.< > f__mg$cacheA);
            MenuSurvivorsAppearanceUI.handState = new SleekButtonState(new GUIContent[]
            {
                new GUIContent(MenuSurvivorsAppearanceUI.localization.format("Right")),
                new GUIContent(MenuSurvivorsAppearanceUI.localization.format("Left"))
            });
            MenuSurvivorsAppearanceUI.handState.positionOffset_X = -140;
            MenuSurvivorsAppearanceUI.handState.positionOffset_Y = -160;
            MenuSurvivorsAppearanceUI.handState.positionScale_X  = 0.75f;
            MenuSurvivorsAppearanceUI.handState.positionScale_Y  = 1f;
            MenuSurvivorsAppearanceUI.handState.sizeOffset_X     = 240;
            MenuSurvivorsAppearanceUI.handState.sizeOffset_Y     = 30;
            SleekButtonState sleekButtonState = MenuSurvivorsAppearanceUI.handState;

            if (MenuSurvivorsAppearanceUI.< > f__mg$cacheB == null)
            {
                MenuSurvivorsAppearanceUI.< > f__mg$cacheB = new SwappedState(MenuSurvivorsAppearanceUI.onSwappedHandState);
            }
            sleekButtonState.onSwappedState = MenuSurvivorsAppearanceUI.< > f__mg$cacheB;
            MenuSurvivorsAppearanceUI.container.add(MenuSurvivorsAppearanceUI.handState);
            MenuSurvivorsAppearanceUI.characterSlider = new SleekSlider();
            MenuSurvivorsAppearanceUI.characterSlider.positionOffset_X = -140;
            MenuSurvivorsAppearanceUI.characterSlider.positionOffset_Y = -120;
            MenuSurvivorsAppearanceUI.characterSlider.positionScale_X  = 0.75f;
            MenuSurvivorsAppearanceUI.characterSlider.positionScale_Y  = 1f;
            MenuSurvivorsAppearanceUI.characterSlider.sizeOffset_X     = 240;
            MenuSurvivorsAppearanceUI.characterSlider.sizeOffset_Y     = 20;
            MenuSurvivorsAppearanceUI.characterSlider.orientation      = ESleekOrientation.HORIZONTAL;
            SleekSlider sleekSlider = MenuSurvivorsAppearanceUI.characterSlider;

            if (MenuSurvivorsAppearanceUI.< > f__mg$cacheC == null)
            {
                MenuSurvivorsAppearanceUI.< > f__mg$cacheC = new Dragged(MenuSurvivorsAppearanceUI.onDraggedCharacterSlider);
            }
            sleekSlider.onDragged = MenuSurvivorsAppearanceUI.< > f__mg$cacheC;
            MenuSurvivorsAppearanceUI.container.add(MenuSurvivorsAppearanceUI.characterSlider);
            MenuSurvivorsAppearanceUI.backButton = new SleekButtonIcon((Texture2D)MenuDashboardUI.icons.load("Exit"));
            MenuSurvivorsAppearanceUI.backButton.positionOffset_Y = -50;
            MenuSurvivorsAppearanceUI.backButton.positionScale_Y  = 1f;
            MenuSurvivorsAppearanceUI.backButton.sizeOffset_X     = 200;
            MenuSurvivorsAppearanceUI.backButton.sizeOffset_Y     = 50;
            MenuSurvivorsAppearanceUI.backButton.text             = MenuDashboardUI.localization.format("BackButtonText");
            MenuSurvivorsAppearanceUI.backButton.tooltip          = MenuDashboardUI.localization.format("BackButtonTooltip");
            SleekButton sleekButton14 = MenuSurvivorsAppearanceUI.backButton;

            if (MenuSurvivorsAppearanceUI.< > f__mg$cacheD == null)
            {
                MenuSurvivorsAppearanceUI.< > f__mg$cacheD = new ClickedButton(MenuSurvivorsAppearanceUI.onClickedBackButton);
            }
            sleekButton14.onClickedButton = MenuSurvivorsAppearanceUI.< > f__mg$cacheD;
            MenuSurvivorsAppearanceUI.backButton.fontSize = 14;
            MenuSurvivorsAppearanceUI.backButton.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            MenuSurvivorsAppearanceUI.container.add(MenuSurvivorsAppearanceUI.backButton);
        }
        // Token: 0x06003722 RID: 14114 RVA: 0x0017EF24 File Offset: 0x0017D324
        public MenuSurvivorsCharacterUI()
        {
            if (MenuSurvivorsCharacterUI.icons != null)
            {
                MenuSurvivorsCharacterUI.icons.unload();
            }
            MenuSurvivorsCharacterUI.localization = Localization.read("/Menu/Survivors/MenuSurvivorsCharacter.dat");
            MenuSurvivorsCharacterUI.icons        = Bundles.getBundle("/Bundles/Textures/Menu/Icons/Survivors/MenuSurvivorsCharacter/MenuSurvivorsCharacter.unity3d");
            MenuSurvivorsCharacterUI.container    = new Sleek();
            MenuSurvivorsCharacterUI.container.positionOffset_X = 10;
            MenuSurvivorsCharacterUI.container.positionOffset_Y = 10;
            MenuSurvivorsCharacterUI.container.positionScale_Y  = 1f;
            MenuSurvivorsCharacterUI.container.sizeOffset_X     = -20;
            MenuSurvivorsCharacterUI.container.sizeOffset_Y     = -20;
            MenuSurvivorsCharacterUI.container.sizeScale_X      = 1f;
            MenuSurvivorsCharacterUI.container.sizeScale_Y      = 1f;
            MenuUI.container.add(MenuSurvivorsCharacterUI.container);
            MenuSurvivorsCharacterUI.active       = false;
            MenuSurvivorsCharacterUI.characterBox = new SleekScrollBox();
            MenuSurvivorsCharacterUI.characterBox.positionOffset_X = -100;
            MenuSurvivorsCharacterUI.characterBox.positionOffset_Y = 45;
            MenuSurvivorsCharacterUI.characterBox.positionScale_X  = 0.75f;
            MenuSurvivorsCharacterUI.characterBox.positionScale_Y  = 0.5f;
            MenuSurvivorsCharacterUI.characterBox.sizeOffset_X     = 230;
            MenuSurvivorsCharacterUI.characterBox.sizeOffset_Y     = -145;
            MenuSurvivorsCharacterUI.characterBox.sizeScale_Y      = 0.5f;
            MenuSurvivorsCharacterUI.characterBox.area             = new Rect(0f, 0f, 5f, (float)((Customization.FREE_CHARACTERS + Customization.PRO_CHARACTERS) * 80 - 10));
            MenuSurvivorsCharacterUI.container.add(MenuSurvivorsCharacterUI.characterBox);
            MenuSurvivorsCharacterUI.characterButtons = new SleekCharacter[(int)(Customization.FREE_CHARACTERS + Customization.PRO_CHARACTERS)];
            byte b = 0;

            while ((int)b < MenuSurvivorsCharacterUI.characterButtons.Length)
            {
                SleekCharacter sleekCharacter = new SleekCharacter(b);
                sleekCharacter.positionOffset_Y = (int)(b * 80);
                sleekCharacter.sizeOffset_X     = 200;
                sleekCharacter.sizeOffset_Y     = 70;
                SleekCharacter sleekCharacter2 = sleekCharacter;
                if (MenuSurvivorsCharacterUI.< > f__mg$cache0 == null)
                {
                    MenuSurvivorsCharacterUI.< > f__mg$cache0 = new ClickedCharacter(MenuSurvivorsCharacterUI.onClickedCharacter);
                }
                sleekCharacter2.onClickedCharacter = MenuSurvivorsCharacterUI.< > f__mg$cache0;
                MenuSurvivorsCharacterUI.characterBox.add(sleekCharacter);
                MenuSurvivorsCharacterUI.characterButtons[(int)b] = sleekCharacter;
                b += 1;
            }
            MenuSurvivorsCharacterUI.nameField = new SleekField();
            MenuSurvivorsCharacterUI.nameField.positionOffset_X = -100;
            MenuSurvivorsCharacterUI.nameField.positionOffset_Y = 100;
            MenuSurvivorsCharacterUI.nameField.positionScale_X  = 0.75f;
            MenuSurvivorsCharacterUI.nameField.sizeOffset_X     = 200;
            MenuSurvivorsCharacterUI.nameField.sizeOffset_Y     = 30;
            MenuSurvivorsCharacterUI.nameField.maxLength        = 32;
            MenuSurvivorsCharacterUI.nameField.addLabel(MenuSurvivorsCharacterUI.localization.format("Name_Field_Label"), ESleekSide.LEFT);
            SleekField sleekField = MenuSurvivorsCharacterUI.nameField;

            if (MenuSurvivorsCharacterUI.< > f__mg$cache1 == null)
            {
                MenuSurvivorsCharacterUI.< > f__mg$cache1 = new Typed(MenuSurvivorsCharacterUI.onTypedNameField);
            }
            sleekField.onTyped = MenuSurvivorsCharacterUI.< > f__mg$cache1;
            MenuSurvivorsCharacterUI.container.add(MenuSurvivorsCharacterUI.nameField);
            MenuSurvivorsCharacterUI.nickField = new SleekField();
            MenuSurvivorsCharacterUI.nickField.positionOffset_X = -100;
            MenuSurvivorsCharacterUI.nickField.positionOffset_Y = 140;
            MenuSurvivorsCharacterUI.nickField.positionScale_X  = 0.75f;
            MenuSurvivorsCharacterUI.nickField.sizeOffset_X     = 200;
            MenuSurvivorsCharacterUI.nickField.sizeOffset_Y     = 30;
            MenuSurvivorsCharacterUI.nickField.maxLength        = 32;
            MenuSurvivorsCharacterUI.nickField.addLabel(MenuSurvivorsCharacterUI.localization.format("Nick_Field_Label"), ESleekSide.LEFT);
            SleekField sleekField2 = MenuSurvivorsCharacterUI.nickField;

            if (MenuSurvivorsCharacterUI.< > f__mg$cache2 == null)
            {
                MenuSurvivorsCharacterUI.< > f__mg$cache2 = new Typed(MenuSurvivorsCharacterUI.onTypedNickField);
            }
            sleekField2.onTyped = MenuSurvivorsCharacterUI.< > f__mg$cache2;
            MenuSurvivorsCharacterUI.container.add(MenuSurvivorsCharacterUI.nickField);
            MenuSurvivorsCharacterUI.skillsetBox = new SleekBoxIcon(null);
            MenuSurvivorsCharacterUI.skillsetBox.positionOffset_X         = -100;
            MenuSurvivorsCharacterUI.skillsetBox.positionOffset_Y         = 180;
            MenuSurvivorsCharacterUI.skillsetBox.positionScale_X          = 0.75f;
            MenuSurvivorsCharacterUI.skillsetBox.sizeOffset_X             = 200;
            MenuSurvivorsCharacterUI.skillsetBox.sizeOffset_Y             = 30;
            MenuSurvivorsCharacterUI.skillsetBox.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            MenuSurvivorsCharacterUI.skillsetBox.addLabel(MenuSurvivorsCharacterUI.localization.format("Skillset_Box_Label"), ESleekSide.LEFT);
            MenuSurvivorsCharacterUI.container.add(MenuSurvivorsCharacterUI.skillsetBox);
            MenuSurvivorsCharacterUI.skillsetsBox = new SleekScrollBox();
            MenuSurvivorsCharacterUI.skillsetsBox.positionOffset_X = -100;
            MenuSurvivorsCharacterUI.skillsetsBox.positionOffset_Y = 220;
            MenuSurvivorsCharacterUI.skillsetsBox.positionScale_X  = 0.75f;
            MenuSurvivorsCharacterUI.skillsetsBox.sizeOffset_X     = 230;
            MenuSurvivorsCharacterUI.skillsetsBox.sizeOffset_Y     = -185;
            MenuSurvivorsCharacterUI.skillsetsBox.sizeScale_Y      = 0.5f;
            MenuSurvivorsCharacterUI.skillsetsBox.area             = new Rect(0f, 0f, 5f, (float)(Customization.SKILLSETS * 40 - 10));
            MenuSurvivorsCharacterUI.container.add(MenuSurvivorsCharacterUI.skillsetsBox);
            for (int i = 0; i < (int)Customization.SKILLSETS; i++)
            {
                SleekButtonIcon sleekButtonIcon = new SleekButtonIcon((Texture2D)MenuSurvivorsCharacterUI.icons.load("Skillset_" + i));
                sleekButtonIcon.positionOffset_Y         = i * 40;
                sleekButtonIcon.sizeOffset_X             = 200;
                sleekButtonIcon.sizeOffset_Y             = 30;
                sleekButtonIcon.text                     = MenuSurvivorsCharacterUI.localization.format("Skillset_" + i);
                sleekButtonIcon.iconImage.backgroundTint = ESleekTint.FOREGROUND;
                SleekButton sleekButton = sleekButtonIcon;
                if (MenuSurvivorsCharacterUI.< > f__mg$cache3 == null)
                {
                    MenuSurvivorsCharacterUI.< > f__mg$cache3 = new ClickedButton(MenuSurvivorsCharacterUI.onClickedSkillset);
                }
                sleekButton.onClickedButton = MenuSurvivorsCharacterUI.< > f__mg$cache3;
                MenuSurvivorsCharacterUI.skillsetsBox.add(sleekButtonIcon);
            }
            Delegate onCharacterUpdated = Characters.onCharacterUpdated;

            if (MenuSurvivorsCharacterUI.< > f__mg$cache4 == null)
            {
                MenuSurvivorsCharacterUI.< > f__mg$cache4 = new CharacterUpdated(MenuSurvivorsCharacterUI.onCharacterUpdated);
            }
            Characters.onCharacterUpdated       = (CharacterUpdated)Delegate.Combine(onCharacterUpdated, MenuSurvivorsCharacterUI.< > f__mg$cache4);
            MenuSurvivorsCharacterUI.backButton = new SleekButtonIcon((Texture2D)MenuDashboardUI.icons.load("Exit"));
            MenuSurvivorsCharacterUI.backButton.positionOffset_Y = -50;
            MenuSurvivorsCharacterUI.backButton.positionScale_Y  = 1f;
            MenuSurvivorsCharacterUI.backButton.sizeOffset_X     = 200;
            MenuSurvivorsCharacterUI.backButton.sizeOffset_Y     = 50;
            MenuSurvivorsCharacterUI.backButton.text             = MenuDashboardUI.localization.format("BackButtonText");
            MenuSurvivorsCharacterUI.backButton.tooltip          = MenuDashboardUI.localization.format("BackButtonTooltip");
            SleekButton sleekButton2 = MenuSurvivorsCharacterUI.backButton;

            if (MenuSurvivorsCharacterUI.< > f__mg$cache5 == null)
            {
                MenuSurvivorsCharacterUI.< > f__mg$cache5 = new ClickedButton(MenuSurvivorsCharacterUI.onClickedBackButton);
            }
            sleekButton2.onClickedButton = MenuSurvivorsCharacterUI.< > f__mg$cache5;
            MenuSurvivorsCharacterUI.backButton.fontSize = 14;
            MenuSurvivorsCharacterUI.backButton.iconImage.backgroundTint = ESleekTint.FOREGROUND;
            MenuSurvivorsCharacterUI.container.add(MenuSurvivorsCharacterUI.backButton);
        }