Simple Pigman AI
This commit is contained in:
committed by
Michal Pikulski
parent
e60d516e7e
commit
edb83ef13d
51
Assets/Scripts/Minigames/FortFight/Data/AIDifficultyData.cs
Normal file
51
Assets/Scripts/Minigames/FortFight/Data/AIDifficultyData.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Minigames.FortFight.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Configuration data for AI difficulty levels.
|
||||
/// Defines how accurate and fast the AI behaves at each difficulty tier.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public struct AIDifficultyData
|
||||
{
|
||||
[Tooltip("Angle deviation in degrees (±)")]
|
||||
public float angleDeviation;
|
||||
|
||||
[Tooltip("Force/speed deviation as percentage (0.2 = ±20%)")]
|
||||
public float forceDeviation;
|
||||
|
||||
[Tooltip("Minimum thinking time in seconds")]
|
||||
public float thinkTimeMin;
|
||||
|
||||
[Tooltip("Maximum thinking time in seconds")]
|
||||
public float thinkTimeMax;
|
||||
|
||||
/// <summary>
|
||||
/// Create AI difficulty data with specified parameters
|
||||
/// </summary>
|
||||
public AIDifficultyData(float angleDeviation, float forceDeviation, float thinkTimeMin, float thinkTimeMax)
|
||||
{
|
||||
this.angleDeviation = angleDeviation;
|
||||
this.forceDeviation = forceDeviation;
|
||||
this.thinkTimeMin = thinkTimeMin;
|
||||
this.thinkTimeMax = thinkTimeMax;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wrapper class to serialize AI difficulty configuration in Unity inspector.
|
||||
/// Maps difficulty level to its configuration data.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class AIDifficultyConfig
|
||||
{
|
||||
[Tooltip("Difficulty level")]
|
||||
public AIDifficulty difficulty;
|
||||
|
||||
[Tooltip("Configuration data for this difficulty")]
|
||||
public AIDifficultyData data;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user