using AIImages.Helpers;
using Verse;
namespace AIImages.Components
{
///
/// Компонент для хранения данных AI-сгенерированного портрета пешки
///
public class PawnPortraitComp : ThingComp
{
///
/// Путь к сохраненному портрету
///
public string PortraitPath { get; set; }
///
/// Есть ли сохраненный портрет
///
public bool HasPortrait => !string.IsNullOrEmpty(PortraitPath);
///
/// Сохранение/загрузка данных
///
public override void PostExposeData()
{
base.PostExposeData();
string portraitPath = PortraitPath;
bool isSaving = Scribe.mode == LoadSaveMode.Saving;
bool isLoading = Scribe.mode == LoadSaveMode.LoadingVars;
DebugLogger.Log(
$"[AI Images] PostExposeData for {parent?.LabelShort} - Mode: {Scribe.mode}, Current path: '{PortraitPath}'"
);
Scribe_Values.Look(ref portraitPath, "aiPortraitPath", null);
if (isSaving)
{
DebugLogger.Log(
$"[AI Images] Saving portrait path for {parent?.LabelShort}: '{portraitPath}'"
);
}
else if (isLoading)
{
DebugLogger.Log(
$"[AI Images] Loading portrait path for {parent?.LabelShort}: '{portraitPath}'"
);
}
PortraitPath = portraitPath;
DebugLogger.Log(
$"[AI Images] PostExposeData completed for {parent?.LabelShort} - Final path: '{PortraitPath}', HasPortrait: {HasPortrait}"
);
}
}
}