Danro-Jump/Assets/Scripts/Runtime/Gameplay/IPlayerController.cs
Danil Iarosh cbc49d4384 Decouple gameplay sessions and camera follow from concrete JumpPlayerController
- Создан интерфейс IPlayerController, абстрагирующий состояние и действия игрока.
- JumpPlayerController изменен для реализации интерфейса IPlayerController.
- GameplaySession и VerticalCameraFollow переведены на использование IPlayerController для ослабления связей.
- В GameplayInstaller добавлена регистрация зависимости IPlayerController в Zenject.
2026-06-23 10:56:44 +03:00

24 lines
703 B
C#

using UnityEngine;
namespace DanroJump.Gameplay
{
/// <summary>
/// Интерфейс управления игроком для ослабления связей и переиспользования логики сессий/камеры.
/// </summary>
public interface IPlayerController
{
event System.Action<IPlayerController> Died;
event System.Action<IPlayerController> Respawned;
Transform Transform { get; }
float HighestY { get; }
float DeathRespawnDelay { get; }
void ResetRun();
void BlockPendingRespawn();
void AllowRespawn();
void Respawn();
void ScheduleRespawn(float delay);
}
}