Example #1
0
        private void ValidateGameState(GameState gameState)
        {
            var msg = new WorldLoaderProgress("Validating gamestate");

            Messenger.Default.Send(msg);

            var tcv    = new TileContentValidator();
            var issues = new List <string>();
            var cy     = this._worldSize.Y;
            var cx     = this._worldSize.X;

            for (int y = 0; y < cy; y++)
            {
                for (int x = 0; x < cx; x++)
                {
                    var tp    = new TilePos(x, y);
                    var items = gameState.GetItemsOnTile(tp).ToList();
                    if (!tcv.IsListOfObjectsValid(items, out string reason))
                    {
                        issues.Add(tp + ": " + reason);
                    }
                }
            }

            if (issues.Count != 0)
            {
                var message = string.Join("\r\n", issues);
                throw new InvalidOperationException(message);
            }
        }
Example #2
0
 private void UpdateLoadingScreenMessage(WorldLoaderProgress msg)
 {
     this._loadingMessage = msg.Message;
     this.ScreenManager.GraphicsDevice.Clear(Color.Black);
     this.Draw(new GameTime());
     this.ScreenManager.GraphicsDevice.Present();
 }
Example #3
0
        private void OnProgress(string message)
        {
            var msg = new WorldLoaderProgress(message);

            Messenger.Default.Send(msg);
        }