Migrated Telemetry To GameMode
This commit is contained in:
parent
80912566d3
commit
61018a044d
@ -70,7 +70,7 @@ bOffsetPlayerGamepadIds=False
|
||||
GameInstanceClass=/Script/Engine.GameInstance
|
||||
GameDefaultMap=/Game/Levels/TrainingFacility.TrainingFacility
|
||||
ServerDefaultMap=/Engine/Maps/Entry.Entry
|
||||
GlobalDefaultGameMode=/Game/FirstPerson/GunMechanicWorld.GunMechanicWorld_C
|
||||
GlobalDefaultGameMode=/Script/EndlessVendetta.EndlessVendettaGameMode
|
||||
GlobalDefaultServerGameMode=None
|
||||
|
||||
[/Script/Engine.RendererSettings]
|
||||
|
BIN
EndlessVendetta/Content/BP_Telemetry.uasset
(Stored with Git LFS)
BIN
EndlessVendetta/Content/BP_Telemetry.uasset
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
EndlessVendetta/Content/FirstPerson/Blueprints/WBP_Crosshair.uasset
(Stored with Git LFS)
BIN
EndlessVendetta/Content/FirstPerson/Blueprints/WBP_Crosshair.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
EndlessVendetta/Content/Levels/TrainingFacility.umap
(Stored with Git LFS)
BIN
EndlessVendetta/Content/Levels/TrainingFacility.umap
(Stored with Git LFS)
Binary file not shown.
@ -10,6 +10,7 @@
|
||||
#include "Perception/AISense_Sight.h"
|
||||
#include "BehaviorTree/BlackboardComponent.h"
|
||||
#include "../Telemetry.h"
|
||||
#include <EndlessVendetta/EndlessVendettaGameMode.h>
|
||||
|
||||
|
||||
// Sets default values
|
||||
@ -99,5 +100,5 @@ void AAICharacter::OnDeath()
|
||||
}
|
||||
|
||||
SetLifeSpan(30.0f);
|
||||
Cast<ATelemetry>(GetWorld()->GetGameState())->SendEvent("kill", "");
|
||||
Cast<AEndlessVendettaGameMode>(GetWorld()->GetAuthGameMode())->SendEvent("kill", "");
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "EndlessVendetta/EndlessVendettaCharacter.h"
|
||||
#include "EndlessVendetta/Telemetry.h"
|
||||
#include "GameFramework/Actor.h"
|
||||
#include <EndlessVendetta/EndlessVendettaGameMode.h>
|
||||
#include "CheckpointClass.generated.h"
|
||||
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FCompletedCheckpoint);
|
||||
@ -37,7 +38,7 @@ protected:
|
||||
void BroadcastCompletion()
|
||||
{
|
||||
CompletedCheckpoint.Broadcast();
|
||||
Cast<ATelemetry>(GetWorld()->GetGameState())->SendEvent("Check", CheckpointTip);
|
||||
Cast<AEndlessVendettaGameMode>(GetWorld()->GetAuthGameMode())->SendEvent("Check", CheckpointTip);
|
||||
}
|
||||
|
||||
UFUNCTION(BlueprintCallable)
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "GameFramework/MovementComponent.h"
|
||||
#include "Inventory/InventoryComponent.h"
|
||||
#include "EndlessVendettaGameMode.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -293,7 +294,7 @@ void AEndlessVendettaCharacter::EquipPrimary()
|
||||
PrimaryWeapon = nullptr;
|
||||
bHasRifle = false;
|
||||
GLog->Log("Primary Weapon Put Away");
|
||||
Cast<ATelemetry>(GetWorld()->GetGameState())->SendEvent("DeEquip", "Pri");
|
||||
Cast<AEndlessVendettaGameMode>(GetWorld()->GetAuthGameMode())->SendEvent("DeEquip", "Pri");
|
||||
return;
|
||||
}
|
||||
if(bIsWeaponPickedUp)
|
||||
@ -320,7 +321,7 @@ void AEndlessVendettaCharacter::EquipPrimary()
|
||||
// bIsPrimaryWeaponCreated = true;
|
||||
// }
|
||||
if (!IsValid(PrimaryWeaponActor)) return;
|
||||
Cast<ATelemetry>(GetWorld()->GetGameState())->SendEvent("Equip", "Pri");
|
||||
Cast<AEndlessVendettaGameMode>(GetWorld()->GetAuthGameMode())->SendEvent("Equip", "Pri");
|
||||
PrimaryWeaponActor->AttachToComponent(Mesh1P, AttachmentRules, FName("GripPoint"));
|
||||
PrimaryWeapon = Cast<ABaseWeaponClass>(PrimaryWeaponActor);
|
||||
PrimaryWeapon->SetActorHiddenInGame(false);
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "EndlessVendetta/AI/AIControlHub.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "Engine/DamageEvents.h"
|
||||
#include "Misc/Guid.h"
|
||||
|
||||
AEndlessVendettaGameMode::AEndlessVendettaGameMode() : Super()
|
||||
{
|
||||
@ -38,3 +39,26 @@ void AEndlessVendettaGameMode::SetLocalAIAlertLevel(int NewAlertLevel)
|
||||
AIControlHub->SetAlertLevel(NewAlertLevel);
|
||||
}
|
||||
}
|
||||
|
||||
void AEndlessVendettaGameMode::SendEvent(FString EventKey, FString EventData)
|
||||
{
|
||||
const FString EventID = FGuid::NewGuid().ToString();
|
||||
const FString EventTime = FDateTime::Now().ToString();
|
||||
const auto Request = FHttpModule::Get().CreateRequest();
|
||||
Request->SetURL(TelemetryURLEvents);
|
||||
Request->SetVerb("POST");
|
||||
Request->SetHeader("Content-Type", "application/json");
|
||||
Request->SetHeader("Accept", "application/json");
|
||||
Request->SetContentAsString("{\"SessionID\":\"" + SessionID + "\",\"PlayerGUID\":\"" + PlayerGUID + "\",\"EventID\":\"" + EventID + "\",\"Timestamp\":\"" + EventTime + "\",\"EventKey\":\"" + EventKey + "\",\"EventData\":\"" + EventData + "\"}");
|
||||
Request->OnProcessRequestComplete().BindLambda([](FHttpRequestPtr request, FHttpResponsePtr response, bool success)
|
||||
{
|
||||
GLog->Log("Telemetry Event Response: " + response->GetContentAsString());
|
||||
});
|
||||
Request->ProcessRequest();
|
||||
}
|
||||
|
||||
void AEndlessVendettaGameMode::BeginPlay()
|
||||
{
|
||||
Super::BeginPlay();
|
||||
SessionID = FGuid::NewGuid().ToString().Left(5).ToUpper();
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "GameFramework/GameModeBase.h"
|
||||
#include "Http.h"
|
||||
#include "EndlessVendettaGameMode.generated.h"
|
||||
|
||||
UCLASS(minimalapi)
|
||||
@ -19,4 +20,18 @@ public:
|
||||
|
||||
UFUNCTION(Exec, Category = ExecFunctions)
|
||||
void SetLocalAIAlertLevel(int NewAlertLevel);
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Telemetry")
|
||||
FString TelemetryURLEvents = "https://ev.api.philipwhite.dev/api/event";
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Telemetry")
|
||||
FString TelemetryURLUsers = "https://ev.api.philipwhite.dev/api/user";
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Instanced, Category = "Telemetry")
|
||||
FString SessionID = "AAAAA";
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Telemetry")
|
||||
FString PlayerGUID = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee";
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "Telemetry")
|
||||
void SendEvent(FString EventKey, FString EventData);
|
||||
|
||||
virtual void BeginPlay() override;
|
||||
};
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "Engine/DamageEvents.h"
|
||||
#include "EndlessVendetta/AI/EnemyCharacter.h"
|
||||
#include <EndlessVendetta/EndlessVendettaGameMode.h>
|
||||
|
||||
|
||||
// Sets default values
|
||||
@ -243,7 +244,7 @@ void ABaseWeaponClass::Interact()
|
||||
{
|
||||
if(!IsValid(this)) return;
|
||||
endlessVendettaChar->WeaponSwitcher(this);
|
||||
Cast<ATelemetry>(GetWorld()->GetGameState())->SendEvent("pickup", "");
|
||||
Cast<AEndlessVendettaGameMode>(GetWorld()->GetAuthGameMode())->SendEvent("pickup", "");
|
||||
}
|
||||
|
||||
void ABaseWeaponClass::InteractPrompt()
|
||||
|
Loading…
Reference in New Issue
Block a user