Пример #1
0
    public void InitialiseUI()
    {
        cardDisplayArea.SetActive(false);
        menuPopup.SetActive(false);
        cardChoiceUI.gameObject.SetActive(false);
        divinateUI.gameObject.SetActive(false);
        alterFateUI.gameObject.SetActive(false);
        backgroundFade.SetActive(false);
        keyDisplay.SetActive(false);
        rngDisplay.SetActive(false);
        ruleDisplay.SetActive(false);

        CurrentMapFilter = MapGrid.MapFilters.Terrain;

        var counter = 0;

        foreach (var playerBar in playerUIBars)
        {
            playerBar.InitialisePlayerBar(counter);
            counter++;
        }

        actionButtonText.text = "Start Game";
        currentRoundText.text = GameManager.instance.CurrentGamePhase.GetEnumDescription();

        effectBarUI.RefreshEffectList();
    }
Пример #2
0
 public void ShowMapKeyOfType(MapGrid.MapFilters mapFilter = MapGrid.MapFilters.Colour)
 {
     if (GameManager.instance.sceneManager.ActiveScene == SceneList.GameplayScene)
     {
         gameplayUI.ShowKeyOfFilter(mapFilter);
     }
     else
     {
         throw new Exception("Not a valid scene to show map key");
     }
 }
Пример #3
0
 public void ShowKeyOfFilter(MapGrid.MapFilters mapFilter = MapGrid.MapFilters.Colour)
 {
     if (mapFilter == MapGrid.MapFilters.Colour)
     {
         keyDisplay.SetActive(false);
         GameManager.instance.mapGrid.SwitchMapFilter(mapFilter);
     }
     else
     {
         keyDisplay.SetActive(true);
         mapKey.ChangeMapFilter((int)mapFilter);
     }
 }
Пример #4
0
    public void ShowMapKey()
    {
        keyDisplay.SetActive(!keyDisplay.activeSelf);

        if (keyDisplay.activeSelf)
        {
            mapKey.ChangeMapFilter((int)CurrentMapFilter);
        }
        else
        {
            CurrentMapFilter = mapKey.CurrentFilter;
            GameManager.instance.mapGrid.SwitchMapFilter(MapGrid.MapFilters.Colour);
        }
    }
Пример #5
0
    /// <summary>
    ///
    /// Refresh the key to display the correct elements
    ///
    /// </summary>
    /// <param name="objectiveList">Only required if the key elements are for an objective map</param>
    public void RefreshKey(MapGrid.MapFilters keyType, List <Objective> objectiveList = null)
    {
        noKeyText.SetActive(false);
        GameManager.DestroyAllChildren(keyColourParent);
        CurrentFilter = keyType;

        //Constructs the key detail list based on the type of filter utilised. Key Detail requires a name and colour
        var keyDetailList = new List <KeyDetails>();

        switch (keyType)
        {
        case MapGrid.MapFilters.Terrain:
            foreach (var terrainKey in Enum.GetValues(typeof(TerrainTypes)).Cast <TerrainTypes>())
            {
                keyDetailList.Add(new KeyDetails()
                {
                    KeyColour = GameManager.instance.colourManager.GetTerrainColour(terrainKey),
                    KeyText   = terrainKey.ToString(),
                });
            }
            break;

        case MapGrid.MapFilters.Deployment:
            for (int i = 0; i < NUM_PLAYERS; i++)
            {
                keyDetailList.Add(new KeyDetails()
                {
                    KeyColour = GameManager.instance.colourManager.GetPlayerColour(i),
                    KeyText   = $"Player {i + 1}",
                });
            }
            break;

        case MapGrid.MapFilters.Objective:
            foreach (var objective in objectiveList)
            {
                keyDetailList.Add(new KeyDetails()
                {
                    KeyColour = objective.Color,
                    KeyText   = objective.Name,
                });
            }

            if (objectiveList.Count == 0)
            {
                noKeyText.SetActive(true);
            }
            break;

        //Other cases have no key
        case MapGrid.MapFilters.Colour:
        default:
            noKeyText.SetActive(true);
            break;
        }

        //Create each element in the key
        foreach (var key in keyDetailList)
        {
            var keyObject = Instantiate(keyColourPrefab, keyColourParent.transform);
            keyObject.GetComponent <KeyColourObject>().RefreshKeyElement(key.KeyColour, key.KeyText);
        }

        keyScrollView.vertical = keyDetailList.Count > 6;
    }
Пример #6
0
 private void Start()
 {
     CurrentFilter = MapGrid.MapFilters.Colour;
 }