PICO Unreal Platform SDK
Pico_Sport.h
1// Copyright® 2015-2023 PICO Technology Co., Ltd. All rights reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "UObject/NoExportTypes.h"
7#include "PPF_Platform.h"
8#include "OnlineSubsystemPicoNames.h"
9#include "OnlineSubsystemPico.h"
10#include "Pico_Sport.generated.h"
11
17
18DECLARE_LOG_CATEGORY_EXTERN(PicoSport, Log, All);
19
20
21DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetDailySummary, bool, bIsError, const FString&, ErrorMessage, UPico_SportDailySummaryArray*, SportDailySummaryArray);
22DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetSummary, bool, bIsError, const FString&, ErrorMessage, UPico_SportSummary*, SportSummary);
23DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetSportUserInfo, bool, bIsError, const FString&, ErrorMessage, UPico_SportUserInfo*, SportUserInfo);
24
36class ONLINESUBSYSTEMPICO_API FPicoSportInterface
37{
38private:
39
40 FOnlineSubsystemPico& PicoSubsystem;
41
42public:
43 FPicoSportInterface(FOnlineSubsystemPico& InSubsystem);
45
46 FGetDailySummary GetDailySummaryDelegate;
47 FGetSummary GetSummaryDelegate;
48 FGetSportUserInfo GetSportUserInfoDelegate;
49
50
66 bool GetDailySummary(int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
67
81 bool GetSummary(int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
82
94 bool GetSportUserInfo(FGetSportUserInfo InGetSportUserInfoDelegate);
95
96
97};
98
113UCLASS()
114class ONLINESUBSYSTEMPICO_API UOnlinePicoSportFunction : public UBlueprintFunctionLibrary
115{
116 GENERATED_BODY()
117
118public:
119
135 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
136 static bool GetDailySummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
137
152 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
153 static bool GetSummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
154
167 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
168 static bool GetSportUserInfo(UObject* WorldContextObject, FGetSportUserInfo InGetSportUserInfoDelegate);
169
177 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
178 static int64 ConvertDateTimeToInt64(FDateTime InDateTime);
179
187 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
188 static FDateTime ConvertInt64ToDateTime(int64 InValue);
189};
190 // end of BP_Sport // end of BlueprintFunction
193
195UCLASS(BlueprintType)
196class ONLINESUBSYSTEMPICO_API UPico_SportDailySummary : public UObject
197{
198 GENERATED_BODY()
199public:
200 void InitParams(ppfSportDailySummary* ppfSportDailySummaryHandle);
201
202private:
203 int64 ID = -1;
204 int64 Date = -1;
205 int32 DurationInSeconds = -1;
206 int32 PlanDurationInMinutes = -1;
207 float Calorie = 0;
208 float PlanCalorie = 0;
209
210public:
211
213 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
214 int64 GetID();
215
217 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
218 int64 GetDate();
219
221 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
222 int32 GetDurationInSeconds();
223
225 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
226 int32 GetPlanDurationInMinutes();
227
229 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
230 float GetCalorie();
231
233 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
234 float GetPlanCalorie();
235};
236
237
239UCLASS(BlueprintType)
240class ONLINESUBSYSTEMPICO_API UPico_SportDailySummaryArray : public UObject
241{
242 GENERATED_BODY()
243public:
244 void InitParams(ppfSportDailySummaryArray* ppfSportDailySummaryArrayHandle);
245
246private:
247 UPROPERTY()
248 TArray<UPico_SportDailySummary*> SportDailySummaryArray;
249 int32 Size;
250
251public:
252
254 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
255 int32 GetSize();
256
258 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
259 UPico_SportDailySummary* GetElement(int32 Index);
260};
261
262
264UCLASS(BlueprintType)
265class ONLINESUBSYSTEMPICO_API UPico_SportSummary : public UObject
266{
267 GENERATED_BODY()
268public:
269 void InitParams(ppfSportSummary* ppfSportSummaryHandle);
270
271private:
272 int64 DurationInSeconds = -1;
273 float Calorie = 0;
274 int64 StartTime = -1;
275 int64 EndTime = -1;
276
277public:
278
280 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
281 int64 GetDurationInSeconds();
282
284 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
285 float GetCalorie();
286
288 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
289 int64 GetStartTime();
290
292 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
293 int64 GetEndTime();
294};
295
297UCLASS(BlueprintType)
298class ONLINESUBSYSTEMPICO_API UPico_SportUserInfo : public UObject
299{
300 GENERATED_BODY()
301public:
302 void InitParams(ppfSportUserInfo* ppfSportUserInfoHandle);
303
304private:
306 int64 Birthday = -1;
307 int32 Stature = -1;
308 int32 Weight = -1;
309 int32 SportLevel = -1;
310 int32 DailyDurationInMinutes = -1;
311 int32 DaysPerWeek = -1;
312 ESportTarget SportTarget = ESportTarget::None;
313
314public:
315
317 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
318 EUserGender GetGender();
319
321 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
322 int64 GetBirthday();
323
325 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
326 int32 GetStature();
327
329 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
330 int32 GetWeight();
331
333 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
334 int32 GetSportLevel();
335
337 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
338 int32 GetDailyDurationInMinutes();
339
341 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
342 int32 GetDaysPerWeek();
343
345 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
346 ESportTarget GetSportTarget();
347};
PicoSportInterface class.
Definition: Pico_Sport.h:37
bool GetSportUserInfo(FGetSportUserInfo InGetSportUserInfoDelegate)
Gets a user's basic information and exercise plan.
bool GetDailySummary(int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate)
Gets a summary of the user's daily exercise data for a specified period within the recent 3 months....
bool GetSummary(int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate)
Gets a summary of the user's exercise data for a specified duration within today. The duration should...
OnlinePicoSport Blueprint Function class.
Definition: Pico_Sport.h:115
UPico_SportDailySummaryArray class.
Definition: Pico_Sport.h:241
UPico_SportDailySummary class.
Definition: Pico_Sport.h:197
UPico_SportSummary class.
Definition: Pico_Sport.h:266
UPico_SportUserInfo class.
Definition: Pico_Sport.h:299
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:36
ESportTarget
User's exercise goals.
Definition: OnlineSubsystemPicoNames.h:552