Esempio n. 1
0
        private void DirectPlayerAttention(HexEntry hex, UIAlertType alertType)
        {
            Vector2 targetPos = HexVectorUtil.worldPositionOfHexCoord(hex.BoardPos);

            alertObject = Instantiate(leftClickAlert, new Vector2(targetPos.x + (alertType == UIAlertType.FlippedX ? -0.14f : 0.14f), targetPos.y - 0.14f), Quaternion.identity);

            if (alertType == UIAlertType.Hover)
            {
                alertObject.transform.GetChild(1).gameObject.SetActive(false);
            }
            if (alertType == UIAlertType.FlippedX)
            {
                alertObject.transform.localScale = new Vector3(-alertObject.transform.localScale.x,
                                                               alertObject.transform.localScale.y, alertObject.transform.localScale.z);
            }
        }
Esempio n. 2
0
    /// <summary>
    /// Add the key value pair to the dictionary corresponding to this cell.
    /// This and other methods allow you to make the hex hold whatever variables you need. This is set to the position, not the specific object, and can be read by a new HexPosition with the same coordinates.
    /// </summary>
    /// <param name="key">The name of the variable.</param>
    /// <param name="value">The value of the varaible.</param>
    public void add(string key, object value)
    {
        HexEntry hexKey = new HexEntry(this, key);

        dictionary [hexKey] = value;
    }
Esempio n. 3
0
        private void EnterSection()
        {
            // Movement explanation page
            if (activeSection == 1)   // Chapter 1
            {
                tooltipPanel1.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexHover  = true;
                uiHandler.inputEnabled.hexClick  = true;
                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;
                uiHandler.inputEnabled.undoMove  = false; // Not necessary,
                uiHandler.inputEnabled.TurnEnd   = false; // present for readability

                uiHandler.permittedHexes = null;
                uiHandler.permittedUnits = null;

                List <WeaponSelect.WSController.WSUnitDescriptor> startingUnits = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                startingUnits.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(3, -3), UnitBaseType.Simple, WeaponType.Spear, 1));
                startingUnits.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(-3, 1), UnitBaseType.Simple, WeaponType.None, 2));
                gameManager.ReloadUnits(startingUnits);
                unitOfInterest = selectionManager.UnitsByPlayer[1][0];

                DirectPlayerAttention(unitOfInterest.Position, UIAlertType.LeftClick);
            }
            else if (activeSection == 2)
            {
                tooltipPanel1.gameObject.SetActive(false);
                tooltipPanel2.gameObject.SetActive(true);

                hexOfInterest            = scenarioLoader.HexGrid[new Vector2(1, -1)];
                uiHandler.permittedHexes = new List <HexEntry>();
                uiHandler.permittedHexes.Add(hexOfInterest);

                Destroy(alertObject);
                DirectPlayerAttention(hexOfInterest, UIAlertType.Hover);
            }
            else if (activeSection == 3)
            {
                tooltipPanel3.gameObject.SetActive(true);
                tooltipPanel2.color = Config.Palette.tooltipDark;

                Destroy(alertObject);
                DirectPlayerAttention(hexOfInterest, UIAlertType.LeftClick);
            }
            else if (activeSection == 4)
            {
                hexOfInterest            = scenarioLoader.HexGrid[new Vector2(0, 1)];
                uiHandler.permittedHexes = new List <HexEntry>();
                uiHandler.permittedHexes.Add(hexOfInterest);

                tooltipPanel3_1.gameObject.SetActive(true);
                tooltipPanel3.color = Config.Palette.tooltipDark;

                Destroy(alertObject);
                DirectPlayerAttention(hexOfInterest, UIAlertType.LeftClick);
            }
            else if (activeSection == 5)
            {
                tooltipPanel4.gameObject.SetActive(true);
                tooltipPanel3_1.color = Config.Palette.tooltipDark;

                playerTurnButton.SetActive(true);
                uiHandler.inputEnabled.TurnEnd = true;

                Destroy(alertObject);
                DirectPlayerAttention(new Vector2(.78f, 4.75f), UIAlertType.LeftClick); // Over the player turn button
            }
            else if (activeSection == 6)
            {
                tooltipPanel2.gameObject.SetActive(false);
                tooltipPanel3.gameObject.SetActive(false);
                tooltipPanel3_1.gameObject.SetActive(false);
                tooltipPanel4.gameObject.SetActive(false);
                tooltipPanel5.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexClick  = false;
                uiHandler.inputEnabled.unitClick = false;
                uiHandler.inputEnabled.TurnEnd   = false;

                selectionManager.turnsOfPlay = 0;

                Destroy(alertObject);
            }
            // Attack explanation page
            else if (activeSection == 7)   // Chapter 2
            {
                tooltipPanel5.gameObject.SetActive(false);
                attackExplanationPanel.gameObject.SetActive(true);

                uiHandler.DisableInputs();

                uiHandler.permittedHexes = null;
                uiHandler.permittedUnits = null;

                List <WeaponSelect.WSController.WSUnitDescriptor> startingUnits = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                startingUnits.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 1), UnitBaseType.Simple, WeaponType.Spear, 1));
                startingUnits.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, -1), UnitBaseType.Simple, WeaponType.None, 2));
                gameManager.ReloadUnits(startingUnits);
                unitOfInterest = selectionManager.UnitsByPlayer[1][0];
            }
            else if (activeSection == 8)
            {
                attackExplanationPanel.gameObject.SetActive(false);
                tooltipPanel6.gameObject.SetActive(true);
                attackPatternPanel1.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexHover  = true;
                uiHandler.inputEnabled.hexClick  = true;
                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;

                hexOfInterest            = scenarioLoader.HexGrid[new Vector2(0, 0)];
                uiHandler.permittedHexes = new List <HexEntry>();
                uiHandler.permittedHexes.Add(hexOfInterest);

                DirectPlayerAttention(unitOfInterest.Position, UIAlertType.LeftClick);
            }
            else if (activeSection == 9)
            {
                Destroy(alertObject);
                DirectPlayerAttention(hexOfInterest, UIAlertType.LeftClick);
            }
            else if (activeSection == 10)
            {
                tooltipPanel7.gameObject.SetActive(true);
                tooltipPanel6.color = Config.Palette.tooltipDark;

                Destroy(alertObject);
            }
            else if (activeSection == 11)
            {
                tooltipPanel8.gameObject.SetActive(true);
                tooltipPanel7.color = Config.Palette.tooltipDark;
            }
            else if (activeSection == 12)
            {
                attackPatternPanel2.gameObject.SetActive(true);
                tooltipPanel9.gameObject.SetActive(true);
                tooltipPanel8.color = Config.Palette.tooltipDark;

                uiHandler.permittedHexes = new List <HexEntry>();
                uiHandler.permittedHexes.Add(scenarioLoader.HexGrid[new Vector2(-1, 0)]);
                uiHandler.permittedHexes.Add(scenarioLoader.HexGrid[new Vector2(1, -1)]);

                unitOfInterest.WeaponType     = WeaponType.Sword;
                unitOfInterest.Weapon         = new Sword(unitOfInterest, gameManager, scenarioLoader, selectionManager);
                selectionManager.UnitSelected = selectionManager.UnitSelected;
            }
            else if (activeSection == 13)
            {
                tooltipPanel6.gameObject.SetActive(false);
                tooltipPanel7.gameObject.SetActive(false);
                tooltipPanel8.gameObject.SetActive(false);
                tooltipPanel9.gameObject.SetActive(false);
                tooltipPanel10.gameObject.SetActive(true);

                uiHandler.permittedHexes = null;
            }
            else if (activeSection == 14)   // Give enemy spear -- Chapter 3
            {
                tooltipPanel10.gameObject.SetActive(false);
                tooltipPanel11.gameObject.SetActive(true);
                attackPatternPanel1.gameObject.SetActive(true);
                attackPatternPanel2.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexHover  = true;
                uiHandler.inputEnabled.hexClick  = true;
                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;
                uiHandler.inputEnabled.undoMove  = false;
                uiHandler.inputEnabled.TurnEnd   = false;

                List <WeaponSelect.WSController.WSUnitDescriptor> spearvsSword = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                spearvsSword.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 1), UnitBaseType.Simple, WeaponType.Sword, 1));
                spearvsSword.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, -1), UnitBaseType.Simple, WeaponType.Spear, 2));
                gameManager.ReloadUnits(spearvsSword);
                unitOfInterest = selectionManager.UnitsByPlayer[1][0];
                //selectionManager.UnitSelected = unitOfInterest; -- Doesn't work: newly created units require a frame to set up

                hexOfInterest            = scenarioLoader.HexGrid[new Vector2(0, 0)];
                uiHandler.permittedHexes = new List <HexEntry>();
                uiHandler.permittedHexes.Add(hexOfInterest);
                uiHandler.permittedUnits = null;

                DirectPlayerAttention(unitOfInterest.Position, UIAlertType.LeftClick);
            }
            else if (activeSection == 15)
            {
                Destroy(alertObject);
                DirectPlayerAttention(hexOfInterest, UIAlertType.LeftClick);
            }
            else if (activeSection == 16)
            {
                tooltipPanel12.gameObject.SetActive(true);
                tooltipPanel11.color = Config.Palette.tooltipDark;

                Destroy(alertObject);
            }
            else if (activeSection == 17)
            {
                tooltipPanel11.gameObject.SetActive(false);
                tooltipPanel12.gameObject.SetActive(false);
                attackPatternPanel1.gameObject.SetActive(false);
                attackPatternPanel2.gameObject.SetActive(false);
                retalExplanationPanel.gameObject.SetActive(true);

                uiHandler.DisableInputs();
            }
            else if (activeSection == 18)
            {
                retalExplanationPanel.gameObject.SetActive(false);
                attackPatternPanel1.gameObject.SetActive(true);
                attackPatternPanel2.gameObject.SetActive(true);
                tooltipPanel13.gameObject.SetActive(true);
                undoButton.SetActive(true);

                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;
                uiHandler.inputEnabled.undoMove  = true;

                // Show alert over undo button (resolution-agnostic)
                Rect    undoButtonRect       = undoButton.GetComponent <RectTransform>().rect;
                Vector2 positionOfUndoButton = undoButton.GetComponent <RectTransform>().TransformPoint(new Vector3(undoButtonRect.center.x - 30, undoButtonRect.center.y));
                DirectPlayerAttention(positionOfUndoButton, UIAlertType.FlippedX);
            }
            else if (activeSection == 19)
            {
                tooltipPanel14.gameObject.SetActive(true);
                tooltipPanel13.color = Config.Palette.tooltipDark;

                uiHandler.permittedHexes        = null; // All hexes now permitted
                uiHandler.inputEnabled.hexHover = true;
                uiHandler.inputEnabled.hexClick = true;

                Destroy(alertObject);
            }
            else if (activeSection == 20)
            {
                tooltipPanel15.gameObject.SetActive(true);
                tooltipPanel14.color = Config.Palette.tooltipDark;
            }
            //Flail intro
            else if (activeSection == 21)   // Chapter 4
            {
                tooltipPanel13.gameObject.SetActive(false);
                tooltipPanel14.gameObject.SetActive(false);
                tooltipPanel15.gameObject.SetActive(false);
                tooltipPanel16.gameObject.SetActive(true);
                attackPatternPanel1.gameObject.SetActive(true);
                attackPatternPanel2.gameObject.SetActive(true);
                attackPatternPanel3.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexHover  = true;
                uiHandler.inputEnabled.hexClick  = true;
                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;
                uiHandler.inputEnabled.undoMove  = false;
                uiHandler.inputEnabled.TurnEnd   = false;

                //uiHandler.inputEnabled.undoMove = false;

                List <WeaponSelect.WSController.WSUnitDescriptor> flailvsAlly = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                flailvsAlly.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 1), UnitBaseType.Simple, WeaponType.Flail, 1));
                flailvsAlly.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(-2, 2), UnitBaseType.Simple, WeaponType.Spear, 1));
                flailvsAlly.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(1, -1), UnitBaseType.Simple, WeaponType.None, 2));
                gameManager.ReloadUnits(flailvsAlly);

                unitOfInterest           = selectionManager.UnitsByPlayer[1][1];
                uiHandler.permittedUnits = new List <IUnitController>();
                uiHandler.permittedUnits.Add(unitOfInterest);

                hexOfInterest            = scenarioLoader.HexGrid[new Vector2(0, -2)];
                uiHandler.permittedHexes = new List <HexEntry>();
                uiHandler.permittedHexes.Add(hexOfInterest);

                DirectPlayerAttention(unitOfInterest.Position, UIAlertType.LeftClick);
            }
            else if (activeSection == 22)
            {
                Destroy(alertObject);
                DirectPlayerAttention(hexOfInterest, UIAlertType.LeftClick);
            }
            else if (activeSection == 23)
            {
                tooltipPanel17.gameObject.SetActive(true);
                tooltipPanel16.color = Config.Palette.tooltipDark;

                unitOfInterest           = selectionManager.UnitsByPlayer[1][0];
                uiHandler.permittedUnits = new List <IUnitController>();
                uiHandler.permittedUnits.Add(unitOfInterest);
                selectionManager.UnitSelected = null;

                hexOfInterest            = scenarioLoader.HexGrid[new Vector2(0, -1)];
                uiHandler.permittedHexes = new List <HexEntry>();
                uiHandler.permittedHexes.Add(hexOfInterest);

                Destroy(alertObject);
                DirectPlayerAttention(unitOfInterest.Position, UIAlertType.LeftClick);
            }
            else if (activeSection == 24)
            {
                Destroy(alertObject);
                DirectPlayerAttention(hexOfInterest, UIAlertType.FlippedX);
            }
            else if (activeSection == 25)
            {
                tooltipPanel18.gameObject.SetActive(true);
                tooltipPanel17.color = Config.Palette.tooltipDark;

                uiHandler.inputEnabled.hexHover = false;
                uiHandler.inputEnabled.hexClick = false;

                Destroy(alertObject);
            }
            //Flail challenge
            else if (activeSection == 26)
            {
                tooltipPanel19.gameObject.SetActive(true);
                tooltipPanel18.color = Config.Palette.tooltipDark;

                uiHandler.permittedHexes        = null;
                uiHandler.permittedUnits        = null;
                uiHandler.inputEnabled.hexHover = true;
                uiHandler.inputEnabled.hexClick = true;
                uiHandler.inputEnabled.undoMove = true;

                List <WeaponSelect.WSController.WSUnitDescriptor> flailChallenge = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                flailChallenge.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 1), UnitBaseType.Simple, WeaponType.Spear, 1));
                flailChallenge.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(2, -1), UnitBaseType.Simple, WeaponType.Flail, 1));
                flailChallenge.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, -1), UnitBaseType.Simple, WeaponType.Sword, 2));
                gameManager.ReloadUnits(flailChallenge);
                unitOfInterest = selectionManager.UnitsByPlayer[2][0];
            }
            else if (activeSection == 27)
            {
                tooltipPanel20.gameObject.SetActive(true);
                tooltipPanel19.color = Config.Palette.tooltipDark;
            }
            // Support explanation
            else if (activeSection == 28)   // Chapter 5
            {
                attackPatternPanel1.gameObject.SetActive(false);
                attackPatternPanel2.gameObject.SetActive(false);
                attackPatternPanel3.gameObject.SetActive(false);
                tooltipPanel16.gameObject.SetActive(false);
                tooltipPanel17.gameObject.SetActive(false);
                tooltipPanel18.gameObject.SetActive(false);
                tooltipPanel19.gameObject.SetActive(false);
                tooltipPanel20.gameObject.SetActive(false);
                supportExplanationPanel.gameObject.SetActive(true);

                uiHandler.DisableInputs();
                uiHandler.permittedHexes = null;
                uiHandler.permittedUnits = null;

                List <WeaponSelect.WSController.WSUnitDescriptor> longbowDemo = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                longbowDemo.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(2, -1), UnitBaseType.Simple, WeaponType.Spear, 1));
                longbowDemo.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(-3, 2), UnitBaseType.Simple, WeaponType.Longbow, 1));
                longbowDemo.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, -1), UnitBaseType.Simple, WeaponType.Sword, 2));
                gameManager.ReloadUnits(longbowDemo);
                unitOfInterest = selectionManager.UnitsByPlayer[2][0];
            }
            else if (activeSection == 29)
            {
                supportExplanationPanel.gameObject.SetActive(false);
                attackPatternPanel1.gameObject.SetActive(true);
                attackPatternPanel2.gameObject.SetActive(true);
                attackPatternPanel3.gameObject.SetActive(true);
                tooltipPanel21.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexHover  = true;
                uiHandler.inputEnabled.hexClick  = true;
                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;
                uiHandler.inputEnabled.undoMove  = true;
            }
            else if (activeSection == 30)
            {
                tooltipPanel22.gameObject.SetActive(true);
                tooltipPanel21.color = Config.Palette.tooltipDark;
            }
            else if (activeSection == 31)
            {
                tooltipPanel23.gameObject.SetActive(true);
                tooltipPanel22.color = Config.Palette.tooltipDark;

                List <WeaponSelect.WSController.WSUnitDescriptor> flailFighters = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                flailFighters.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(2, -1), UnitBaseType.Simple, WeaponType.Spear, 1));
                flailFighters.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 3), UnitBaseType.Simple, WeaponType.Longbow, 1));
                flailFighters.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 1), UnitBaseType.Simple, WeaponType.Dagger, 1));
                flailFighters.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, -1), UnitBaseType.Simple, WeaponType.Flail, 2));
                gameManager.ReloadUnits(flailFighters);
                unitOfInterest = selectionManager.UnitsByPlayer[2][0];
            }
            else if (activeSection == 32)
            {
                tooltipPanel24.gameObject.SetActive(true);
                tooltipPanel23.color = Config.Palette.tooltipDark;
            }
            // Push explanation
            else if (activeSection == 33)   // Chapter 6
            {
                attackPatternPanel1.gameObject.SetActive(false);
                attackPatternPanel2.gameObject.SetActive(false);
                attackPatternPanel3.gameObject.SetActive(false);
                tooltipPanel21.gameObject.SetActive(false);
                tooltipPanel22.gameObject.SetActive(false);
                tooltipPanel23.gameObject.SetActive(false);
                tooltipPanel24.gameObject.SetActive(false);
                pushExplanationPanel.gameObject.SetActive(true);

                uiHandler.DisableInputs();
                uiHandler.permittedHexes = null;
                uiHandler.permittedUnits = null;
            }
            else if (activeSection == 34)
            {
                pushExplanationPanel.gameObject.SetActive(false);
                attackPatternPanel1.gameObject.SetActive(true);
                attackPatternPanel2.gameObject.SetActive(true);
                attackPatternPanel3.gameObject.SetActive(true);
                attackPatternPanel4.gameObject.SetActive(true);
                tooltipPanel25.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexHover  = true;
                uiHandler.inputEnabled.hexClick  = true;
                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;
                uiHandler.inputEnabled.undoMove  = true;

                List <WeaponSelect.WSController.WSUnitDescriptor> shieldPushSimple = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                shieldPushSimple.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(-3, 3), UnitBaseType.Simple, WeaponType.Shield, 1));
                shieldPushSimple.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, -3), UnitBaseType.Simple, WeaponType.Spear, 2));
                shieldPushSimple.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, -1), UnitBaseType.Simple, WeaponType.Flail, 2));
                gameManager.ReloadUnits(shieldPushSimple);
                unitOfInterest = selectionManager.UnitsByPlayer[2][0];
            }
            else if (activeSection == 35)
            {
                tooltipPanel26.gameObject.SetActive(true);
                tooltipPanel25.color = Config.Palette.tooltipDark;
            }
            else if (activeSection == 36)
            {
                tooltipPanel21.gameObject.SetActive(false);
                tooltipPanel22.gameObject.SetActive(false);
                tooltipPanel23.gameObject.SetActive(false);
                tooltipPanel24.gameObject.SetActive(false);
                tooltipPanel25.gameObject.SetActive(false);
                tooltipPanel26.gameObject.SetActive(false);
                terrainExplanationPanel.gameObject.SetActive(true);

                uiHandler.DisableInputs();
            }
            else if (activeSection == 37)
            {
                terrainExplanationPanel.gameObject.SetActive(false);
                attackPatternPanel1.gameObject.SetActive(true);
                attackPatternPanel2.gameObject.SetActive(true);
                attackPatternPanel3.gameObject.SetActive(true);
                attackPatternPanel4.gameObject.SetActive(true);
                tooltipPanel27.gameObject.SetActive(true);

                uiHandler.inputEnabled.hexHover  = true;
                uiHandler.inputEnabled.hexClick  = true;
                uiHandler.inputEnabled.unitHover = true;
                uiHandler.inputEnabled.unitClick = true;
                uiHandler.inputEnabled.undoMove  = true;

                List <WeaponSelect.WSController.WSUnitDescriptor> shieldPusher = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                shieldPusher.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(2, -2), UnitBaseType.Simple, WeaponType.Spear, 1));
                shieldPusher.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 0), UnitBaseType.Simple, WeaponType.Shield, 2));
                gameManager.ReloadUnits(shieldPusher);
                unitOfInterest = selectionManager.UnitsByPlayer[2][0];

                scenarioLoader.HexGrid[new Vector2(-2, 2)].Terrain = Deft.Terrain.Forest;
            }
            else if (activeSection == 38)
            {
                tooltipPanel28.gameObject.SetActive(true);
                tooltipPanel27.color = Config.Palette.tooltipDark;
            }
            else if (activeSection == 39)
            {
                tooltipPanel27.gameObject.SetActive(false);
                tooltipPanel28.gameObject.SetActive(false);
                tooltipPanel29.gameObject.SetActive(true);

                List <WeaponSelect.WSController.WSUnitDescriptor> shieldPusherSupreme = new List <WeaponSelect.WSController.WSUnitDescriptor>();
                shieldPusherSupreme.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 2), UnitBaseType.Simple, WeaponType.Shield, 1));
                shieldPusherSupreme.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(0, 1), UnitBaseType.Simple, WeaponType.Sword, 1));
                shieldPusherSupreme.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(1, -1), UnitBaseType.Simple, WeaponType.Shield, 2));
                shieldPusherSupreme.Add(new WeaponSelect.WSController.WSUnitDescriptor(new Vector2(-1, 0), UnitBaseType.Simple, WeaponType.Spear, 2));
                gameManager.ReloadUnits(shieldPusherSupreme);
                unitOfInterest = selectionManager.UnitsByPlayer[2][0];

                scenarioLoader.HexGrid[new Vector2(-2, 2)].Terrain = Deft.Terrain.Normal;
                scenarioLoader.HexGrid[new Vector2(1, -2)].Terrain = Deft.Terrain.Forest;
                scenarioLoader.HexGrid[new Vector2(1, 0)].Terrain  = Deft.Terrain.Pit;
            }
            else if (activeSection == 40)
            {
                if (Application.platform != RuntimePlatform.WebGLPlayer)
                {
                    tooltipPanel30.gameObject.SetActive(true);
                }
                else
                {
                    tooltipPanelWebGLTerminus.gameObject.SetActive(true);
                }

                tooltipPanel29.color = Config.Palette.tooltipDark;
            }
        }