Example #1
0
        void InitializeBoard()
        {
            BlazorBricks.Core.GameManager.Instance.Presenter.InitializeBoard();
            boardViewModel = BlazorBricks.Core.GameManager.Instance.CurrentBoard;

            this.StateHasChanged();
        }
Example #2
0
        protected override async Task OnInitAsync()
        {
            OnKeyUp.Action = async value =>
            {
                ConsoleKey consoleKey = (ConsoleKey)Enum.Parse(typeof(ConsoleKey), value);

                var presenter = BlazorBricks.Core.GameManager.Instance.Presenter;

                switch (consoleKey)
                {
                case ConsoleKey.LeftArrow:
                    presenter.MoveLeft();
                    break;

                case ConsoleKey.RightArrow:
                    presenter.MoveRight();
                    break;

                case ConsoleKey.UpArrow:
                    presenter.Rotate90();
                    break;

                case ConsoleKey.DownArrow:
                    presenter.MoveDown();
                    break;

                default:
                    break;
                }
                this.StateHasChanged();
            };

            boardViewModel = BlazorBricks.Core.GameManager.Instance.CurrentBoard;

            Object thisLock = new Object();

            BlazorBricks.Core.GameManager.Instance.Presenter.Updated
                += (obj, e) =>
                {
                lock (thisLock)
                {
                    boardViewModel = BlazorBricks.Core.GameManager.Instance.CurrentBoard;
                    this.StateHasChanged();
                };
                };

            InitializeBoard();
        }