PICO Unreal Platform SDK
Pico_Sport.h
1/*******************************************************************************
2Copyright © 2015-2022 PICO Technology Co., Ltd.All rights reserved.
3
4NOTICE:All information contained herein is, and remains the property of
5PICO Technology Co., Ltd. The intellectual and technical concepts
6contained herein are proprietary to PICO Technology Co., Ltd. and may be
7covered by patents, patents in process, and are protected by trade secret or
8copyright law. Dissemination of this information or reproduction of this
9material is strictly forbidden unless prior written permission is obtained from
10PICO Technology Co., Ltd.
11*******************************************************************************/
12// 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.
13// Unreal® Engine, Copyright 1998 – 2022, Epic Games, Inc.All rights reserved.
14
15#pragma once
16
17#include "CoreMinimal.h"
18#include "UObject/NoExportTypes.h"
19#include "PPF_Platform.h"
20#include "OnlineSubsystemPicoNames.h"
21#include "OnlineSubsystemPico.h"
22#include "Pico_Sport.generated.h"
23
29
30DECLARE_LOG_CATEGORY_EXTERN(PicoSport, Log, All);
31
32
33DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetDailySummary, bool, bIsError, const FString&, ErrorMessage, UPico_SportDailySummaryArray*, SportDailySummaryArray);
34DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetSummary, bool, bIsError, const FString&, ErrorMessage, UPico_SportSummary*, SportSummary);
35DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetSportUserInfo, bool, bIsError, const FString&, ErrorMessage, UPico_SportUserInfo*, SportUserInfo);
36
48class ONLINESUBSYSTEMPICO_API FPicoSportInterface
49{
50private:
51
52 FOnlineSubsystemPico& PicoSubsystem;
53
54public:
55 FPicoSportInterface(FOnlineSubsystemPico& InSubsystem);
57
58 FGetDailySummary GetDailySummaryDelegate;
59 FGetSummary GetSummaryDelegate;
60 FGetSportUserInfo GetSportUserInfoDelegate;
61
62
78 bool GetDailySummary(int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
79
93 bool GetSummary(int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
94
106 bool GetSportUserInfo(FGetSportUserInfo InGetSportUserInfoDelegate);
107
108
109};
110
125UCLASS()
126class ONLINESUBSYSTEMPICO_API UOnlinePicoSportFunction : public UBlueprintFunctionLibrary
127{
128 GENERATED_BODY()
129
130public:
131
147 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
148 static bool GetDailySummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
149
164 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
165 static bool GetSummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
166
179 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
180 static bool GetSportUserInfo(UObject* WorldContextObject, FGetSportUserInfo InGetSportUserInfoDelegate);
181
189 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
190 static int64 ConvertDateTimeToInt64(FDateTime InDateTime);
191
199 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
200 static FDateTime ConvertInt64ToDateTime(int64 InValue);
201};
202 // end of BP_Sport // end of BlueprintFunction
205
207UCLASS(BlueprintType)
208class ONLINESUBSYSTEMPICO_API UPico_SportDailySummary : public UObject
209{
210 GENERATED_BODY()
211public:
212 void InitParams(ppfSportDailySummary* ppfSportDailySummaryHandle);
213
214private:
215 int64 ID = -1;
216 int64 Date = -1;
217 int32 DurationInSeconds = -1;
218 int32 PlanDurationInMinutes = -1;
219 float Calorie = 0;
220 float PlanCalorie = 0;
221
222public:
223
225 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
226 int64 GetID();
227
229 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
230 int64 GetDate();
231
233 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
234 int32 GetDurationInSeconds();
235
237 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
238 int32 GetPlanDurationInMinutes();
239
241 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
242 float GetCalorie();
243
245 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
246 float GetPlanCalorie();
247};
248
249
251UCLASS(BlueprintType)
252class ONLINESUBSYSTEMPICO_API UPico_SportDailySummaryArray : public UObject
253{
254 GENERATED_BODY()
255public:
256 void InitParams(ppfSportDailySummaryArray* ppfSportDailySummaryArrayHandle);
257
258private:
259 UPROPERTY()
260 TArray<UPico_SportDailySummary*> SportDailySummaryArray;
261 int32 Size;
262
263public:
264
266 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
267 int32 GetSize();
268
270 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
271 UPico_SportDailySummary* GetElement(int32 Index);
272};
273
274
276UCLASS(BlueprintType)
277class ONLINESUBSYSTEMPICO_API UPico_SportSummary : public UObject
278{
279 GENERATED_BODY()
280public:
281 void InitParams(ppfSportSummary* ppfSportSummaryHandle);
282
283private:
284 int64 DurationInSeconds = -1;
285 float Calorie = 0;
286 int64 StartTime = -1;
287 int64 EndTime = -1;
288
289public:
290
292 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
293 int64 GetDurationInSeconds();
294
296 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
297 float GetCalorie();
298
300 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
301 int64 GetStartTime();
302
304 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
305 int64 GetEndTime();
306};
307
309UCLASS(BlueprintType)
310class ONLINESUBSYSTEMPICO_API UPico_SportUserInfo : public UObject
311{
312 GENERATED_BODY()
313public:
314 void InitParams(ppfSportUserInfo* ppfSportUserInfoHandle);
315
316private:
318 int64 Birthday = -1;
319 int32 Stature = -1;
320 int32 Weight = -1;
321 int32 SportLevel = -1;
322 int32 DailyDurationInMinutes = -1;
323 int32 DaysPerWeek = -1;
324 ESportTarget SportTarget = ESportTarget::None;
325
326public:
327
329 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
330 EUserGender GetGender();
331
333 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
334 int64 GetBirthday();
335
337 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
338 int32 GetStature();
339
341 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
342 int32 GetWeight();
343
345 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
346 int32 GetSportLevel();
347
349 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
350 int32 GetDailyDurationInMinutes();
351
353 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
354 int32 GetDaysPerWeek();
355
357 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
358 ESportTarget GetSportTarget();
359};
PicoSportInterface class.
Definition: Pico_Sport.h:49
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:127
UPico_SportDailySummaryArray class.
Definition: Pico_Sport.h:253
UPico_SportDailySummary class.
Definition: Pico_Sport.h:209
UPico_SportSummary class.
Definition: Pico_Sport.h:278
UPico_SportUserInfo class.
Definition: Pico_Sport.h:311
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:48
ESportTarget
User's exercise goals.
Definition: OnlineSubsystemPicoNames.h:564