using UnityEngine;
using Zenject;
namespace DanroJump.Gameplay
{
///
/// Контекст создания или рецикла платформы.
/// Передается платформе и дочерним lifecycle-компонентам.
///
public readonly struct PlatformSpawnContext
{
///
/// Создает контекст спавна платформы.
///
public PlatformSpawnContext(
DiContainer container,
JumpPlayerController player,
Camera gameplayCamera,
int spawnIndex,
bool isStartPlatform,
float worldY)
{
Container = container;
Player = player;
GameplayCamera = gameplayCamera;
SpawnIndex = spawnIndex;
IsStartPlatform = isStartPlatform;
WorldY = worldY;
}
///
/// DI-контейнер сцены для создания дочернего контента.
///
public DiContainer Container { get; }
///
/// Игрок текущей gameplay-сцены.
///
public JumpPlayerController Player { get; }
///
/// Камера gameplay-сцены.
///
public Camera GameplayCamera { get; }
///
/// Порядковый номер платформы в генерации.
///
public int SpawnIndex { get; }
///
/// True для стартовой платформы забега.
///
public bool IsStartPlatform { get; }
///
/// Y-координата платформы в мире.
///
public float WorldY { get; }
}
}