Implement "Save Images to Server" feature in AIImages mod, allowing users to save generated images to the Stable Diffusion server. Update UI with new settings option and localized strings in English and Russian. Upgrade StableDiffusionNet.Core dependency to version 1.1.2. Update AIImages.dll to reflect these changes.

This commit is contained in:
Leonid Pershin
2025-10-27 00:03:26 +03:00
parent 9fb05e4e7e
commit 379865a6aa
10 changed files with 16 additions and 3 deletions

View File

@@ -18,6 +18,6 @@
<ItemGroup>
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.6.4566" />
<PackageReference Include="Lib.Harmony" Version="2.4.1" />
<PackageReference Include="StableDiffusionNet.Core" Version="1.1.1" />
<PackageReference Include="StableDiffusionNet.Core" Version="1.1.2" />
</ItemGroup>
</Project>

View File

@@ -15,6 +15,7 @@ namespace AIImages.Models
public string Scheduler { get; set; }
public int Seed { get; set; }
public string Model { get; set; }
public bool SaveImagesToServer { get; set; }
}
/// <summary>

View File

@@ -84,7 +84,7 @@ namespace AIImages.Services
SamplerName = request.Sampler,
Scheduler = request.Scheduler,
Seed = request.Seed,
// SaveImages и SendImages не нужны - библиотека всегда возвращает изображения
SaveImages = request.SaveImagesToServer, // Сохранять ли изображения на сервере
};
// Выполняем запрос через библиотеку (с встроенной retry логикой)

View File

@@ -48,6 +48,7 @@ namespace AIImages.Settings
public bool autoLoadModels = true;
public bool showTechnicalInfo = true;
public bool saveGenerationHistory = true;
public bool saveImagesToServer = false;
public override void ExposeData()
{
@@ -76,6 +77,7 @@ namespace AIImages.Settings
Scribe_Values.Look(ref autoLoadModels, "autoLoadModels", true);
Scribe_Values.Look(ref showTechnicalInfo, "showTechnicalInfo", true);
Scribe_Values.Look(ref saveGenerationHistory, "saveGenerationHistory", true);
Scribe_Values.Look(ref saveImagesToServer, "saveImagesToServer", false);
base.ExposeData();
}

View File

@@ -30,7 +30,7 @@ namespace AIImages
InitializeBuffers(settings);
Listing_Standard listingStandard = new Listing_Standard();
Rect viewRect = new Rect(0f, 0f, inRect.width - 20f, 1200f);
Rect viewRect = new Rect(0f, 0f, inRect.width - 20f, 1250f);
Widgets.BeginScrollView(inRect, ref scrollPosition, viewRect);
listingStandard.Begin(viewRect);
@@ -361,6 +361,11 @@ namespace AIImages
"AIImages.Settings.SaveHistory".Translate(),
ref settings.saveGenerationHistory
);
listingStandard.CheckboxLabeled(
"AIImages.Settings.SaveImagesToServer".Translate(),
ref settings.saveImagesToServer,
"AIImages.Settings.SaveImagesToServerTooltip".Translate()
);
listingStandard.Gap(12f);

View File

@@ -204,6 +204,7 @@ namespace AIImages
Scheduler = generationSettings.Scheduler,
Seed = generationSettings.Seed,
Model = AIImagesMod.Settings.apiEndpoint,
SaveImagesToServer = AIImagesMod.Settings.saveImagesToServer,
};
// Создаем отдельный CancellationTokenSource для мониторинга прогресса