Implement MVP for the statue decoration minigame (#65)
MVP implemented with: - placing, removing etc. decorations - saving the state, displaying it on the map, restoring when game restarts - saving screenshots to folder on device Co-authored-by: Michal Pikulski <michal@foolhardyhorizons.com> Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com> Reviewed-on: #65
This commit is contained in:
@@ -188,10 +188,21 @@ namespace AppleHills.Core.Settings
|
||||
float HoverAnimationDuration { get; }
|
||||
float PlacementAnimationDuration { get; }
|
||||
|
||||
// Addressables
|
||||
string DecorationDataLabel { get; }
|
||||
|
||||
// Photo Settings
|
||||
string PhotoSaveKey { get; }
|
||||
int PhotoQuality { get; }
|
||||
bool CaptureFullScreen { get; }
|
||||
string CutoutPhotoFilename { get; } // Hardcoded filename for transparent cutout version
|
||||
|
||||
// Photo Gallery (DEPRECATED - Feature temporarily disabled)
|
||||
int GalleryItemsPerPage { get; }
|
||||
int GalleryThumbnailSize { get; }
|
||||
int GalleryMaxCachedThumbnails { get; }
|
||||
float GalleryEnlargedScale { get; }
|
||||
float GalleryAnimationDuration { get; }
|
||||
|
||||
// Rewards
|
||||
int CardsRewardCount { get; }
|
||||
|
||||
@@ -49,6 +49,10 @@ namespace Core.Settings
|
||||
[Tooltip("Duration for placement animation")]
|
||||
[SerializeField] private float placementAnimationDuration = 0.15f;
|
||||
|
||||
[Header("Addressables")]
|
||||
[Tooltip("Addressables label for loading DecorationData assets")]
|
||||
[SerializeField] private string decorationDataLabel = "StatueDecorations";
|
||||
|
||||
[Header("Photo Settings")]
|
||||
[Tooltip("PlayerPrefs key for saving the statue photo")]
|
||||
[SerializeField] private string photoSaveKey = "MrCementStatuePhoto";
|
||||
@@ -59,6 +63,16 @@ namespace Core.Settings
|
||||
[Tooltip("Whether to capture full screen or just statue area")]
|
||||
[SerializeField] private bool captureFullScreen;
|
||||
|
||||
[Tooltip("Filename for transparent cutout version (overwrites each time)")]
|
||||
[SerializeField] private string cutoutPhotoFilename = "StatueCutout_Latest";
|
||||
|
||||
[Header("Photo Gallery - DEPRECATED (Feature Disabled)")]
|
||||
[HideInInspector] [SerializeField] private int galleryItemsPerPage = 20;
|
||||
[HideInInspector] [SerializeField] private int galleryThumbnailSize = 256;
|
||||
[HideInInspector] [SerializeField] private int galleryMaxCachedThumbnails = 50;
|
||||
[HideInInspector] [SerializeField] private float galleryEnlargedScale = 2.5f;
|
||||
[HideInInspector] [SerializeField] private float galleryAnimationDuration = 0.3f;
|
||||
|
||||
[Header("Rewards")]
|
||||
[Tooltip("Number of Blokkemon cards awarded on completion")]
|
||||
[SerializeField] private int cardsRewardCount = 3;
|
||||
@@ -97,10 +111,21 @@ namespace Core.Settings
|
||||
public float HoverAnimationDuration => hoverAnimationDuration;
|
||||
public float PlacementAnimationDuration => placementAnimationDuration;
|
||||
|
||||
// IStatueDressupSettings implementation - Addressables
|
||||
public string DecorationDataLabel => decorationDataLabel;
|
||||
|
||||
// IStatueDressupSettings implementation - Photo Settings
|
||||
public string PhotoSaveKey => photoSaveKey;
|
||||
public int PhotoQuality => photoQuality;
|
||||
public bool CaptureFullScreen => captureFullScreen;
|
||||
public string CutoutPhotoFilename => cutoutPhotoFilename;
|
||||
|
||||
// IStatueDressupSettings implementation - Photo Gallery (DEPRECATED)
|
||||
public int GalleryItemsPerPage => galleryItemsPerPage;
|
||||
public int GalleryThumbnailSize => galleryThumbnailSize;
|
||||
public int GalleryMaxCachedThumbnails => galleryMaxCachedThumbnails;
|
||||
public float GalleryEnlargedScale => galleryEnlargedScale;
|
||||
public float GalleryAnimationDuration => galleryAnimationDuration;
|
||||
|
||||
// IStatueDressupSettings implementation - Rewards
|
||||
public int CardsRewardCount => cardsRewardCount;
|
||||
|
||||
Reference in New Issue
Block a user