Newer
Older
SkyFrontier-Project-IADE-UE4-3D / Source / SkyFrontier / Public / MyPlayerState.h
@Genexuz Genexuz on 6 Dec 2022 1 KB idk matchmaking?
  1. // Fill out your copyright notice in the Description page of Project Settings.
  2. #pragma once
  3. #include "CoreMinimal.h"
  4. #include "GameFramework/PlayerState.h"
  5. #include "MyPlayerState.generated.h"
  6. USTRUCT()
  7. struct FSessionInfo
  8. {
  9. GENERATED_BODY()
  10. UPROPERTY()
  11. int id;
  12. UPROPERTY()
  13. FString name;
  14. UPROPERTY()
  15. FString serverip;
  16. UPROPERTY()
  17. int serverport;
  18. };
  19. UCLASS()
  20. class SKYFRONTIER_API AMyPlayerState : public APlayerState
  21. {
  22. GENERATED_BODY()
  23. public:
  24. void UpdateSessionsList(FString serverinfo);
  25. void ConnectToGameServer(FSessionInfo session);
  26. protected:
  27. virtual void BeginPlay() override;
  28. class TCPClient* tcpClient;
  29. UPROPERTY(EditDefaultsOnly, Category = "UI")
  30. TSubclassOf<class UUserWidget> MatchmakingWidgetClass;
  31. class UUserWidget* MatchmakingWidget;
  32. class UScrollBox* serverListScrollBoxWidget;
  33. TArray<FSessionInfo*> *serversList;
  34. FTimerHandle serverListTimerHandle;
  35. bool canConnectToGameServer;
  36. FSessionInfo connectToGameServerSession;
  37. UFUNCTION()
  38. void OnNewSessionClicked();
  39. UFUNCTION()
  40. void OnUpdateServerList();
  41. };