2024-04-15 04:10:00 -07:00
|
|
|
using UnityEngine;
|
|
|
|
using GadGame.MiniGame;
|
2024-04-25 23:57:30 -07:00
|
|
|
using GadGame.Manager;
|
2024-05-24 01:16:15 -07:00
|
|
|
using GadGame.Network;
|
2024-04-15 04:10:00 -07:00
|
|
|
|
|
|
|
namespace GadGame.State.GameState
|
|
|
|
{
|
|
|
|
public class PlayingGameState : State<MiniGameController>
|
|
|
|
{
|
|
|
|
private float _playingTime;
|
|
|
|
|
2024-05-24 01:16:15 -07:00
|
|
|
public override async void Enter()
|
2024-04-15 04:10:00 -07:00
|
|
|
{
|
2024-05-24 01:16:15 -07:00
|
|
|
await P4PGraphqlManager.Instance.CreateGuest();
|
|
|
|
await P4PGraphqlManager.Instance.JoinPromotion();
|
2024-04-25 23:57:30 -07:00
|
|
|
GameManager.Instance.StartPlay();
|
2024-04-19 03:46:17 -07:00
|
|
|
Runner.SetActive(true);
|
2024-04-15 04:10:00 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public override void Update(float time)
|
|
|
|
{
|
2024-04-23 20:04:04 -07:00
|
|
|
Runner.PlayerControl();
|
2024-04-15 04:10:00 -07:00
|
|
|
if(time < 1) return;
|
|
|
|
_playingTime += Time.deltaTime;
|
|
|
|
var remainingTime = Mathf.Clamp(Runner.GameTime - _playingTime, 0, Runner.GameTime);
|
|
|
|
Runner.SetTextTime(remainingTime);
|
|
|
|
Runner.SpawnRandomItem();
|
|
|
|
if (_playingTime >= Runner.GameTime)
|
|
|
|
{
|
2024-05-24 01:16:15 -07:00
|
|
|
UdpSocket.Instance.SendDataToPython("Done");
|
2024-04-15 04:10:00 -07:00
|
|
|
Runner.SetState<EndGameState>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void Exit()
|
|
|
|
{
|
2024-04-25 23:57:30 -07:00
|
|
|
GameManager.Instance.EndPlay();
|
2024-04-15 04:10:00 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|