Compare commits
2 Commits
unverified
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5039000304 | ||
|
|
c2690d77ab |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -49,6 +49,8 @@ ABugPlacerPawn::ABugPlacerPawn()
|
|||||||
|
|
||||||
void ABugPlacerPawn::BeginPlay()
|
void ABugPlacerPawn::BeginPlay()
|
||||||
{
|
{
|
||||||
|
this->OriginalPlayer = UGameplayStatics::GetPlayerCharacter(this, 0);
|
||||||
|
|
||||||
this->Activate();
|
this->Activate();
|
||||||
|
|
||||||
Super::BeginPlay();
|
Super::BeginPlay();
|
||||||
@ -127,9 +129,6 @@ void ABugPlacerPawn::TraceTimerElapsed()
|
|||||||
this->TraceOriginComponent->SetRelativeScale3D(FVector(TraceOriginScale.X, TraceOriginScale.Y, (TraceEnd - TraceStart).Length()));
|
this->TraceOriginComponent->SetRelativeScale3D(FVector(TraceOriginScale.X, TraceOriginScale.Y, (TraceEnd - TraceStart).Length()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float TraceInterval = this->GetActorTickInterval() > 0.0f ? this->GetActorTickInterval() : (1.0f / 60.0f) * World->GetWorldSettings()->MinGlobalTimeDilation;
|
|
||||||
this->GetWorldTimerManager().SetTimer(this->TraceTimerHandle, this, &ABugPlacerPawn::TraceTimerElapsed, TraceInterval, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -160,17 +159,14 @@ void ABugPlacerPawn::Activate()
|
|||||||
{
|
{
|
||||||
this->SavedMaxSpeed = this->PawnMovement->GetMaxSpeed();
|
this->SavedMaxSpeed = this->PawnMovement->GetMaxSpeed();
|
||||||
|
|
||||||
APlayerController *Controller = UGameplayStatics::GetPlayerController(this, 0);
|
UGameplayStatics::GetPlayerController(this, 0)->Possess(this);
|
||||||
this->OriginalPawn = Controller->GetPawn();
|
|
||||||
this->OriginalPawn->DisableInput(Controller);
|
|
||||||
Controller->Possess(this);
|
|
||||||
|
|
||||||
const float &MinTimeDilation = this->GetWorldSettings()->MinGlobalTimeDilation;
|
const float &MinTimeDilation = this->GetWorldSettings()->MinGlobalTimeDilation;
|
||||||
//this->GetWorldSettings()->SetTimeDilation(MinTimeDilation);
|
this->GetWorldSettings()->SetTimeDilation(MinTimeDilation);
|
||||||
//this->CustomTimeDilation = 1.0 / MinTimeDilation;
|
this->CustomTimeDilation = 1.0 / MinTimeDilation;
|
||||||
|
|
||||||
float TraceInterval = this->GetActorTickInterval() > 0.0f ? this->GetActorTickInterval() : (1.0f / 60.0f) * MinTimeDilation;
|
float TraceInterval = this->GetActorTickInterval() > 0.0f ? this->GetActorTickInterval() : (1.0f / 60.0f) * MinTimeDilation;
|
||||||
this->GetWorldTimerManager().SetTimer(this->TraceTimerHandle, this, &ABugPlacerPawn::TraceTimerElapsed, TraceInterval, false);
|
this->GetWorldTimerManager().SetTimer(this->TraceTimerHandle, this, &ABugPlacerPawn::TraceTimerElapsed, TraceInterval, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ABugPlacerPawn::Deactivate()
|
void ABugPlacerPawn::Deactivate()
|
||||||
@ -178,9 +174,7 @@ void ABugPlacerPawn::Deactivate()
|
|||||||
this->GetWorldTimerManager().ClearAllTimersForObject(this);
|
this->GetWorldTimerManager().ClearAllTimersForObject(this);
|
||||||
this->GetWorldSettings()->SetTimeDilation(1.0f);
|
this->GetWorldSettings()->SetTimeDilation(1.0f);
|
||||||
|
|
||||||
APlayerController *Controller = UGameplayStatics::GetPlayerController(this, 0);
|
UGameplayStatics::GetPlayerController(this, 0)->Possess(this->OriginalPlayer);
|
||||||
Controller->Possess(this->OriginalPawn);
|
|
||||||
this->OriginalPawn->EnableInput(Controller);
|
|
||||||
|
|
||||||
this->Destroy();
|
this->Destroy();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,15 +26,21 @@ void UServerAPI::SendFormData(const FUnrealzillaPostData &PostData)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void UServerAPI::ServerConnectionError(const EHttpRequestStatus::Type Status)
|
void UServerAPI::ServerConnectionError(const EHttpRequestStatus::Type Status, const EHttpFailureReason Reason)
|
||||||
{
|
{
|
||||||
switch (Status) {
|
switch (Status) {
|
||||||
case EHttpRequestStatus::Failed_ConnectionError:
|
|
||||||
this->CreateError("There was an error connecting to the server. Please retry.", true);
|
|
||||||
break;
|
|
||||||
case EHttpRequestStatus::Failed:
|
case EHttpRequestStatus::Failed:
|
||||||
this->CreateError("Connection to the server completed but then failed.", true);
|
switch (Reason) {
|
||||||
break;
|
case EHttpFailureReason::ConnectionError:
|
||||||
|
this->CreateError("There was an error connecting to the server. Please retry.", true);
|
||||||
|
break;
|
||||||
|
case EHttpFailureReason::Cancelled:
|
||||||
|
this->CreateError("Connection to the server was cancelled.", true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this->CreateError("Connection to the server completed but then failed.", true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case EHttpRequestStatus::NotStarted:
|
case EHttpRequestStatus::NotStarted:
|
||||||
this->CreateError("Connection was not started.");
|
this->CreateError("Connection was not started.");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -252,7 +252,7 @@ void UServerBugzillaAPI::ServerPOSTResponse(FHttpRequestPtr Request, FHttpRespon
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,7 +293,7 @@ void UServerBugzillaAPI::ServerPOSTUpdateMarkerResponse(FHttpRequestPtr Request,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +340,7 @@ void UServerBugzillaAPI::ServerProductInfoResponse(FHttpRequestPtr Request, FHtt
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +372,7 @@ void UServerBugzillaAPI::ServerSeverityInfoResponse(FHttpRequestPtr Request, FHt
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,7 +404,7 @@ void UServerBugzillaAPI::ServerPlatformInfoResponse(FHttpRequestPtr Request, FHt
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -436,7 +436,7 @@ void UServerBugzillaAPI::ServerOSInfoResponse(FHttpRequestPtr Request, FHttpResp
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -47,17 +47,17 @@ void UServerJiraAPI::ListOfBoardsResponse(FHttpRequestPtr Request, FHttpResponse
|
|||||||
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
||||||
if (FJsonSerializer::Deserialize(Reader, JSON))
|
if (FJsonSerializer::Deserialize(Reader, JSON))
|
||||||
{
|
{
|
||||||
const TArray<TSharedPtr<FJsonValue>> &BoardsArray = JSON->GetArrayField("values");
|
const TArray<TSharedPtr<FJsonValue>>& BoardsArray = JSON->GetArrayField(TEXT("values"));
|
||||||
for (const TSharedPtr<FJsonValue> &BoardValue : BoardsArray)
|
for (const TSharedPtr<FJsonValue> &BoardValue : BoardsArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Board = BoardValue->AsObject();
|
const TSharedPtr<FJsonObject> &Board = BoardValue->AsObject();
|
||||||
const TSharedPtr<FJsonObject> &Location = Board->GetObjectField("location");
|
const TSharedPtr<FJsonObject>& Location = Board->GetObjectField(TEXT("location"));
|
||||||
if (Location->GetStringField("projectName") == GetDefault<UUnrealzillaGlobalSettings>()->JiraProjectName)
|
if (Location->GetStringField(TEXT("projectName")) == GetDefault<UUnrealzillaGlobalSettings>()->JiraProjectName)
|
||||||
{
|
{
|
||||||
this->BoardID = Board->GetIntegerField("id");
|
this->BoardID = Board->GetIntegerField(TEXT("id"));
|
||||||
this->ProjectID = Location->GetIntegerField("projectId");
|
this->ProjectID = Location->GetIntegerField(TEXT("projectId"));
|
||||||
this->ProjectKey = Location->GetStringField("projectKey");
|
this->ProjectKey = Location->GetStringField(TEXT("projectKey"));
|
||||||
this->ProjectAvatarURI = Location->GetStringField("avatarURI");
|
this->ProjectAvatarURI = Location->GetStringField(TEXT("avatarURI"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -81,12 +81,12 @@ void UServerJiraAPI::ListOfFieldsResponse(FHttpRequestPtr Request, FHttpResponse
|
|||||||
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
||||||
if (FJsonSerializer::Deserialize(Reader, JSON))
|
if (FJsonSerializer::Deserialize(Reader, JSON))
|
||||||
{
|
{
|
||||||
const TArray<TSharedPtr<FJsonValue>> &FieldArray = JSON->GetArrayField("fields");
|
const TArray<TSharedPtr<FJsonValue>>& FieldArray = JSON->GetArrayField(TEXT("fields"));
|
||||||
for (const TSharedPtr<FJsonValue> &FieldValue : FieldArray)
|
for (const TSharedPtr<FJsonValue> &FieldValue : FieldArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Field = FieldValue->AsObject();
|
const TSharedPtr<FJsonObject> &Field = FieldValue->AsObject();
|
||||||
const FString &Name = Field->GetStringField("name");
|
const FString& Name = Field->GetStringField(TEXT("name"));
|
||||||
const FString &Key = Field->GetStringField("key");
|
const FString &Key = Field->GetStringField(TEXT("key"));
|
||||||
if (Name == GetDefault<UUnrealzillaGlobalSettings>()->JiraMapNameField)
|
if (Name == GetDefault<UUnrealzillaGlobalSettings>()->JiraMapNameField)
|
||||||
{
|
{
|
||||||
this->MapNameCustomField = Key;
|
this->MapNameCustomField = Key;
|
||||||
@ -154,25 +154,25 @@ void UServerJiraAPI::ListOfBugsResponse(FHttpRequestPtr Request, FHttpResponsePt
|
|||||||
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
||||||
if (FJsonSerializer::Deserialize(Reader, JSON))
|
if (FJsonSerializer::Deserialize(Reader, JSON))
|
||||||
{
|
{
|
||||||
const TArray<TSharedPtr<FJsonValue>> &IssuesArray = JSON->GetArrayField("issues");
|
const TArray<TSharedPtr<FJsonValue>> &IssuesArray = JSON->GetArrayField(TEXT("issues"));
|
||||||
for (const TSharedPtr<FJsonValue> &IssueValue : IssuesArray)
|
for (const TSharedPtr<FJsonValue> &IssueValue : IssuesArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Issue = IssueValue->AsObject();
|
const TSharedPtr<FJsonObject> &Issue = IssueValue->AsObject();
|
||||||
const TSharedPtr<FJsonObject> &Fields = Issue->GetObjectField("fields");
|
const TSharedPtr<FJsonObject>& Fields = Issue->GetObjectField(TEXT("fields"));
|
||||||
const TSharedPtr<FJsonObject> &Status = Fields->GetObjectField("status");
|
const TSharedPtr<FJsonObject>& Status = Fields->GetObjectField(TEXT("status"));
|
||||||
const FString StatusName = Status->GetStringField("name");
|
const FString StatusName = Status->GetStringField(TEXT("name"));
|
||||||
|
|
||||||
if ((GetDefault<UUnrealzillaGlobalSettings>()->bShowUnresolvedBugs && GetDefault<UUnrealzillaGlobalSettings>()->UnresolvedStatuses.Contains(StatusName)) ||
|
if ((GetDefault<UUnrealzillaGlobalSettings>()->bShowUnresolvedBugs && GetDefault<UUnrealzillaGlobalSettings>()->UnresolvedStatuses.Contains(StatusName)) ||
|
||||||
(GetDefault<UUnrealzillaGlobalSettings>()->bShowInProgressBugs && GetDefault<UUnrealzillaGlobalSettings>()->InProgressStatuses.Contains(StatusName)) ||
|
(GetDefault<UUnrealzillaGlobalSettings>()->bShowInProgressBugs && GetDefault<UUnrealzillaGlobalSettings>()->InProgressStatuses.Contains(StatusName)) ||
|
||||||
(GetDefault<UUnrealzillaGlobalSettings>()->bShowResolvedBugs && GetDefault<UUnrealzillaGlobalSettings>()->ResolvedStatuses.Contains(StatusName)))
|
(GetDefault<UUnrealzillaGlobalSettings>()->bShowResolvedBugs && GetDefault<UUnrealzillaGlobalSettings>()->ResolvedStatuses.Contains(StatusName)))
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Priority = Fields->GetObjectField("priority");
|
const TSharedPtr<FJsonObject>& Priority = Fields->GetObjectField(TEXT("priority"));
|
||||||
|
|
||||||
FUnrealzillaBugData Bug;
|
FUnrealzillaBugData Bug;
|
||||||
Bug.ID = Issue->GetNumberField("id");
|
Bug.ID = Issue->GetNumberField(TEXT("id"));
|
||||||
Bug.Status = StatusName;
|
Bug.Status = StatusName;
|
||||||
Bug.Summary = Fields->GetStringField("summary");
|
Bug.Summary = Fields->GetStringField(TEXT("summary"));
|
||||||
Bug.Severity = Priority->GetStringField("name");
|
Bug.Severity = Priority->GetStringField(TEXT("name"));
|
||||||
//Bug.Component = BugzillaData.component;
|
//Bug.Component = BugzillaData.component;
|
||||||
//Bug.Platform = BugzillaData.platform;
|
//Bug.Platform = BugzillaData.platform;
|
||||||
//Bug.OperatingSystem = BugzillaData.op_sys;
|
//Bug.OperatingSystem = BugzillaData.op_sys;
|
||||||
@ -201,7 +201,7 @@ void UServerJiraAPI::ListOfBugsResponse(FHttpRequestPtr Request, FHttpResponsePt
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,52 +247,52 @@ void UServerJiraAPI::ServerFieldOptionsResponse(FHttpRequestPtr Request, FHttpRe
|
|||||||
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
||||||
if (FJsonSerializer::Deserialize(Reader, JSON))
|
if (FJsonSerializer::Deserialize(Reader, JSON))
|
||||||
{
|
{
|
||||||
const TArray<TSharedPtr<FJsonValue>> &ProjectsArray = JSON->GetArrayField("projects");
|
const TArray<TSharedPtr<FJsonValue>>& ProjectsArray = JSON->GetArrayField(TEXT("projects"));
|
||||||
for (const TSharedPtr<FJsonValue> &ProjectValue : ProjectsArray)
|
for (const TSharedPtr<FJsonValue> &ProjectValue : ProjectsArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Project = ProjectValue->AsObject();
|
const TSharedPtr<FJsonObject> &Project = ProjectValue->AsObject();
|
||||||
if (Project->GetStringField("name") == GetDefault<UUnrealzillaGlobalSettings>()->JiraProjectName)
|
if (Project->GetStringField(TEXT("name")) == GetDefault<UUnrealzillaGlobalSettings>()->JiraProjectName)
|
||||||
{
|
{
|
||||||
const TArray<TSharedPtr<FJsonValue>> &IssueTypes = Project->GetArrayField("issuetypes");
|
const TArray<TSharedPtr<FJsonValue>> &IssueTypes = Project->GetArrayField(TEXT("issuetypes"));
|
||||||
for (const TSharedPtr<FJsonValue> &IssueTypeValue : IssueTypes)
|
for (const TSharedPtr<FJsonValue> &IssueTypeValue : IssueTypes)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &IssueType = IssueTypeValue->AsObject();
|
const TSharedPtr<FJsonObject> &IssueType = IssueTypeValue->AsObject();
|
||||||
const TSharedPtr<FJsonObject> &Fields = IssueType->GetObjectField("fields");
|
const TSharedPtr<FJsonObject>& Fields = IssueType->GetObjectField(TEXT("fields"));
|
||||||
|
|
||||||
// After all that boilerplate code, finally get all available field options here
|
// After all that boilerplate code, finally get all available field options here
|
||||||
{
|
{
|
||||||
// Components
|
// Components
|
||||||
const TSharedPtr<FJsonObject> &Department = Fields->GetObjectField(this->DepartmentCustomField);
|
const TSharedPtr<FJsonObject> &Department = Fields->GetObjectField(this->DepartmentCustomField);
|
||||||
const TArray<TSharedPtr<FJsonValue>> &AllowedDepartmentsArray = Department->GetArrayField("allowedValues");
|
const TArray<TSharedPtr<FJsonValue>>& AllowedDepartmentsArray = Department->GetArrayField(TEXT("allowedValues"));
|
||||||
for (const TSharedPtr<FJsonValue> &AllowedDepartmentsValue : AllowedDepartmentsArray)
|
for (const TSharedPtr<FJsonValue> &AllowedDepartmentsValue : AllowedDepartmentsArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Value = AllowedDepartmentsValue->AsObject();
|
const TSharedPtr<FJsonObject> &Value = AllowedDepartmentsValue->AsObject();
|
||||||
this->ComponentsList.Add(Value->GetStringField("value"));
|
this->ComponentsList.Add(Value->GetStringField(TEXT("value")));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bug severity
|
// Bug severity
|
||||||
const TSharedPtr<FJsonObject> &Severity = Fields->GetObjectField(this->SeverityCustomField);
|
const TSharedPtr<FJsonObject> &Severity = Fields->GetObjectField(this->SeverityCustomField);
|
||||||
const TArray<TSharedPtr<FJsonValue>> &AllowedSeveritiesArray = Severity->GetArrayField("allowedValues");
|
const TArray<TSharedPtr<FJsonValue>>& AllowedSeveritiesArray = Severity->GetArrayField(TEXT("allowedValues"));
|
||||||
for (const TSharedPtr<FJsonValue> &AllowedSeveritiesValue : AllowedSeveritiesArray)
|
for (const TSharedPtr<FJsonValue> &AllowedSeveritiesValue : AllowedSeveritiesArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Value = AllowedSeveritiesValue->AsObject();
|
const TSharedPtr<FJsonObject> &Value = AllowedSeveritiesValue->AsObject();
|
||||||
this->SeverityList.Add(Value->GetStringField("value"));
|
this->SeverityList.Add(Value->GetStringField(TEXT("value")));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Platform
|
// Platform
|
||||||
const TSharedPtr<FJsonObject> &Platform = Fields->GetObjectField(this->PlatformCustomField);
|
const TSharedPtr<FJsonObject> &Platform = Fields->GetObjectField(this->PlatformCustomField);
|
||||||
const TArray<TSharedPtr<FJsonValue>> &PlatformsArray = Platform->GetArrayField("allowedValues");
|
const TArray<TSharedPtr<FJsonValue>>& PlatformsArray = Platform->GetArrayField(TEXT("allowedValues"));
|
||||||
for (const TSharedPtr<FJsonValue> &PlatformsValue : PlatformsArray)
|
for (const TSharedPtr<FJsonValue> &PlatformsValue : PlatformsArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Value = PlatformsValue->AsObject();
|
const TSharedPtr<FJsonObject> &Value = PlatformsValue->AsObject();
|
||||||
this->PlatformsList.Add(Value->GetStringField("value"));
|
this->PlatformsList.Add(Value->GetStringField(TEXT("value")));
|
||||||
|
|
||||||
// Also get children and add them to the OS list here
|
// Also get children and add them to the OS list here
|
||||||
const TArray<TSharedPtr<FJsonValue>> &ChildrenArray = Value->GetArrayField("children");
|
const TArray<TSharedPtr<FJsonValue>>& ChildrenArray = Value->GetArrayField(TEXT("children"));
|
||||||
for (const TSharedPtr<FJsonValue> &ChildValue : ChildrenArray)
|
for (const TSharedPtr<FJsonValue> &ChildValue : ChildrenArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Child = ChildValue->AsObject();
|
const TSharedPtr<FJsonObject> &Child = ChildValue->AsObject();
|
||||||
this->OSList.AddUnique(Child->GetStringField("value"));
|
this->OSList.AddUnique(Child->GetStringField(TEXT("value")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -311,7 +311,7 @@ void UServerJiraAPI::ServerFieldOptionsResponse(FHttpRequestPtr Request, FHttpRe
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void UServerJiraAPI::ServerVersionsResponse(FHttpRequestPtr Request, FHttpResponsePtr Response, bool Success)
|
void UServerJiraAPI::ServerVersionsResponse(FHttpRequestPtr Request, FHttpResponsePtr Response, bool Success)
|
||||||
@ -324,11 +324,11 @@ void UServerJiraAPI::ServerVersionsResponse(FHttpRequestPtr Request, FHttpRespon
|
|||||||
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
||||||
if (FJsonSerializer::Deserialize(Reader, JSON))
|
if (FJsonSerializer::Deserialize(Reader, JSON))
|
||||||
{
|
{
|
||||||
const TArray<TSharedPtr<FJsonValue>> &ValuesArray = JSON->GetArrayField("values");
|
const TArray<TSharedPtr<FJsonValue>> &ValuesArray = JSON->GetArrayField(TEXT("values"));
|
||||||
for (const TSharedPtr<FJsonValue> &ValueObject : ValuesArray)
|
for (const TSharedPtr<FJsonValue> &ValueObject : ValuesArray)
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Value = ValueObject->AsObject();
|
const TSharedPtr<FJsonObject> &Value = ValueObject->AsObject();
|
||||||
this->VersionsList.Add(Value->GetStringField("name"));
|
this->VersionsList.Add(Value->GetStringField(TEXT("name")));
|
||||||
}
|
}
|
||||||
|
|
||||||
this->CheckIfAllFormResponsesAreIn();
|
this->CheckIfAllFormResponsesAreIn();
|
||||||
@ -340,7 +340,7 @@ void UServerJiraAPI::ServerVersionsResponse(FHttpRequestPtr Request, FHttpRespon
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void UServerJiraAPI::CheckIfAllFormResponsesAreIn()
|
void UServerJiraAPI::CheckIfAllFormResponsesAreIn()
|
||||||
@ -513,13 +513,13 @@ void UServerJiraAPI::ServerPOSTResponse(FHttpRequestPtr Request, FHttpResponsePt
|
|||||||
if (FJsonSerializer::Deserialize(Reader, JSON))
|
if (FJsonSerializer::Deserialize(Reader, JSON))
|
||||||
{
|
{
|
||||||
// I'm not sure what is meant to show up in the "errorMessages" array, but this is where we handle that.
|
// I'm not sure what is meant to show up in the "errorMessages" array, but this is where we handle that.
|
||||||
const TArray<TSharedPtr<FJsonValue>> &ErrorMessageArray = JSON->GetArrayField("errorMessages");
|
const TArray<TSharedPtr<FJsonValue>>& ErrorMessageArray = JSON->GetArrayField(TEXT("errorMessages"));
|
||||||
if (!ErrorMessageArray.IsEmpty())
|
if (!ErrorMessageArray.IsEmpty())
|
||||||
{
|
{
|
||||||
// Handle error messages here
|
// Handle error messages here
|
||||||
}
|
}
|
||||||
|
|
||||||
const TSharedPtr<FJsonObject> &Errors = JSON->GetObjectField("errors");
|
const TSharedPtr<FJsonObject> &Errors = JSON->GetObjectField(TEXT("errors"));
|
||||||
TArray<FString> ErrorStringBuilder;
|
TArray<FString> ErrorStringBuilder;
|
||||||
TArray<FString> ErrorKeys;
|
TArray<FString> ErrorKeys;
|
||||||
Errors->Values.GenerateKeyArray(ErrorKeys);
|
Errors->Values.GenerateKeyArray(ErrorKeys);
|
||||||
@ -539,7 +539,7 @@ void UServerJiraAPI::ServerPOSTResponse(FHttpRequestPtr Request, FHttpResponsePt
|
|||||||
|
|
||||||
//const int32 &NewBugID = FCString::Atoi(*JSON->GetStringField("id"));
|
//const int32 &NewBugID = FCString::Atoi(*JSON->GetStringField("id"));
|
||||||
//const FString &NewBugKey = JSON->GetStringField("key");
|
//const FString &NewBugKey = JSON->GetStringField("key");
|
||||||
const FString &NewBugURI = JSON->GetStringField("self");
|
const FString& NewBugURI = JSON->GetStringField(TEXT("self"));
|
||||||
|
|
||||||
FHttpModule &HttpModule = FHttpModule::Get();
|
FHttpModule &HttpModule = FHttpModule::Get();
|
||||||
TSharedRef<IHttpRequest, ESPMode::ThreadSafe> NewBugRequest = HttpModule.CreateRequest();
|
TSharedRef<IHttpRequest, ESPMode::ThreadSafe> NewBugRequest = HttpModule.CreateRequest();
|
||||||
@ -557,7 +557,7 @@ void UServerJiraAPI::ServerPOSTResponse(FHttpRequestPtr Request, FHttpResponsePt
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -571,23 +571,23 @@ void UServerJiraAPI::ServerPOSTUpdateMarkerResponse(FHttpRequestPtr Request, FHt
|
|||||||
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
const TSharedRef<TJsonReader<>> &Reader = TJsonReaderFactory<>::Create(JSONResponse);
|
||||||
if (FJsonSerializer::Deserialize(Reader, JSON))
|
if (FJsonSerializer::Deserialize(Reader, JSON))
|
||||||
{
|
{
|
||||||
if (JSON->HasTypedField<EJson::Object>("fields"))
|
if (JSON->HasTypedField<EJson::Object>(TEXT("fields")))
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> &Fields = JSON->GetObjectField("fields");
|
const TSharedPtr<FJsonObject> &Fields = JSON->GetObjectField(TEXT("fields"));
|
||||||
const TSharedPtr<FJsonObject> &PlatformFields = Fields->GetObjectField(this->PlatformCustomField);
|
const TSharedPtr<FJsonObject> &PlatformFields = Fields->GetObjectField(this->PlatformCustomField);
|
||||||
|
|
||||||
TArray<FUnrealzillaBugData> BugData;
|
TArray<FUnrealzillaBugData> BugData;
|
||||||
FUnrealzillaBugData Bug;
|
FUnrealzillaBugData Bug;
|
||||||
Bug.ID = JSON->GetIntegerField("id");
|
Bug.ID = JSON->GetIntegerField(TEXT("id"));
|
||||||
Bug.Summary = Fields->GetStringField("summary");
|
Bug.Summary = Fields->GetStringField(TEXT("summary"));
|
||||||
Bug.Component = Fields->GetObjectField(this->DepartmentCustomField)->GetStringField("value");
|
Bug.Component = Fields->GetObjectField(this->DepartmentCustomField)->GetStringField(TEXT("value"));
|
||||||
Bug.MapName = Fields->GetStringField(this->MapNameCustomField);
|
Bug.MapName = Fields->GetStringField(this->MapNameCustomField);
|
||||||
Bug.MarkerLocation = Fields->GetStringField(this->MarkerLocationCustomField);
|
Bug.MarkerLocation = Fields->GetStringField(this->MarkerLocationCustomField);
|
||||||
Bug.Platform = PlatformFields->GetStringField("value");
|
Bug.Platform = PlatformFields->GetStringField(TEXT("value"));
|
||||||
Bug.OperatingSystem = PlatformFields->GetObjectField("child")->GetStringField("value");
|
Bug.OperatingSystem = PlatformFields->GetObjectField(TEXT("child"))->GetStringField(TEXT("value"));
|
||||||
Bug.Severity = Fields->GetObjectField(this->SeverityCustomField)->GetStringField("value");
|
Bug.Severity = Fields->GetObjectField(this->SeverityCustomField)->GetStringField(TEXT("value"));
|
||||||
Bug.Status = Fields->GetObjectField("status")->GetStringField("name");
|
Bug.Status = Fields->GetObjectField(TEXT("status"))->GetStringField(TEXT("name"));
|
||||||
Bug.Resolution = Fields->GetStringField("resolution");
|
Bug.Resolution = Fields->GetStringField(TEXT("resolution"));
|
||||||
BugData.Add(Bug);
|
BugData.Add(Bug);
|
||||||
this->BugDataResponse.Execute(BugData);
|
this->BugDataResponse.Execute(BugData);
|
||||||
}
|
}
|
||||||
@ -599,7 +599,7 @@ void UServerJiraAPI::ServerPOSTUpdateMarkerResponse(FHttpRequestPtr Request, FHt
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->ServerConnectionError(Request->GetStatus());
|
this->ServerConnectionError(Request->GetStatus(), Request->GetFailureReason());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -84,7 +84,7 @@ private:
|
|||||||
uint8 bArbitraryPlacement : 1;
|
uint8 bArbitraryPlacement : 1;
|
||||||
uint8 bCurrentTraceHit : 1;
|
uint8 bCurrentTraceHit : 1;
|
||||||
|
|
||||||
TObjectPtr<class APawn> OriginalPawn;
|
TObjectPtr<class ACharacter> OriginalPlayer;
|
||||||
|
|
||||||
TObjectPtr<class ABugMarkerActor> BugMarker;
|
TObjectPtr<class ABugMarkerActor> BugMarker;
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,7 @@ public:
|
|||||||
FServerErrorResponseDelegate ErrorResponse;
|
FServerErrorResponseDelegate ErrorResponse;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ServerConnectionError(const EHttpRequestStatus::Type Status);
|
void ServerConnectionError(const EHttpRequestStatus::Type Status, const EHttpFailureReason Reason);
|
||||||
|
|
||||||
void CreateError(const EErrorVerb &Verb, const FBugzillaJSONPostResponse &Data);
|
void CreateError(const EErrorVerb &Verb, const FBugzillaJSONPostResponse &Data);
|
||||||
void CreateError(const EErrorVerb &Verb, const FBugzillaJSONProductResponse &Data);
|
void CreateError(const EErrorVerb &Verb, const FBugzillaJSONProductResponse &Data);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user