// Fill out your copyright notice in the Description page of Project Settings. #include "DDIPlayerController.h" #include "EnhancedInputSubsystems.h" #include "Engine/LocalPlayer.h" #include "InputMappingContext.h" #include "DDICameraManager.h" #include "DDICharacter.h" // #include "UI/DDIWeaponUI.h" ADDIPlayerController::ADDIPlayerController() { PlayerCameraManagerClass = ADDICameraManager::StaticClass(); } void ADDIPlayerController::SetupInputComponent() { Super::SetupInputComponent(); if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(GetLocalPlayer())) { for (UInputMappingContext* CurrentContext : DefaultMappingContexts) { GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Cyan, "Controller Setup Character"); Subsystem->AddMappingContext(CurrentContext, 0); } } } void ADDIPlayerController::BeginPlay() { Super::BeginPlay(); GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Green, this->GetName()); // WeaponUI = CreateWidget(this, WeaponUIClass); // WeaponUI->AddToPlayerScreen(0); } void ADDIPlayerController::OnPossess(APawn* InPawn) { Super::OnPossess(InPawn); GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Cyan, FString::Printf(TEXT("%s Possessed"), *InPawn->GetName())); // is this a shooter character? if (ADDICharacter* DDICharacter = Cast(InPawn)) { // add the player tag DDICharacter->Tags.Add(PlayerPawnTag); // subscribe to the pawn's bullet count updated delegate // DDICharacter->OnBulletCountUpdated.AddDynamic(this, &ADDIPlayerController::OnBulletCountUpdated); } } // void ADDIPlayerController::OnBulletCountUpdated(int MagazineSize, int Bullets) // { // // update the UI // // WeaponUI->BP_UpdateBulletCounter(MagazineSize, Bullets); // }