Working? MVP of the minigame
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user