G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UCharacterPersonalSpaceSubsystem Class Reference

Allows to run queries about where space is available around a character. Checking for NavMesh border and other characters. This is not testing collisions, but the skeletal mesh box extents! Use static functions for single queries. Use StartTrackingCharacter() to debug draw available space. More...

Public Member Functions

Functions
void StopTrackingCharacter (const AGothicCharacter GothicCharacter)
void StartTrackingCharacter (AGothicCharacter GothicCharacter, float32 TraceDistance, int TraceCount, bool bDebugDraw=false)
 Add character to list that calculates available space as poly surface. Note: right now only used for debug drawing.
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static bool CanMoveStraightToLocation (AGothicCharacter Character, FVector TestLocation, FVector &OutHitLocation, FVector CharacterExtentFactor=FVector(0.800000, 0.800000, 2.500000))
 Returns true if the given character can move to the location on NavMesh in a straight line without running into a character or leaving NavMesh. This checks characters skeletal mesh extents, not the collision capsule.
static bool TryFindSpreadOutLocationFromAllCharactersNearby (AGothicCharacter Character, float32 FindNearbyCharactersRadius, float32 WantedMoveDistance, float32 MinMoveDistance, FVector &OutLocation)
static bool TryFindSpreadOutLocationWithinGroup (AGothicCharacter Character, TArray< AGothicCharacter > &Group, float32 WantedMoveDistance, float32 MinMoveDistance, FVector &OutLocation)
 Returns true if found a location at at least MinMoveDistance, at max WantedMoveDistance away from Characters standing location.
static UClass StaticClass ()
static UCharacterPersonalSpaceSubsystem Get ()
static bool CanMoveStraightInDirection (const AGothicCharacter Character, FVector Direction, float32 Distance, FVector &OutHitLocation, FVector CharacterExtentFactor=FVector(0.800000, 0.800000, 2.500000))
 Returns true if the given character can move in direction by the given distance in a straight line without running into a character or leaving NavMesh. This checks characters skeletal mesh extents, not the collision capsule.
Static Public Member Functions inherited from UTickableWorldSubsystem
static UClass StaticClass ()
Static Public Member Functions inherited from UWorldSubsystem
static UClass StaticClass ()
Static Public Member Functions inherited from USubsystem
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Additional Inherited Members

Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Detailed Description

Allows to run queries about where space is available around a character. Checking for NavMesh border and other characters. This is not testing collisions, but the skeletal mesh box extents! Use static functions for single queries. Use StartTrackingCharacter() to debug draw available space.

Member Function Documentation

◆ CanMoveStraightInDirection()

bool CanMoveStraightInDirection ( const AGothicCharacter Character,
FVector Direction,
float32 Distance,
FVector & OutHitLocation,
FVector CharacterExtentFactor = FVector ( 0.800000 , 0.800000 , 2.500000 ) )
static

Returns true if the given character can move in direction by the given distance in a straight line without running into a character or leaving NavMesh. This checks characters skeletal mesh extents, not the collision capsule.

Parameters
OutHitLocationNavMesh-projected location. Either where it got blocked or where trace ended.
CharacterExtentFactorMultiplier for the box extents of characters

◆ CanMoveStraightToLocation()

bool CanMoveStraightToLocation ( AGothicCharacter Character,
FVector TestLocation,
FVector & OutHitLocation,
FVector CharacterExtentFactor = FVector ( 0.800000 , 0.800000 , 2.500000 ) )
static

Returns true if the given character can move to the location on NavMesh in a straight line without running into a character or leaving NavMesh. This checks characters skeletal mesh extents, not the collision capsule.

Parameters
TestLocationis NavMesh-projected
OutHitLocationNavMesh-projected location. Either where it got blocked or where trace ended.
CharacterExtentFactorMultiplier for the box extents of characters

◆ Get()

◆ StartTrackingCharacter()

void StartTrackingCharacter ( AGothicCharacter GothicCharacter,
float32 TraceDistance,
int TraceCount,
bool bDebugDraw = false )

Add character to list that calculates available space as poly surface. Note: right now only used for debug drawing.

Parameters
TraceCountAmount of rays that get shot from the character in a circle
bDebugDrawEnable debug drawing for this character

◆ StaticClass()

UClass StaticClass ( )
static

◆ StopTrackingCharacter()

void StopTrackingCharacter ( const AGothicCharacter GothicCharacter)

◆ TryFindSpreadOutLocationFromAllCharactersNearby()

bool TryFindSpreadOutLocationFromAllCharactersNearby ( AGothicCharacter Character,
float32 FindNearbyCharactersRadius,
float32 WantedMoveDistance,
float32 MinMoveDistance,
FVector & OutLocation )
static

◆ TryFindSpreadOutLocationWithinGroup()

bool TryFindSpreadOutLocationWithinGroup ( AGothicCharacter Character,
TArray< AGothicCharacter > & Group,
float32 WantedMoveDistance,
float32 MinMoveDistance,
FVector & OutLocation )
static

Returns true if found a location at at least MinMoveDistance, at max WantedMoveDistance away from Characters standing location.