feat: send data to python

master
tiendat3699 2024-04-16 15:07:01 +07:00
parent c963f7a5fe
commit e19dad4b7d
4 changed files with 37 additions and 1 deletions

View File

@ -91,7 +91,19 @@ namespace GadGame.MiniGame
currentPosition.x = Mathf.Clamp(currentPosition.x, -2.25f, 2.25f); currentPosition.x = Mathf.Clamp(currentPosition.x, -2.25f, 2.25f);
_basket.position = currentPosition; _basket.position = currentPosition;
} }
}
public void ReleaseAllItem()
{
foreach (var pool in _bombPools)
{
pool.Clear();
}
foreach (var pool in _itemPools)
{
pool.Clear();
}
} }
public void SetTextTime(float time) public void SetTextTime(float time)

View File

@ -67,6 +67,28 @@ namespace GadGame.Network
} }
} }
public void SendDataToPython(string data)
{
try
{
string jsonData = JsonConvert.SerializeObject(data);
IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, _port);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(endPoint);
// Convert string data to bytes
byte[] byteData = Encoding.UTF8.GetBytes(jsonData);
// Send data to Python
socket.Send(byteData);
}
catch (Exception e)
{
Debug.LogError("Error sending data to Python: " + e.Message);
}
}
void OnDestroy() void OnDestroy()
{ {
_receiving = false; _receiving = false;

View File

@ -10,6 +10,7 @@ namespace GadGame.State.GameState
public override async void Enter() public override async void Enter()
{ {
Debug.Log("End Game"); Debug.Log("End Game");
Runner.ReleaseAllItem();
await UniTask.Delay(3000); await UniTask.Delay(3000);
GameManager.Instance.EndGame(); GameManager.Instance.EndGame();
} }

View File

@ -12,6 +12,7 @@ namespace GadGame.State.MainFlowState
public override async void Enter() public override async void Enter()
{ {
DataReceiver.Instance.SendDataToPython("{playingGame: true}");
await LoadSceneManager.Instance.LoadSceneWithTransitionAsync(Runner.SceneFlowConfig.GameScene.ScenePath); await LoadSceneManager.Instance.LoadSceneWithTransitionAsync(Runner.SceneFlowConfig.GameScene.ScenePath);
_gameManager = GameManager.Instance; _gameManager = GameManager.Instance;
_gameManager.OnEnd += OnEndGame; _gameManager.OnEnd += OnEndGame;
@ -43,7 +44,7 @@ namespace GadGame.State.MainFlowState
public override void Exit() public override void Exit()
{ {
DataReceiver.Instance.SendDataToPython("{playingGame: false}");
} }
private void OnEndGame() private void OnEndGame()