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; } } }