2025-08-11 19:36:09 +02:00

59 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;
using ImGuiNET.SampleProgram.XNA;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using skyscraper5.Skyscraper.Plugins;
namespace skyscraper8.UI.ImGui.MonoGame.Screenhacks
{
[PluginPriority(1)]
[DisplayName("Your Waifu")]
internal class _1_YourWaifu : IScreenhack
{
private bool disabled;
private FileInfo fileInfo;
public _1_YourWaifu()
{
DirectoryInfo di = new DirectoryInfo("wallpapers");
if (!di.Exists)
{
disabled = true;
return;
}
FileInfo[] files = di.GetFiles("*.png");
fileInfo = new Random().NextItem(files);
}
public void Draw(GameTime gameTime, SpriteBatch spriteBatch, Rectangle windowBounds)
{
if (disabled)
return;
if (texture2D == null)
return;
spriteBatch.Draw(texture2D, windowBounds, Color.White);
}
private Texture2D texture2D;
public void SetGraphicsDevice(GraphicsDevice graphicsDevice, Rectangle presentationParametersBounds)
{
if (disabled)
return;
texture2D = Texture2D.FromFile(graphicsDevice, fileInfo.FullName);
}
public void Dispose()
{
texture2D.Dispose();
}
}
}