diff --git a/Assets/Scripts/Core/Settings/SettingsInterfaces.cs b/Assets/Scripts/Core/Settings/SettingsInterfaces.cs index d1e6a2bb..98c8dfcf 100644 --- a/Assets/Scripts/Core/Settings/SettingsInterfaces.cs +++ b/Assets/Scripts/Core/Settings/SettingsInterfaces.cs @@ -247,10 +247,6 @@ namespace Core.Settings // Slingshot Configuration Common.Input.SlingshotConfig SlingshotSettings { get; } - // Block configurations - List MaterialConfigs { get; } - List SizeConfigs { get; } - // AI Difficulty Settings Minigames.FortFight.Data.AIDifficulty DefaultAIDifficulty { get; } // Default difficulty level for AI Minigames.FortFight.Data.AIDifficultyData GetAIDifficultyData(Minigames.FortFight.Data.AIDifficulty difficulty); @@ -297,10 +293,6 @@ namespace Core.Settings // Visual settings Color DamageColorTint { get; } - - // Helper methods - Minigames.FortFight.Settings.BlockMaterialConfig GetMaterialConfig(Minigames.FortFight.Data.BlockMaterial material); - Minigames.FortFight.Settings.BlockSizeConfig GetSizeConfig(Minigames.FortFight.Data.BlockSize size); } /// diff --git a/Assets/Scripts/Minigames/FortFight/Core/FortFightSettings.cs b/Assets/Scripts/Minigames/FortFight/Core/FortFightSettings.cs index 742a5850..30f80c46 100644 --- a/Assets/Scripts/Minigames/FortFight/Core/FortFightSettings.cs +++ b/Assets/Scripts/Minigames/FortFight/Core/FortFightSettings.cs @@ -4,7 +4,6 @@ using AppleHills.Core.Settings; using Common.Input; using Core.Settings; using Minigames.FortFight.Data; -using Minigames.FortFight.Settings; using UnityEngine; namespace Minigames.FortFight.Core @@ -29,24 +28,6 @@ namespace Minigames.FortFight.Core autoRegisterInput = false // TurnManager handles registration }; - [Header("Block Material Configurations")] - [Tooltip("HP and mass configurations for each material type")] - [SerializeField] private List materialConfigs = new List - { - new BlockMaterialConfig { material = BlockMaterial.Cardboard, baseHp = 20f, baseMass = 0.5f }, - new BlockMaterialConfig { material = BlockMaterial.Metal, baseHp = 50f, baseMass = 2f }, - new BlockMaterialConfig { material = BlockMaterial.Glass, baseHp = 15f, baseMass = 0.8f } - }; - - [Header("Block Size Configurations")] - [Tooltip("HP and mass multipliers for each size type")] - [SerializeField] private List sizeConfigs = new List - { - new BlockSizeConfig { size = BlockSize.Small, hpMultiplier = 1f, massMultiplier = 0.5f }, - new BlockSizeConfig { size = BlockSize.Medium, hpMultiplier = 1.5f, massMultiplier = 1f }, - new BlockSizeConfig { size = BlockSize.Large, hpMultiplier = 2f, massMultiplier = 2f } - }; - [Header("AI Difficulty Configurations")] [Tooltip("AI behavior parameters for each difficulty level")] [SerializeField] private List aiDifficultyConfigs = new List @@ -153,9 +134,6 @@ namespace Minigames.FortFight.Core public SlingshotConfig SlingshotSettings => slingshotSettings; - public List MaterialConfigs => materialConfigs; - public List SizeConfigs => sizeConfigs; - public AIDifficulty DefaultAIDifficulty => defaultAIDifficulty; public IReadOnlyList AIAllowedProjectiles => aiAllowedProjectiles; @@ -221,16 +199,6 @@ namespace Minigames.FortFight.Core return null; } - public BlockMaterialConfig GetMaterialConfig(BlockMaterial material) - { - return materialConfigs.FirstOrDefault(c => c.material == material); - } - - public BlockSizeConfig GetSizeConfig(BlockSize size) - { - return sizeConfigs.FirstOrDefault(c => c.size == size); - } - /// /// Get AI difficulty configuration data by difficulty level /// @@ -259,26 +227,9 @@ namespace Minigames.FortFight.Core { config?.Validate(); } + // Ensure defeat threshold is between 0 and 1 fortDefeatThreshold = Mathf.Clamp01(fortDefeatThreshold); - - // Ensure all materials are configured - foreach (BlockMaterial material in System.Enum.GetValues(typeof(BlockMaterial))) - { - if (!materialConfigs.Any(c => c.material == material)) - { - Debug.LogWarning($"[FortFightSettings] Missing configuration for material: {material}"); - } - } - - // Ensure all sizes are configured - foreach (BlockSize size in System.Enum.GetValues(typeof(BlockSize))) - { - if (!sizeConfigs.Any(c => c.size == size)) - { - Debug.LogWarning($"[FortFightSettings] Missing configuration for size: {size}"); - } - } } #endregion diff --git a/Assets/Scripts/Minigames/FortFight/Data/FortFightEnums.cs b/Assets/Scripts/Minigames/FortFight/Data/FortFightEnums.cs index 451e4ab0..4bddbcb6 100644 --- a/Assets/Scripts/Minigames/FortFight/Data/FortFightEnums.cs +++ b/Assets/Scripts/Minigames/FortFight/Data/FortFightEnums.cs @@ -21,25 +21,6 @@ GameOver } - /// - /// Material types for fort blocks - /// - public enum BlockMaterial - { - Cardboard, - Metal, - Glass - } - - /// - /// Size categories for fort blocks - /// - public enum BlockSize - { - Small, - Medium, - Large - } /// /// Types of projectiles available diff --git a/Assets/Scripts/Minigames/FortFight/Fort/FortBlock.cs b/Assets/Scripts/Minigames/FortFight/Fort/FortBlock.cs index 39eb496c..b6f4e16d 100644 --- a/Assets/Scripts/Minigames/FortFight/Fort/FortBlock.cs +++ b/Assets/Scripts/Minigames/FortFight/Fort/FortBlock.cs @@ -3,7 +3,6 @@ using Core; using Core.Lifecycle; using Core.Settings; using UnityEngine; -using Minigames.FortFight.Data; namespace Minigames.FortFight.Fort { @@ -17,11 +16,9 @@ namespace Minigames.FortFight.Fort #region Inspector Properties [Header("Block Configuration")] - [SerializeField] private BlockMaterial material = BlockMaterial.Cardboard; - [SerializeField] private BlockSize size = BlockSize.Medium; [SerializeField] private bool isWeakPoint = false; - [Tooltip("Fixed HP value for this block (default: 10)")] + [Tooltip("HP value for this block")] [SerializeField] private float blockHp = 10f; [Header("Weak Point Settings (if applicable)")] @@ -51,8 +48,6 @@ namespace Minigames.FortFight.Fort #region Properties - public BlockMaterial Material => material; - public BlockSize Size => size; public bool IsWeakPoint => isWeakPoint; public float CurrentHp => currentHp; public float MaxHp => maxHp; @@ -142,7 +137,7 @@ namespace Minigames.FortFight.Fort weakPointVisualIndicator.SetActive(isWeakPoint); } - Logging.Debug($"[FortBlock] {gameObject.name} initialized: {material} {size}, HP: {maxHp}"); + Logging.Debug($"[FortBlock] {gameObject.name} initialized, HP: {maxHp}"); } #endregion @@ -151,11 +146,9 @@ namespace Minigames.FortFight.Fort private void CalculateHp() { - // Use fixed block HP value (default 10) + // Use fixed block HP value from inspector maxHp = blockHp; currentHp = maxHp; - - Logging.Debug($"[FortBlock] {gameObject.name} initialized: {material} {size}, HP: {maxHp}"); } #endregion @@ -166,16 +159,9 @@ namespace Minigames.FortFight.Fort { if (rb2D == null) return; - // Get material config - var materialConfig = CachedSettings.GetMaterialConfig(material); - float baseMass = materialConfig?.baseMass ?? 1f; - - // Get size config - var sizeConfig = CachedSettings.GetSizeConfig(size); - float sizeMultiplier = sizeConfig?.massMultiplier ?? 1f; - - rb2D.mass = baseMass * sizeMultiplier; - rb2D.gravityScale = CachedSettings.PhysicsGravityScale; + // Mass is configured directly on the Rigidbody2D component in Unity Inspector + // Only set runtime physics properties here + rb2D.gravityScale = CachedSettings.BlockGravityScale; rb2D.collisionDetectionMode = CollisionDetectionMode2D.Continuous; } @@ -365,8 +351,8 @@ namespace Minigames.FortFight.Fort private void SpawnDestructionEffect() { // Placeholder for destruction particles - // TODO: Create material-specific destruction effects - Logging.Debug($"[FortBlock] Spawning destruction effect for {material} block"); + // TODO: Create destruction effects + Logging.Debug($"[FortBlock] Spawning destruction effect"); } /// diff --git a/Assets/Scripts/Minigames/FortFight/Fort/FortController.cs b/Assets/Scripts/Minigames/FortFight/Fort/FortController.cs index 72be1e25..06747965 100644 --- a/Assets/Scripts/Minigames/FortFight/Fort/FortController.cs +++ b/Assets/Scripts/Minigames/FortFight/Fort/FortController.cs @@ -237,7 +237,7 @@ namespace Minigames.FortFight.Fort if (ShowDebugInfo) { - Logging.Debug($"[FortController] Registered block: {block.gameObject.name} ({block.Material} {block.Size}, HP: {block.MaxHp})"); + Logging.Debug($"[FortController] Registered block: {block.gameObject.name} (HP: {block.MaxHp})"); } } } diff --git a/Assets/Scripts/Minigames/FortFight/Settings/BlockConfigs.cs b/Assets/Scripts/Minigames/FortFight/Settings/BlockConfigs.cs deleted file mode 100644 index cfca5934..00000000 --- a/Assets/Scripts/Minigames/FortFight/Settings/BlockConfigs.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using Minigames.FortFight.Data; -using UnityEngine; - -namespace Minigames.FortFight.Settings -{ - /// - /// Configuration for a specific block material (Cardboard, Metal, Glass). - /// - [Serializable] - public class BlockMaterialConfig - { - [Tooltip("The material type this configuration applies to")] - public BlockMaterial material; - - [Tooltip("Base HP for this material before size multiplier")] - public float baseHp; - - [Tooltip("Base mass for physics simulation before size multiplier")] - public float baseMass; - } - - /// - /// Configuration for a specific block size (Small, Medium, Large). - /// - [Serializable] - public class BlockSizeConfig - { - [Tooltip("The size type this configuration applies to")] - public BlockSize size; - - [Tooltip("HP multiplier applied to base material HP")] - public float hpMultiplier; - - [Tooltip("Mass multiplier applied to base material mass")] - public float massMultiplier; - } -} - diff --git a/Assets/Scripts/Minigames/FortFight/Settings/BlockConfigs.cs.meta b/Assets/Scripts/Minigames/FortFight/Settings/BlockConfigs.cs.meta deleted file mode 100644 index 3b227228..00000000 --- a/Assets/Scripts/Minigames/FortFight/Settings/BlockConfigs.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 731e8965ca0149d79420ee0b15a4e94f -timeCreated: 1764669813 \ No newline at end of file