chip-gameV3/Assets/Scripts/GameFSM/LeaderboardState.cs
2026-07-14 11:14:13 +03:00

43 lines
1.3 KiB
C#

using UnityEngine;
//показ таблицы лидеров после победы.
public class LeaderboardState : IState
{
PlayerStatsRecord record;
Leaderboard leaderboard;
public LeaderboardState(PlayerStatsRecord record)
{
this.record = record;
}
public void enter()
{
leaderboard = GameManager.instance.leaderboard;
leaderboard.gameObject.SetActive(true);
leaderboard.Initialize();
PlayerStatsRecord lastRecord = GameManager.instance.StatsService.GetLatestRecord();
leaderboard.DisplayCurrentPlayer(record);
}
public void exit()
{
leaderboard.ClearRowsText();
leaderboard.gameObject.SetActive(false);
}
public void update()
{
bool keepDownButton = In.GetButtonAnyPlayer(PlayerAction.down);
float accelerationSign = keepDownButton ? 1 : -1f;
leaderboard.accelerationY = Mathf.Abs(leaderboard.accelerationY) * accelerationSign;
if (In.GetButtonDownAnyPlayer(PlayerAction.left) && In.GetButtonDownAnyPlayer(PlayerAction.right))
{
FieldCleaner.Clear();
//GameManager.instance.stateMachine.ChangeState(new MenuState(fromGameplay: true));
GameManager.instance.stateMachine.ChangeState(new MenuState());
}
}
}