chip-game/Assets/Scripts/GameFSM/LeaderboardState.cs

40 lines
1.1 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(true, CellState.Player1);
}
}
}