Working MVP code for Valentines

This commit is contained in:
Michal Pikulski
2025-12-04 15:10:20 +01:00
parent 38e4cdcf88
commit 6d4080438d
44 changed files with 2731 additions and 294 deletions

View File

@@ -5,6 +5,7 @@ using AppleHills.Core.Settings;
using Core.Lifecycle;
using Core.Settings;
using Input;
using Minigames.Airplane.Settings;
using Minigames.FortFight.Core;
using UnityEngine;
@@ -175,6 +176,7 @@ namespace Core
var birdPooperSettings = SettingsProvider.Instance.LoadSettingsSynchronous<BirdPooperSettings>();
var statueDressupSettings = SettingsProvider.Instance.LoadSettingsSynchronous<StatueDressupSettings>();
var fortFightSettings = SettingsProvider.Instance.LoadSettingsSynchronous<FortFightSettings>();
var airplaneSettings = SettingsProvider.Instance.LoadSettingsSynchronous<AirplaneSettings>();
// Register settings with service locator
@@ -257,11 +259,21 @@ namespace Core
{
Debug.LogError("Failed to load FortFightSettings");
}
if (airplaneSettings != null)
{
ServiceLocator.Register<IAirplaneSettings>(airplaneSettings);
Logging.Debug("AirplaneSettings registered successfully");
}
else
{
Debug.LogError("Failed to load AirplaneSettings");
}
// Log success
_settingsLoaded = playerSettings != null && interactionSettings != null && minigameSettings != null
&& cardSystemSettings != null && birdPooperSettings != null && statueDressupSettings != null
&& fortFightSettings != null;
&& fortFightSettings != null && sortingGameSettings != null && airplaneSettings != null;
if (_settingsLoaded)
{
Logging.Debug("All settings loaded and registered with ServiceLocator");

View File

@@ -219,6 +219,9 @@ namespace AppleHills.Core.Settings
/// </summary>
public interface IFortFightSettings
{
// Slingshot Configuration
Common.Input.SlingshotConfig SlingshotSettings { get; }
// Block configurations
System.Collections.Generic.List<Minigames.FortFight.Settings.BlockMaterialConfig> MaterialConfigs { get; }
System.Collections.Generic.List<Minigames.FortFight.Settings.BlockSizeConfig> SizeConfigs { get; }
@@ -279,4 +282,29 @@ namespace AppleHills.Core.Settings
Minigames.FortFight.Settings.BlockMaterialConfig GetMaterialConfig(Minigames.FortFight.Data.BlockMaterial material);
Minigames.FortFight.Settings.BlockSizeConfig GetSizeConfig(Minigames.FortFight.Data.BlockSize size);
}
/// <summary>
/// Interface for Airplane minigame settings
/// </summary>
public interface IAirplaneSettings
{
// Slingshot Configuration
Common.Input.SlingshotConfig SlingshotSettings { get; }
// Flight Settings
float AirplaneMass { get; }
float MaxFlightTime { get; }
// Camera Settings
float CameraFollowSmoothing { get; }
float FlightCameraZoom { get; }
// Timing
float IntroDuration { get; }
float PersonIntroDuration { get; }
float EvaluationDuration { get; }
// Debug
bool ShowDebugLogs { get; }
}
}