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}" ); } } }