示例#1
0
        private string GetUIStatusCss()
        {
            string matchmodeCSS = GameState.Value.MatchType switch
            {
                MatchType.PlaceTheName => "--place-the-name",
                MatchType.PlaceTheSymbol => "--place-the-symbol",
                _ => throw new NotImplementedException(GameState.Value.MatchType.ToString())
            };

            string sceneTypeCss = NavigationState.Value.Scene switch
            {
                SceneType.ElementsMatchGameOver => "--game-over",
                SceneType.TransitionFromElementsMatchGameToGameOver => "--game-over-sequence",
                SceneType.ElementsMatchGame => "--gameplay",
                SceneType.MainMenu => "",
                _ => throw new NotImplementedException(NavigationState.Value.Scene.ToString())
            };

            string highlightedElementGroup = "";
            byte?  expectedAtomicNumber    = GameState.Value.ExpectedElement;

            if (GameState.Value.HighlighElementsInExpectedGroup && expectedAtomicNumber.HasValue)
            {
                ElementGroup expectedElementGroup =
                    TableOfElementsData.ElementByNumber[expectedAtomicNumber.Value].Group;
                highlightedElementGroup = "--highlight-group" + expectedElementGroup.GetAsCssClass();
            }

            return($"{matchmodeCSS} {sceneTypeCss} {highlightedElementGroup}");
        }