Working? MVP of the minigame

This commit is contained in:
Michal Pikulski
2025-12-07 20:34:12 +01:00
parent 421c4d5cbd
commit ffdde1f5e1
67 changed files with 8370 additions and 192 deletions

View File

@@ -11,7 +11,40 @@ namespace Minigames.Airplane.Settings
[CreateAssetMenu(fileName = "AirplaneSettings", menuName = "AppleHills/Settings/Airplane", order = 9)]
public class AirplaneSettings : BaseSettings, IAirplaneSettings
{
[Header("Slingshot Configuration")]
[Header("=== AIRPLANE TYPES ===")]
[Header("Jet Plane")]
[SerializeField] private Data.AirplaneTypeConfig jetPlaneConfig = new Data.AirplaneTypeConfig
{
displayName = "Jet Plane",
abilityType = Data.AirplaneAbilityType.Jet
};
[SerializeField] private Data.JetAbilityConfig jetAbilityConfig = new Data.JetAbilityConfig();
[Header("Bobbing Plane")]
[SerializeField] private Data.AirplaneTypeConfig bobbingPlaneConfig = new Data.AirplaneTypeConfig
{
displayName = "Bobbing Plane",
abilityType = Data.AirplaneAbilityType.Bobbing
};
[SerializeField] private Data.BobbingAbilityConfig bobbingAbilityConfig = new Data.BobbingAbilityConfig();
[Header("Drop Plane")]
[SerializeField] private Data.AirplaneTypeConfig dropPlaneConfig = new Data.AirplaneTypeConfig
{
displayName = "Drop Plane",
abilityType = Data.AirplaneAbilityType.Drop
};
[SerializeField] private Data.DropAbilityConfig dropAbilityConfig = new Data.DropAbilityConfig();
[Header("Default Selection")]
[Tooltip("Which airplane type is selected by default")]
[SerializeField] private Data.AirplaneAbilityType defaultAirplaneType = Data.AirplaneAbilityType.Jet;
[Header("=== SLINGSHOT ===")]
[SerializeField] private SlingshotConfig slingshotSettings = new SlingshotConfig
{
maxDragDistance = 5f,
@@ -84,6 +117,21 @@ namespace Minigames.Airplane.Settings
#region IAirplaneSettings Implementation
public Data.AirplaneTypeConfig GetAirplaneConfig(Data.AirplaneAbilityType type)
{
return type switch
{
Data.AirplaneAbilityType.Jet => jetPlaneConfig,
Data.AirplaneAbilityType.Bobbing => bobbingPlaneConfig,
Data.AirplaneAbilityType.Drop => dropPlaneConfig,
_ => jetPlaneConfig // Fallback to jet
};
}
public Data.JetAbilityConfig JetAbilityConfig => jetAbilityConfig;
public Data.BobbingAbilityConfig BobbingAbilityConfig => bobbingAbilityConfig;
public Data.DropAbilityConfig DropAbilityConfig => dropAbilityConfig;
public Data.AirplaneAbilityType DefaultAirplaneType => defaultAirplaneType;
public SlingshotConfig SlingshotSettings => slingshotSettings;
public float AirplaneMass => airplaneMass;
public float MaxFlightTime => maxFlightTime;