Explorar o código

lastversion c++

eraser %!s(int64=3) %!d(string=hai) anos
pai
achega
35f733ab01

+ 32 - 13
Source/Communication_Org/Private/MyBlueprintFunctionLibrary.cpp

@@ -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;
+}
 
 	

+ 6 - 0
Source/Communication_Org/Public/MyBlueprintFunctionLibrary.h

@@ -117,4 +117,10 @@ public:
 
 	UFUNCTION(BlueprintPure, Category = "Json")
 		static FString Trim(FString RawDataJson);
+
+	UFUNCTION(BlueprintPure, Category = "Json")
+		static bool CheckSubmitCallBackOk(FString RawDataJson);
+
+	UFUNCTION(BlueprintPure, Category = "Json")
+		static FString ParseSubmitCallBackStr(FString RawDataJson);
 };