smart-interactive-display/Assets/GadGame/Scripts/State/GameState/PlayingGameState.cs

40 lines
1.1 KiB
C#
Raw Normal View History

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();
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
}
}
}