| 
					
				 | 
			
			
				@@ -379,7 +379,7 @@ FString UMyBlueprintFunctionLibrary::SetScoreJson(FString RawDataJson, FString E 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// set TimeUsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (EndTimeStamp - StartTimeStamp > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp)); //UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -450,7 +450,7 @@ FString UMyBlueprintFunctionLibrary::SetOtherScoreJson(FString UserID, FString E 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// set TimeUsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (EndTimeStamp - StartTimeStamp > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp));//UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -566,7 +566,7 @@ FString UMyBlueprintFunctionLibrary::GetTotalUsedTimeStr(FString RawDataJson, FS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// set TimeUsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (EndTimeStamp - StartTimeStamp > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp)); //UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -611,7 +611,7 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeAndTotalUsedTimeAndTotalScore(FSt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				double StartTimeNum = jsonMember->GetNumberField(TEXT("StartTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				FDateTime AStartTime = UnixTimestampToDateTime(StartTimeNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				int32 TimeUsed = UKismetMathLibrary::Round((EndTime - AStartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				int32 TimeUsed = DateTimeToUnixTimestamp(EndTime) - StartTimeNum;//UKismetMathLibrary::Round((EndTime - AStartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonMember->SetNumberField(TEXT("TimeUsed"), TimeUsed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -641,7 +641,7 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeAndTotalUsedTimeAndTotalScore(FSt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if (EndTimeStamp - StartTimeStamp > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round(EndTimeStamp - StartTimeStamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp)); //UKismetMathLibrary::Round(EndTimeStamp - StartTimeStamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -842,7 +842,7 @@ FString UMyBlueprintFunctionLibrary::SetStartTimeJson(FString ScoresStr, FString 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// set TimeUsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (EndTimeStamp-StartTimeStamp>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp)); //UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -887,7 +887,7 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeJson(FString ScoresStr, FString E 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			/*	UE_LOG(LogTemp, Log, TEXT("StartTime======%s"), *AStartTime.ToString(TEXT("%Y-%m-%d-%H-%M-%S"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				UE_LOG(LogTemp, Log, TEXT("EndTime======%s"), *EndTime.ToString(TEXT("%Y-%m-%d-%H-%M-%S"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				int32 TimeUsed = UKismetMathLibrary::Round((EndTime - AStartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				int32 TimeUsed = DateTimeToUnixTimestamp(EndTime) - StartTimeNum;//UKismetMathLibrary::Round((EndTime - AStartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//UE_LOG(LogTemp, Log, TEXT("TimeUsed =====%d"), TimeUsed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonMember->SetNumberField(TEXT("TimeUsed"), TimeUsed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -939,7 +939,7 @@ FString UMyBlueprintFunctionLibrary::SetEndTimeJson(FString ScoresStr, FString E 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// set TimeUsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (EndTimeStamp - StartTimeStamp > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp)); //UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -979,7 +979,7 @@ FString UMyBlueprintFunctionLibrary::SetScoreAndStartTimeJson(FString ScoresStr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				auto AEndTimeNum = jsonMember->GetNumberField(TEXT("EndTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				FDateTime AEndTime = UnixTimestampToDateTime(AEndTimeNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				int32 TimeUsed = UKismetMathLibrary::Round((AEndTime - StartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				int32 TimeUsed = (AEndTimeNum - DateTimeToUnixTimestamp(StartTime)); //UKismetMathLibrary::Round((AEndTime - StartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonMember->SetNumberField(TEXT("TimeUsed"), TimeUsed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonMember->SetNumberField(TEXT("Score"), Score); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1029,7 +1029,7 @@ FString UMyBlueprintFunctionLibrary::SetScoreAndStartTimeJson(FString ScoresStr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// set TimeUsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (EndTimeStamp - StartTimeStamp > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp));//UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1070,7 +1070,7 @@ FString UMyBlueprintFunctionLibrary::SetScoreAndEndTimeJson(FString ScoresStr, F 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				auto StartTimeNum = jsonMember->GetNumberField(TEXT("StartTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				FDateTime AStartTime = UnixTimestampToDateTime(StartTimeNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				int32 TimeUsed = UKismetMathLibrary::Round((EndTime - AStartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				int32 TimeUsed = DateTimeToUnixTimestamp(EndTime) - StartTimeNum;//UKismetMathLibrary::Round((EndTime - AStartTime).GetSeconds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonMember->SetNumberField(TEXT("TimeUsed"), TimeUsed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				/*UE_LOG(LogTemp, Log, TEXT("StartTimeStamp======%d"), StartTimeNum); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1133,7 +1133,7 @@ FString UMyBlueprintFunctionLibrary::SetScoreAndEndTimeJson(FString ScoresStr, F 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// set TimeUsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (EndTimeStamp - StartTimeStamp > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JsonRootObject->SetNumberField(TEXT("TimeUsed"), UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JsonRootObject->SetNumberField(TEXT("TimeUsed"), (EndTimeStamp - StartTimeStamp));//UKismetMathLibrary::Round((AEndTime - AStartTime).GetSeconds())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1148,7 +1148,6 @@ FString UMyBlueprintFunctionLibrary::SetScoreAndEndTimeJson(FString ScoresStr, F 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	FJsonSerializer::Serialize(JsonRootObject.ToSharedRef(), Writer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//UE_LOG(LogTemp, Log, TEXT("SetStartTimeJson =====%s"), *OutPutString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return OutPutString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 bool UMyBlueprintFunctionLibrary::CanGoNextStep(FString RawDataJson, int32 MyIndex) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1268,6 +1267,26 @@ FString UMyBlueprintFunctionLibrary::Trim(FString RawDataJson) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return NewStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+bool UMyBlueprintFunctionLibrary::CheckSubmitCallBackOk(FString RawDataJson) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	JsonObjectPtr JsonRootObject = MakeShareable(new FJsonObject()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	FString CodeStr = JsonRootObject->GetStringField(TEXT("Code")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (CodeStr.Equals(TEXT("100")) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+FString UMyBlueprintFunctionLibrary::ParseSubmitCallBackStr(FString RawDataJson) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	JsonObjectPtr JsonRootObject = MakeShareable(new FJsonObject()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	FString CodeStr = JsonRootObject->GetStringField(TEXT("Code")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	FString MsgStr = JsonRootObject->GetStringField(TEXT("Msg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	FString resultStr = CodeStr + TEXT("\n") + MsgStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return resultStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 |