using Robust.Shared.Serialization;
using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
namespace Content.Shared._Sunrise.CartridgeLoader.Cartridges;
///
/// Компонент фото-картриджа для КПК
///
[RegisterComponent]
public sealed partial class PhotoCartridgeComponent : Component
{
///
/// Галерея фотографий пользователя (PhotoId -> PhotoMetadata)
///
[ViewVariables]
public Dictionary PhotoGallery = new();
///
/// Звук срабатывания затвора
///
[DataField]
public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/_Sunrise/camera_shot.ogg");
///
/// Эффект вспышки
///
[DataField]
public EntProtoId FlashEffect = "PhotoFlashEffect";
///
/// Включена ли вспышка (пользовательская настройка)
///
[DataField]
public bool FlashEnabled = true;
}
///
/// Метаданные фотографии в галерее
///
[Serializable, NetSerializable]
public sealed class PhotoMetadata
{
///
/// Уникальный идентификатор фотографии (GUID)
///
public string PhotoId { get; set; }
///
/// Путь к сетевому ресурсу изображения (например, "/NetTextures/Messenger/photo_123.png")
///
public string ImagePath { get; set; }
///
/// Время создания фотографии (относительно начала раунда)
///
public TimeSpan Timestamp { get; set; }
public PhotoMetadata(string photoId, string imagePath, TimeSpan timestamp)
{
PhotoId = photoId;
ImagePath = imagePath;
Timestamp = timestamp;
}
}