PICO Unreal Platform SDK
Pico_Sport.h
1// Fill out your copyright notice in the Description page of Project Settings.
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
64 bool GetDailySummary(int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
65
78 bool GetSummary(int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
79
90 bool GetSportUserInfo(FGetSportUserInfo InGetSportUserInfoDelegate);
91
92
93};
94
109UCLASS()
110class ONLINESUBSYSTEMPICO_API UOnlinePicoSportFunction : public UBlueprintFunctionLibrary
111{
112 GENERATED_BODY()
113
114public:
115
130 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
131 static bool GetDailySummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetDailySummary InGetDailySummaryDelegate);
132
146 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
147 static bool GetSummary(UObject* WorldContextObject, int64 BeginTime, int64 EndTime, FGetSummary InGetSummaryDelegate);
148
160 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
161 static bool GetSportUserInfo(UObject* WorldContextObject, FGetSportUserInfo InGetSportUserInfoDelegate);
162
170 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
171 static int64 ConvertDateTimeToInt64(FDateTime InDateTime);
172
180 UFUNCTION(BlueprintPure, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Sport")
181 static FDateTime ConvertInt64ToDateTime(int64 InValue);
182};
183 // end of BP_Sport // end of BlueprintFunction
186
187UCLASS(BlueprintType)
188class ONLINESUBSYSTEMPICO_API UPico_SportDailySummary : public UObject
189{
190 GENERATED_BODY()
191public:
192 void InitParams(ppfSportDailySummary* ppfSportDailySummaryHandle);
193
194private:
195 int64 ID = -1;
196 int64 Date = -1;
197 int32 DurationInSeconds = -1;
198 int32 PlanDurationInMinutes = -1;
199 float Calorie = 0;
200 float PlanCalorie = 0;
201
202public:
203
204 // Count ID
205 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
206 int64 GetID();
207
208 // Date
209 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
210 int64 GetDate();
211
212 // Daily exercise duration (in seconds)
213 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
214 int32 GetDurationInSeconds();
215
216 // Planned daily exercise duration (in minutes)
217 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
218 int32 GetPlanDurationInMinutes();
219
220 // Calorie
221 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
222 float GetCalorie();
223
224 // Plan calorie
225 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary")
226 float GetPlanCalorie();
227};
228
229UCLASS(BlueprintType)
230class ONLINESUBSYSTEMPICO_API UPico_SportDailySummaryArray : public UObject
231{
232 GENERATED_BODY()
233public:
234 void InitParams(ppfSportDailySummaryArray* ppfSportDailySummaryArrayHandle);
235
236private:
237 UPROPERTY()
238 TArray<UPico_SportDailySummary*> SportDailySummaryArray;
239 int32 Size;
240
241public:
242
243 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
244 int32 GetSize();
245
246 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Daily Summary Array")
247 UPico_SportDailySummary* GetElement(int32 Index);
248};
249
250UCLASS(BlueprintType)
251class ONLINESUBSYSTEMPICO_API UPico_SportSummary : public UObject
252{
253 GENERATED_BODY()
254public:
255 void InitParams(ppfSportSummary* ppfSportSummaryHandle);
256
257private:
258 int64 DurationInSeconds = -1;
259 float Calorie = 0;
260 int64 StartTime = -1;
261 int64 EndTime = -1;
262
263public:
264
265 // Daily exercise duration (in seconds)
266 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
267 int64 GetDurationInSeconds();
268
269 // Calorie
270 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
271 float GetCalorie();
272
273 // Start time
274 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
275 int64 GetStartTime();
276
277 // End time
278 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|Sport Summary")
279 int64 GetEndTime();
280};
281
282UCLASS(BlueprintType)
283class ONLINESUBSYSTEMPICO_API UPico_SportUserInfo : public UObject
284{
285 GENERATED_BODY()
286public:
287 void InitParams(ppfSportUserInfo* ppfSportUserInfoHandle);
288
289private:
291 int64 Birthday = -1;
292 int32 Stature = -1;
293 int32 Weight = -1;
294 int32 SportLevel = -1;
295 int32 DailyDurationInMinutes = -1;
296 int32 DaysPerWeek = -1;
297 ESportTarget SportTarget = ESportTarget::None;
298
299public:
300
301 // Gender
302 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
303 EUserGender GetGender();
304
305 // Birthday
306 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
307 int64 GetBirthday();
308
309 // Stature(cm)
310 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
311 int32 GetStature();
312
313 // Weight(kg)
314 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
315 int32 GetWeight();
316
317 // 1-low£»2-medium£»3-high
318 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
319 int32 GetSportLevel();
320
321 // Planned daily exercise duration (in minutes)
322 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
323 int32 GetDailyDurationInMinutes();
324
325 // Planned days for exercise per week
326 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
327 int32 GetDaysPerWeek();
328
329 // Exercise target: "lose weight" or "stay healthy"
330 UFUNCTION(BlueprintPure, Category = "Pico Platform|Sport|User Info")
331 ESportTarget GetSportTarget();
332};
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:111
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:37
ESportTarget
User's exercise goals.
Definition: OnlineSubsystemPicoNames.h:554