Pico Unreal Platform SDK
Pico_Room.h
1// Copyright 2022 Pico Technology Co., Ltd.All rights reserved.
2// This plugin incorporates portions of the Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc.In the United States of America and elsewhere.
3// Unreal® Engine, Copyright 1998 – 2022, Epic Games, Inc.All rights reserved.
4
5#pragma once
6
7#include "CoreMinimal.h"
8#include "UObject/NoExportTypes.h"
9#include "OnlineSubsystemPicoNames.h"
10#include "PPF_Platform.h"
11#include "Pico_Room.generated.h"
12//
13
14DECLARE_LOG_CATEGORY_EXTERN(PicoRoom, Log, All);
15class UPico_User;
16class UPico_DataStore;
17class UPico_UserArray;
18
19
20UCLASS(BlueprintType)
21class ONLINESUBSYSTEMPICO_API UPico_Room : public UObject
22{
23 GENERATED_BODY()
24
25private:
26 UPROPERTY()
27 UPico_DataStore* DataStore = nullptr;
28
29 UPROPERTY()
30 UPico_User* Owner = nullptr;
31
32 UPROPERTY()
33 UPico_UserArray* Users = nullptr;
34
35 FString Description = FString();
36
37 ppfID ID = 0;
38
39 FString RoomID = FString();
40
41 bool bIsMembershipLocked = false;
42
43 ERoomJoinPolicy RoomJoinPolicy = ERoomJoinPolicy::JoinPolicyUnknown;
44
45 ERoomJoinabilit RoomJoinabilit = ERoomJoinabilit::JoinabilityUnknown;
46
47 int32 MaxUserNum = 0;
48
49 ERoomType RoomType = ERoomType::TypeUnknown;
50
51public:
52 void InitParams(ppfRoom* InRoomHandle);
53
54 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
55 UPico_DataStore* GetDataStore();
56
57 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
58 UPico_User* GetOwner();
59
60 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
61 UPico_UserArray* GetUsers();
62
63 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
64 FString GetDescription();
65
66#if PLATFORM_ANDROID
67 ppfID GetppfID();
68#endif
69
70 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
71 FString GetRoomID();
72
73 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
74 bool GetIsMembershipLocked();
75
76 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
77 ERoomJoinPolicy GetJoinPolicy();
78
79 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
80 ERoomJoinabilit GetJoinability();
81
82 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
83 int32 GetMaxUsers();
84
85 UFUNCTION(BlueprintPure, Category = "Pico Platform|Room|Room")
86 ERoomType GetRoomType();
87};