Files
Naked-Desire/Source/NakedDesire/Locations/LocationTrigger.h
T
2026-05-30 00:18:14 +03:00

46 lines
1.2 KiB
C++

// © 2025 Naked People Team. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "LocationTrigger.generated.h"
class ULocationData;
class UBoxComponent;
UCLASS()
class NAKEDDESIRE_API ALocationTrigger : public AActor
{
GENERATED_BODY()
UPROPERTY(BlueprintReadOnly, meta = (AllowPrivateAccess))
UBoxComponent* BoxTrigger;
UPROPERTY(EditAnywhere)
ULocationData* LocationData;
// When set, the player crossing this trigger drives session start / end on
// USessionManagerSubsystem (GDD §4.1 / §4.3). Exactly one trigger — the
// apartment — should have this checked.
UPROPERTY(EditAnywhere, Category = "Session")
bool bIsApartment = false;
public:
ALocationTrigger();
ULocationData* GetLocationData() const;
protected:
virtual void BeginPlay() override;
private:
UFUNCTION()
void OnTriggerBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor,
UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);
UFUNCTION()
void OnTriggerEndOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor,
UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);
};