|
|
@@ -57,28 +57,23 @@ int64 UMyBlueprintFunctionLibrary::DateTimeToUnixTimestamp(FDateTime DateTime)
|
|
|
|
|
|
int32 UMyBlueprintFunctionLibrary::GetCurrentIndex(FString RawDataJson)
|
|
|
{
|
|
|
+ //UE_LOG(LogTemp, Log, TEXT("RawDataJson=%s"), *RawDataJson);
|
|
|
int32 CurrentIndex = 0;
|
|
|
TArray< TSharedPtr<FJsonValue> > JsonObjectValue;
|
|
|
TSharedRef<TJsonReader<>> JsonReader2 = TJsonReaderFactory<>::Create(RawDataJson);
|
|
|
if (FJsonSerializer::Deserialize(JsonReader2, JsonObjectValue))
|
|
|
{
|
|
|
+ CurrentIndex = (JsonObjectValue).Num();
|
|
|
for (int32 i = 0; i < (JsonObjectValue).Num(); i++) {
|
|
|
|
|
|
TSharedPtr<FJsonObject> jsonMember = (JsonObjectValue)[i]->AsObject();
|
|
|
double EndTimeStamp = jsonMember->GetIntegerField(TEXT("EndTime"));
|
|
|
+ //UE_LOG(LogTemp, Log, TEXT("EndTimeStamp======%d"), EndTimeStamp);
|
|
|
if (EndTimeStamp == 0)
|
|
|
{
|
|
|
CurrentIndex = i;
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
- //int32 Score = jsonMember->GetIntegerField(TEXT("Score"));
|
|
|
- ////UE_LOG(LogTemp, Log, TEXT("Score======%d"), Score);
|
|
|
- //if (Score==-1)
|
|
|
- //{
|
|
|
- // CurrentIndex = i;
|
|
|
- // break;
|
|
|
- //}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -637,11 +632,11 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeAndTotalUsedTimeAndTotalScore(FSt
|
|
|
|
|
|
// set start time
|
|
|
JsonRootObject->SetNumberField(TEXT("StartTime"), StartTimeStamp);
|
|
|
- FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
|
|
|
+ //FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
|
|
|
|
|
|
// set end time
|
|
|
JsonRootObject->SetNumberField(TEXT("EndTime"), EndTimeStamp);
|
|
|
- FDateTime AEndTime = UnixTimestampToDateTime(EndTimeStamp);
|
|
|
+ //FDateTime AEndTime = UnixTimestampToDateTime(EndTimeStamp);
|
|
|
// set TimeUsed
|
|
|
if (EndTimeStamp - StartTimeStamp > 0)
|
|
|
{
|
|
|
@@ -665,7 +660,7 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeAndTotalUsedTimeAndTotalScore(FSt
|
|
|
|
|
|
FString UMyBlueprintFunctionLibrary::SetTotalEndTimeAndTotalUsedTimeAndTotalScore(FString RawDataJson, FString UserID, FString ExamId, int64 StartTimeStamp, int64 EndTimeStamp)
|
|
|
{
|
|
|
- UE_LOG(LogTemp, Log, TEXT("RawDataJson===%s"), *RawDataJson);
|
|
|
+ //UE_LOG(LogTemp, Log, TEXT("RawDataJson===%s"), *RawDataJson);
|
|
|
|
|
|
JsonObjectPtr JsonRootObject = MakeShareable(new FJsonObject());
|
|
|
JsonRootObject->SetStringField(TEXT("UserID"), UserID);
|
|
|
@@ -686,11 +681,20 @@ FString UMyBlueprintFunctionLibrary::SetTotalEndTimeAndTotalUsedTimeAndTotalScor
|
|
|
}
|
|
|
|
|
|
JsonRootObject->SetNumberField(TEXT("TimeUsed"), TotalScore);
|
|
|
+
|
|
|
+ FString newScoreString = "";
|
|
|
+ TSharedRef<TJsonWriter<>> Writer = TJsonWriterFactory<>::Create(&newScoreString);
|
|
|
+ FJsonSerializer::Serialize(JsonObjectValue, Writer);
|
|
|
+
|
|
|
+ JsonRootObject->SetStringField(TEXT("Score"), newScoreString);
|
|
|
+
|
|
|
+ TSharedPtr<FJsonObject> StartMember = (JsonObjectValue)[0]->AsObject();
|
|
|
+ TSharedPtr<FJsonObject> EndMember = (JsonObjectValue)[(JsonObjectValue).Num() - 1]->AsObject();
|
|
|
}
|
|
|
|
|
|
// set start time
|
|
|
JsonRootObject->SetNumberField(TEXT("StartTime"), StartTimeStamp);
|
|
|
- FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
|
|
|
+ //FDateTime AStartTime = UnixTimestampToDateTime(StartTimeStamp);
|
|
|
|
|
|
// set end time
|
|
|
//int64 EndTimeStamp = DateTimeToUnixTimestamp(EndTime);
|
|
|
@@ -714,7 +718,8 @@ FString UMyBlueprintFunctionLibrary::SetTotalEndTimeAndTotalUsedTimeAndTotalScor
|
|
|
|
|
|
//JsonをFStringに書き込み
|
|
|
FJsonSerializer::Serialize(JsonRootObject.ToSharedRef(), Writer);
|
|
|
- UE_LOG(LogTemp, Log, TEXT("OutPutString===%s"), *OutPutString);
|
|
|
+ OutPutString = Trim(OutPutString);
|
|
|
+ //UE_LOG(LogTemp, Log, TEXT("OutPutString===%s"), *OutPutString);
|
|
|
return OutPutString;
|
|
|
}
|
|
|
|
|
|
@@ -1248,7 +1253,20 @@ FString UMyBlueprintFunctionLibrary::GetRestartJsonString(FString UserID, FStrin
|
|
|
return OutPutString;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+FString UMyBlueprintFunctionLibrary::Trim(FString RawDataJson)
|
|
|
+{
|
|
|
+ FString NewStr = RawDataJson;
|
|
|
+ NewStr = NewStr.Replace(TEXT("\r"), TEXT(""));
|
|
|
+ NewStr = NewStr.Replace(TEXT("\n"), TEXT(""));
|
|
|
+ NewStr = NewStr.Replace(TEXT("\t"), TEXT(""));
|
|
|
+
|
|
|
+ NewStr = NewStr.Replace(TEXT("\\r"), TEXT(""));
|
|
|
+ NewStr = NewStr.Replace(TEXT("\\n"), TEXT(""));
|
|
|
+ NewStr = NewStr.Replace(TEXT("\\t"), TEXT(""));
|
|
|
+ //NewStr = NewStr.Replace(TEXT("\\"), TEXT(""));
|
|
|
+ //UE_LOG(LogTemp, Log, TEXT("NewStr = %s"), *NewStr);
|
|
|
+ return NewStr;
|
|
|
+}
|
|
|
|
|
|
|
|
|
|