// © 2025 Naked People Team. All Rights Reserved.

#pragma once

inline const FString DefaultSaveSlotName = TEXT("Slot1");
#define SLOT_PLAYER 0
#define IS_DEMO false
#define STARTING_MONEY 1000

// --- Time of day / calendar (GDD §2.4, §10.1; tuning §21) ---
// 1440 in-game minutes elapse over the ~90 real-minute day/night cycle.
inline constexpr float INGAME_MINUTES_PER_REAL_SECOND = 1.0f;
inline constexpr int32 MINUTES_PER_HOUR = 60;
inline constexpr int32 MINUTES_PER_DAY = 1440;
inline constexpr float DAY_START_HOUR = 8.0f;     // 08:00 — day phase begins (§10.1)
inline constexpr float NIGHT_START_HOUR = 20.0f;  // 20:00 — night phase begins (§10.1)
inline constexpr int32 DAY_ROLL_HOUR = 4;         // 04:00 — calendar day increments (§20 #25)
inline constexpr float SLEEP_DURATION_HOURS = 8.0f; // §2.4 sleep fast-forwards 8 hours
inline constexpr float SLEEP_TRANSITION_SECONDS = 3.0f; // real seconds to sweep the sky across the sleep skip
inline constexpr int32 CAMPAIGN_LENGTH_DAYS = 90; // §3.3 survive 90 days
inline constexpr int32 WEEK_LENGTH_DAYS = 7;      // §2.4 rent due each week
inline constexpr float WEEKLY_RENT = 20000.0f;    // §15.3 early-tier placeholder (§21 tuning)

// How often the current time is pushed to the sky actor. Decoupled from the in-game
// minute so the sun moves smoothly regardless of how fast the clock runs.
inline constexpr double SKY_PUSH_INTERVAL_SECONDS = 1.0 / 30.0; // 30fps

