64 lines
1.7 KiB
C#
64 lines
1.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class EnterNameState : IState
|
|
{
|
|
TextInput textInput;
|
|
GameManager gm;
|
|
PlayerStatsRecord record;
|
|
|
|
private string name;
|
|
public void enter()
|
|
{
|
|
gm = GameManager.instance;
|
|
|
|
textInput = gm.nameInput;
|
|
textInput.gameObject.SetActive(true);
|
|
textInput.Initialize();
|
|
}
|
|
|
|
public void exit()
|
|
{
|
|
|
|
textInput.gameObject.SetActive(false);
|
|
|
|
//вот тут получаем время и ходы.надо их считать
|
|
|
|
|
|
gm.StatsService.AddRecord(record);
|
|
//Тут же запись в бд будет
|
|
}
|
|
|
|
public void update()
|
|
{
|
|
int discreteDir = 0;
|
|
if (In.GetButtonDown(ButtonPinMapping.left1)) discreteDir -= 1;
|
|
if (In.GetButtonDown(ButtonPinMapping.right1)) discreteDir += 1;
|
|
|
|
int continiousDir = 0;
|
|
if (In.GetButton(ButtonPinMapping.left2)) continiousDir -= 1;
|
|
if (In.GetButton(ButtonPinMapping.right2)) continiousDir += 1;
|
|
|
|
textInput.SwitchSlot(discreteDir);
|
|
textInput.SwitchLetter(continiousDir);
|
|
|
|
if (In.GetButtonDownAnyPlayer(PlayerAction.down))
|
|
{
|
|
name = textInput.AcceptAndClose();
|
|
|
|
//формирование записи
|
|
int time = (int)gm.vsBotThinkTime;
|
|
int moves = gm.vsBotMoves;
|
|
Debug.Log($"Записываю {name} {time} {moves}");
|
|
record = new PlayerStatsRecord(name, time, moves);
|
|
|
|
|
|
//gm.stateMachine.ChangeState(new ClearFieldState(true, CellState.Player1));
|
|
gm.stateMachine.ChangeState(new LeaderboardState(record));
|
|
|
|
}
|
|
|
|
}
|
|
}
|