42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace FlappyBird.Pipes
|
|
{
|
|
[CreateAssetMenu(fileName = "PipeSettings", menuName = "FlappyBird/Pipe Settings")]
|
|
public class PipeSettings : ScriptableObject
|
|
{
|
|
[Header("Spawn")]
|
|
[Tooltip("Seconds between pipe spawns.")]
|
|
public float spawnInterval = 1.5f;
|
|
|
|
[Tooltip("World X position where new pipe pairs appear.")]
|
|
public float spawnX = 10f;
|
|
|
|
[Tooltip("World X position where pipe pairs are returned to the pool.")]
|
|
public float despawnX = -10f;
|
|
|
|
[Tooltip("Number of pipe pairs to create up front.")]
|
|
public int initialPoolSize = 4;
|
|
|
|
[Tooltip("Spawn the first pipe immediately when gameplay starts.")]
|
|
public bool spawnImmediately = false;
|
|
|
|
[Header("Movement")]
|
|
[Tooltip("Horizontal speed for active pipe pairs.")]
|
|
public float moveSpeed = 2.5f;
|
|
|
|
[Header("Gap")]
|
|
[Tooltip("Distance between the top and bottom pipes.")]
|
|
public float gapSize = 4f;
|
|
|
|
[Tooltip("Minimum vertical center position for the pipe gap.")]
|
|
public float minGapCenterY = -1.5f;
|
|
|
|
[Tooltip("Maximum vertical center position for the pipe gap.")]
|
|
public float maxGapCenterY = 2.5f;
|
|
|
|
[Tooltip("Width of the scoring trigger collider.")]
|
|
public float scoreTriggerWidth = 1f;
|
|
}
|
|
}
|