예제 #1
0
 public void Load()
 {
     XnaWrappedDialogs.ForEach(d => d.Load());
     XnaWrappedWindows.ForEach(w => w.Load());
     mouse.AsXnaGameLoop()?.Load();
     GenerateCursors().ForEach(c => cursors[c] = content.Load <Texture2D>(c.Source));
 }
예제 #2
0
 public void Draw(GameTime time)
 {
     XnaWrappedDialogs.ForEach(d => d.Draw(time));
     XnaWrappedWindows.ForEach(w => w.Draw(time));
     mouse.AsXnaGameLoop()?.Draw(time);
     spriteBatch.Draw(Cursor, new Vector2(mouse.X, mouse.Y), Color.White);
 }
예제 #3
0
        public override void Initialize()
        {
            base.Initialize();

            foreach (var type in GenerateDialogs())
            {
                var monoGameDialog = new MonoGameDialog(services, services.Make <Dialog>(type));
                Dialogs[type] = monoGameDialog;
                XnaWrappedDialogs.Add(monoGameDialog);
                monoGameDialog.Initialize();
            }

            foreach (var type in GenerateWindows())
            {
                var monoGameWindow = new MonoGameWindow(services, services.Make <Window>(type));
                Windows[type] = monoGameWindow;
                XnaWrappedWindows.Add(monoGameWindow);
                monoGameWindow.Initialize();
            }

            userInterface.Initialize();
            mouse.AsXnaGameLoop()?.Initialize();
        }
예제 #4
0
 public void Unload()
 {
     XnaWrappedDialogs.ForEach(d => d.Unload());
     XnaWrappedWindows.ForEach(w => w.Unload());
     mouse.AsXnaGameLoop()?.Unload();
 }
예제 #5
0
 public void Update(GameTime time)
 {
     mouse.AsXnaGameLoop()?.Update(time);
     XnaWrappedDialogs.ForEach(d => d.Update(time));
     XnaWrappedWindows.ForEach(w => w.Update(time));
 }