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 "Kismet/BlueprintFunctionLibrary.h"
11#include "Pico_Sport.generated.h"
12
18
19DECLARE_LOG_CATEGORY_EXTERN(PicoSport, Log, All);
20
21
22DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetDailySummary, bool, bIsError, const FString&, ErrorMessage, UPico_SportDailySummaryArray*, SportDailySummaryArray);
23DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetSummary, bool, bIsError, const FString&, ErrorMessage, UPico_SportSummary*, SportSummary);
24DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetSportUserInfo, bool, bIsError, const FString&, ErrorMessage, UPico_SportUserInfo*, SportUserInfo);
25
37class ONLINESUBSYSTEMPICO_API FPicoSportInterface
38{
39private:
40
41 FOnlineSubsystemPico& PicoSubsystem;
42
43public:
44 FPicoSportInterface(FOnlineSubsystemPico& InSubsystem);
46
47 FGetDailySummary GetDailySummaryDelegate;
48 FGetSummary GetSummaryDelegate;
49 FGetSportUserInfo GetSportUserInfoDelegate;
50
51
67 bool GetDailySummary(int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
68
82 bool GetSummary(int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
83
95 bool GetSportUserInfo(FGetSportUserInfo InGetSportUserInfoDelegate);
96
97
98};
99
114UCLASS()
115class ONLINESUBSYSTEMPICO_API UOnlinePicoSportFunction : public UBlueprintFunctionLibrary
116{
117 GENERATED_BODY()
118
119public:
120
136 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
137 static bool GetDailySummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
138
153 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
154 static bool GetSummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
155
168 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
169 static bool GetSportUserInfo(UObject* WorldContextObject, FGetSportUserInfo InGetSportUserInfoDelegate);
170
178 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
179 static int64 ConvertDateTimeToInt64(FDateTime InDateTime);
180
188 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
189 static FDateTime ConvertInt64ToDateTime(int64 InValue);
190};
191 // end of BP_Sport // end of BlueprintFunction
194
196UCLASS(BlueprintType)
197class ONLINESUBSYSTEMPICO_API UPico_SportDailySummary : public UObject
198{
199 GENERATED_BODY()
200public:
201 void InitParams(ppfSportDailySummary* ppfSportDailySummaryHandle);
202
203private:
204 int64 ID = -1;
205 int64 Date = -1;
206 int32 DurationInSeconds = -1;
207 int32 PlanDurationInMinutes = -1;
208 float Calorie = 0;
209 float PlanCalorie = 0;
210
211public:
212
214 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
215 int64 GetID();
216
218 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
219 int64 GetDate();
220
222 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
223 int32 GetDurationInSeconds();
224
226 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
227 int32 GetPlanDurationInMinutes();
228
230 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
231 float GetCalorie();
232
234 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
235 float GetPlanCalorie();
236};
237
238
240UCLASS(BlueprintType)
241class ONLINESUBSYSTEMPICO_API UPico_SportDailySummaryArray : public UObject
242{
243 GENERATED_BODY()
244public:
245 void InitParams(ppfSportDailySummaryArray* ppfSportDailySummaryArrayHandle);
246
247private:
248 UPROPERTY()
249 TArray<UPico_SportDailySummary*> SportDailySummaryArray;
250 int32 Size;
251
252public:
253
255 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
256 int32 GetSize();
257
259 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
260 UPico_SportDailySummary* GetElement(int32 Index);
261};
262
263
265UCLASS(BlueprintType)
266class ONLINESUBSYSTEMPICO_API UPico_SportSummary : public UObject
267{
268 GENERATED_BODY()
269public:
270 void InitParams(ppfSportSummary* ppfSportSummaryHandle);
271
272private:
273 int64 DurationInSeconds = -1;
274 float Calorie = 0;
275 int64 StartTime = -1;
276 int64 EndTime = -1;
277
278public:
279
281 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
282 int64 GetDurationInSeconds();
283
285 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
286 float GetCalorie();
287
289 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
290 int64 GetStartTime();
291
293 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
294 int64 GetEndTime();
295};
296
298UCLASS(BlueprintType)
299class ONLINESUBSYSTEMPICO_API UPico_SportUserInfo : public UObject
300{
301 GENERATED_BODY()
302public:
303 void InitParams(ppfSportUserInfo* ppfSportUserInfoHandle);
304
305private:
307 int64 Birthday = -1;
308 int32 Stature = -1;
309 int32 Weight = -1;
310 int32 SportLevel = -1;
311 int32 DailyDurationInMinutes = -1;
312 int32 DaysPerWeek = -1;
313 ESportTarget SportTarget = ESportTarget::None;
314
315public:
316
318 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
319 EUserGender GetGender();
320
322 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
323 int64 GetBirthday();
324
326 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
327 int32 GetStature();
328
330 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
331 int32 GetWeight();
332
334 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
335 int32 GetSportLevel();
336
338 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
339 int32 GetDailyDurationInMinutes();
340
342 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
343 int32 GetDaysPerWeek();
344
346 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
347 ESportTarget GetSportTarget();
348};
PicoSportInterface class.
Definition: Pico_Sport.h:38
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:116
UPico_SportDailySummaryArray class.
Definition: Pico_Sport.h:242
UPico_SportDailySummary class.
Definition: Pico_Sport.h:198
UPico_SportSummary class.
Definition: Pico_Sport.h:267
UPico_SportUserInfo class.
Definition: Pico_Sport.h:300
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:36
ESportTarget
User's exercise goals.
Definition: OnlineSubsystemPicoNames.h:552