Make a generic booster pack giver

This commit is contained in:
Michal Pikulski
2025-12-15 11:59:40 +01:00
parent e2b74b1ea5
commit bb332933ec
64 changed files with 1228 additions and 312 deletions

View File

@@ -1,6 +1,7 @@
using UnityEngine;
using AppleHills.Core.Settings;
using UnityEngine;
namespace AppleHills.Core.Settings
namespace Core.Settings
{
/// <summary>
/// Settings for the card system - controls animations, interactions, and progression
@@ -47,6 +48,10 @@ namespace AppleHills.Core.Settings
[Tooltip("Default animation duration when not specified in seconds")]
[SerializeField] private float defaultAnimationDuration = 0.3f;
[Header("UI Prefabs")]
[Tooltip("Prefab for the booster pack reward UI displayed after minigames")]
[SerializeField] private GameObject boosterPackRewardPrefab;
// ICardSystemSettings implementation - Idle Hover Animations
public float IdleHoverHeight => idleHoverHeight;
public float IdleHoverDuration => idleHoverDuration;
@@ -70,6 +75,9 @@ namespace AppleHills.Core.Settings
// ICardSystemSettings implementation - General Animation
public float DefaultAnimationDuration => defaultAnimationDuration;
// ICardSystemSettings implementation - UI Prefabs
public GameObject BoosterPackRewardPrefab => boosterPackRewardPrefab;
public override void OnValidate()
{
base.OnValidate();

View File

@@ -1,4 +1,5 @@
using UnityEngine;
using Core.Settings;
using UnityEngine;
namespace AppleHills.Core.Settings
{

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using Core.Settings;
using UnityEngine;
using Interactions;

View File

@@ -1,4 +1,5 @@
using UnityEngine;
using Core.Settings;
using UnityEngine;
namespace AppleHills.Core.Settings
{

View File

@@ -1,8 +1,9 @@
using UnityEngine;
using System.Collections.Generic;
using System.Collections.Generic;
using AppleHills.Core.Settings;
using Minigames.StatueDressup.Data;
using UnityEngine;
namespace AppleHills.Core.Settings
namespace Core.Settings
{
/// <summary>
/// Enum defining the different input modes for photo taking
@@ -177,6 +178,9 @@ namespace AppleHills.Core.Settings
// General Animation
float DefaultAnimationDuration { get; }
// UI Prefabs
GameObject BoosterPackRewardPrefab { get; }
}
/// <summary>
@@ -244,8 +248,8 @@ namespace AppleHills.Core.Settings
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; }
List<Minigames.FortFight.Settings.BlockMaterialConfig> MaterialConfigs { get; }
List<Minigames.FortFight.Settings.BlockSizeConfig> SizeConfigs { get; }
// AI Difficulty Settings
Minigames.FortFight.Data.AIDifficulty DefaultAIDifficulty { get; } // Default difficulty level for AI
@@ -286,7 +290,7 @@ namespace AppleHills.Core.Settings
float CeilingFanDropSpeed { get; } // Downward velocity when dropping (m/s)
// Projectile Configurations
System.Collections.Generic.IReadOnlyList<Minigames.FortFight.Data.ProjectileConfig> ProjectileConfigs { get; }
IReadOnlyList<Minigames.FortFight.Data.ProjectileConfig> ProjectileConfigs { get; }
Minigames.FortFight.Data.ProjectileConfig GetProjectileConfig(Minigames.FortFight.Data.ProjectileType type);
Minigames.FortFight.Data.ProjectileConfig GetProjectileConfigById(string projectileId);