<commit_before>package unreal;

extern class AActor_Extra {
  /** Dormancy setting for actor to take itself off of the replication list without being destroyed on clients. */
  public var NetDormancy:ENetDormancy;

  public function Tick(DeltaSeconds:Float32) : Void;

  public function Reset() : Void;

  /** Event when play begins for this actor. */
#if (UE_VER < 4.16)
  public
#else
  private
#end
  function BeginPlay() : Void;

  /** Overridable function called whenever this actor is being removed from a level */
  public function EndPlay(Reason:EEndPlayReason) : Void;

  /** Puts actor in dormant networking state */
  public function SetNetDormancy(NewDormancy:ENetDormancy) : Void;

  /**
   * Destroy this actor. Returns true the actor is destroyed or already marked for destruction, false if indestructible.
   * Destruction is latent. It occurs at the end of the tick.
   * @param bNetForce       [opt] Ignored unless called during play.  Default is false.
   * @param bShouldModifyLevel    [opt] If true, Modify() the level before removing the actor.  Default is true.
   * returns  true if destroyed or already marked for destruction, false if indestructible.
   */
  public function Destroy(bNetForce:Bool = false, bShouldModifyLevel:Bool = true) : Void;

  /** Called once this actor has been deleted */
  public function Destroyed() : Void;

  /** Apply damage to this actor.
   * @see https://www.unrealengine.com/blog/damage-in-ue4
   * @param DamageAmount    How much damage to apply
   * @param DamageEvent   Data package that fully describes the damage received.
   * @param EventInstigator The Controller responsible for the damage.
   * @param DamageCauser    The Actor that directly caused the damage (e.g. the projectile that exploded, the rock that landed on you)
   * @return          The amount of damage actually applied.
   */
  public function TakeDamage(DamageAmount:Float32, DamageEvent:Const<PRef<FDamageEvent>>,EventInstigator:AController, DamageCauser:AActor) : Float32;

  /** Returns this actor's root component. */
  @:thisConst
  public function GetRootComponent() : USceneComponent;

  @:thisConst
  public function GetActorLocation() : FVector;

  public function SetActorLocation(vec:Const<PRef<FVector>>, bSweep:Bool, outSweepResult:PPtr<FHitResult>) : Bool;

  @:thisConst
  public function GetActorRotation() : FRotator;

  @:thisConst
  public function GetActorQuat() : FQuat;

  /** Called immediately before gameplay begins. */
  public function PreInitializeComponents() : Void;

  // Allow actors to initialize themselves on the C++ side
  public function PostInitializeComponents() : Void;
  public function GetWorldSettings() : AWorldSettings;

  /** Get the timer instance from the actors world */
  @:thisConst
  public function GetWorldTimerManager() : PRef<FTimerManager>;

  /**
   *	Event when this actor overlaps another actor, for example a player walking into a trigger.
   *	For events when objects have a blocking collision, for example a player hitting a wall, see 'Hit' events.
   *	@note Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.
   */
  public function NotifyActorBeginOverlap(OtherActor:AActor) : Void;

  /**
   *	Event when an actor no longer overlaps another actor, and they have separated.
   *	@note Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.
   */
  public function NotifyActorEndOverlap(OtherActor:AActor) : Void;

  public function TornOff() : Void;

  /**
   * Called when an instance of this class is placed (in editor) or spawned.
   * @param	Transform			The transform the actor was constructed at.
   */
  public function OnConstruction(Transform:Const<PRef<FTransform>>) : Void;


  // TODO glue when we can properly handle const UDamageType& extern.
  /** called when the actor falls out of the world 'safely' (below KillZ and such) */
  // public function FellOutOfWorld(dmgType:Const<PRef<UDamageType>>) : Void;

  /**
   * Event when this actor bumps into a blocking object, or blocks another actor that bumps into it.
   * This could happen due to things like Character movement, using Set Location with 'sweep' enabled, or physics simulation.
   * For events when objects overlap (e.g. walking into a trigger) see the 'Overlap' event.
   *
   * @note For collisions during physics simulation to generate hit events, 'Simulation Generates Hit Events' must be enabled.
   * @note When receiving a hit from another object's movement (bSelfMoved is false), the directions of 'Hit.Normal' and 'Hit.ImpactNormal'
   * will be adjusted to indicate force from the other object against this object.
   */
  public function NotifyHit(MyComp:UPrimitiveComponent,
    Other:AActor,
    OtherComp:UPrimitiveComponent,
    bSelfMoved:Bool,
    HitLocation:FVector,
    HitNormal:FVector,
    NormalImpulse:FVector,
    Hit:Const<PRef<FHitResult>>) : Void;

  public function GetNetMode() : ENetMode;

  /** Get the local-to-world transform of the RootComponent. Identical to GetTransform(). */
  @:thisConst
  public function ActorToWorld() : FTransform;

  public static function GetDebugName(actor:Const<AActor>) : FString;

  @:thisConst
  public function ShouldTickIfViewportsOnly() : Bool;

  #if WITH_EDITOR
  public function PostEditMove(bFinished:Bool) : Void;
	public function EditorApplyScale(DeltaScale:Const<PRef<FVector>>, PivotLocation:PPtr<Const<FVector>>, bAltDown:Bool, bShiftDown:Bool, bCtrlDown:Bool) : Void;
  @:thisConst
  public function GetReferencedContentObjects(Objects:PRef<TArray<UObject>>) : Bool;
  #end

  function TeleportTo(destLocation:Const<PRef<FVector>>, destRotation:Const<PRef<FRotator>>, bIsATest:Bool /* = false */, bNoCheck:Bool /* = false */):Bool;

  /** Returns true if this actor has begun the destruction process.
   *  This is set to true in UWorld::DestroyActor, after the network connection has been closed but before any other shutdown has been performed.
   *	@return true if this actor has begun destruction, or if this actor has been destroyed already.
   **/
  @:thisConst
  function IsPendingKillPending() : Bool;

  /* Called when this actor becomes the given PlayerController's ViewTarget. Triggers the Blueprint event K2_OnBecomeViewTarget. */
  function BecomeViewTarget( PC:APlayerController ) : Void;

  /* Called when this actor is no longer the given PlayerController's ViewTarget. Also triggers the Blueprint event K2_OnEndViewTarget. */
  function EndViewTarget( PC:APlayerController ) : Void;

  /** Removes a component from the OwnedComponents array of the Actor.
   *  In general this should not need to be called directly by anything other than UActorComponent functions
   */
  public function RemoveOwnedComponent(Component:UActorComponent) : Void;

  /**
   * Set the Actor's rotation instantly to the specified rotation.
   *
   * @param	NewRotation	The new rotation for the Actor.
   * @param	Teleport	How we teleport the physics state (if physics collision is enabled for this object).
   *						If equal to ETeleportType::TeleportPhysics, physics velocity for this object is unchanged (so ragdoll parts are not affected by change in location).
   *						If equal to ETeleportType::None, physics velocity is updated based on the change in position (affecting ragdoll parts).
   * @return	Whether the rotation was successfully set.
   */
  function SetActorRotation(NewRotation:FRotator, Teleport:ETeleportType) : Bool;

  /** Returns whether an actor has been initialized */
  @:thisConst
  public function IsActorInitialized() : Bool;

  /** Returns whether an actor is in the process of beginning play */
  @:thisConst
  public function IsActorBeginningPlay() : Bool;

  /** Returns whether an actor has had BeginPlay called on it (and not subsequently had EndPlay called) */
  @:thisConst
  public function HasActorBegunPlay() : Bool;

  @:noTemplate
  @:typeName public function FindComponentByClass<T : UActorComponent>( cls:TSubclassOf<UActorComponent> ) : T;

  @:uproperty private var bReplicates:Bool;

  /** The time this actor was created, relative to World->GetTimeSeconds().
  @see UWorld::GetTimeSeconds()
  */
  public var CreationTime:Float32;

	/** Called on the actor when a new subobject is dynamically created via replication */
  public function OnSubobjectCreatedFromReplication(NewSubobject:UObject) : Void;

	/** Called on the actor when a subobject is dynamically destroyed via replication */
	public function OnSubobjectDestroyFromReplication(Subobject:UObject) : Void;

	private function InternalTakeRadialDamage(Damage:Float32, RadialDamageEvent:Const<PRef<FRadialDamageEvent>>, EventInstigator:AController, DamageCauser:AActor) : Float32;
	private function InternalTakePointDamage(Damage:Float32,  PointDamageEvent:Const<PRef<FPointDamageEvent>>, EventInstigator:AController, DamageCauser:AActor) : Float32;
}
<commit_msg>[CL-14835] Update to latest perforce change<commit_after>package unreal;

extern class AActor_Extra {
  /** Dormancy setting for actor to take itself off of the replication list without being destroyed on clients. */
  public var NetDormancy:ENetDormancy;

  public function Tick(DeltaSeconds:Float32) : Void;

  public function Reset() : Void;

  /** Event when play begins for this actor. */
#if (UE_VER < 4.16)
  public
#else
  private
#end
  function BeginPlay() : Void;

  /** Overridable function called whenever this actor is being removed from a level */
  public function EndPlay(Reason:EEndPlayReason) : Void;

  /** Puts actor in dormant networking state */
  public function SetNetDormancy(NewDormancy:ENetDormancy) : Void;

  /**
   * Destroy this actor. Returns true the actor is destroyed or already marked for destruction, false if indestructible.
   * Destruction is latent. It occurs at the end of the tick.
   * @param bNetForce       [opt] Ignored unless called during play.  Default is false.
   * @param bShouldModifyLevel    [opt] If true, Modify() the level before removing the actor.  Default is true.
   * returns  true if destroyed or already marked for destruction, false if indestructible.
   */
  public function Destroy(bNetForce:Bool = false, bShouldModifyLevel:Bool = true) : Void;

  /** Called once this actor has been deleted */
  public function Destroyed() : Void;

  /** Apply damage to this actor.
   * @see https://www.unrealengine.com/blog/damage-in-ue4
   * @param DamageAmount    How much damage to apply
   * @param DamageEvent   Data package that fully describes the damage received.
   * @param EventInstigator The Controller responsible for the damage.
   * @param DamageCauser    The Actor that directly caused the damage (e.g. the projectile that exploded, the rock that landed on you)
   * @return          The amount of damage actually applied.
   */
  public function TakeDamage(DamageAmount:Float32, DamageEvent:Const<PRef<FDamageEvent>>,EventInstigator:AController, DamageCauser:AActor) : Float32;

  /** Returns this actor's root component. */
  @:thisConst
  public function GetRootComponent() : USceneComponent;

  @:thisConst
  public function GetRootPrimitiveComponent() : UPrimitiveComponent;

  @:thisConst
  public function GetActorLocation() : FVector;

  public function SetActorLocation(vec:Const<PRef<FVector>>, bSweep:Bool, outSweepResult:PPtr<FHitResult>) : Bool;

  @:thisConst
  public function GetActorRotation() : FRotator;

  @:thisConst
  public function GetActorQuat() : FQuat;

  /** Called immediately before gameplay begins. */
  public function PreInitializeComponents() : Void;

  // Allow actors to initialize themselves on the C++ side
  public function PostInitializeComponents() : Void;
  public function GetWorldSettings() : AWorldSettings;

  /** Get the timer instance from the actors world */
  @:thisConst
  public function GetWorldTimerManager() : PRef<FTimerManager>;

  /**
   *	Event when this actor overlaps another actor, for example a player walking into a trigger.
   *	For events when objects have a blocking collision, for example a player hitting a wall, see 'Hit' events.
   *	@note Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.
   */
  public function NotifyActorBeginOverlap(OtherActor:AActor) : Void;

  /**
   *	Event when an actor no longer overlaps another actor, and they have separated.
   *	@note Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.
   */
  public function NotifyActorEndOverlap(OtherActor:AActor) : Void;

  public function TornOff() : Void;

  /**
   * Called when an instance of this class is placed (in editor) or spawned.
   * @param	Transform			The transform the actor was constructed at.
   */
  public function OnConstruction(Transform:Const<PRef<FTransform>>) : Void;


  // TODO glue when we can properly handle const UDamageType& extern.
  /** called when the actor falls out of the world 'safely' (below KillZ and such) */
  // public function FellOutOfWorld(dmgType:Const<PRef<UDamageType>>) : Void;

  /**
   * Event when this actor bumps into a blocking object, or blocks another actor that bumps into it.
   * This could happen due to things like Character movement, using Set Location with 'sweep' enabled, or physics simulation.
   * For events when objects overlap (e.g. walking into a trigger) see the 'Overlap' event.
   *
   * @note For collisions during physics simulation to generate hit events, 'Simulation Generates Hit Events' must be enabled.
   * @note When receiving a hit from another object's movement (bSelfMoved is false), the directions of 'Hit.Normal' and 'Hit.ImpactNormal'
   * will be adjusted to indicate force from the other object against this object.
   */
  public function NotifyHit(MyComp:UPrimitiveComponent,
    Other:AActor,
    OtherComp:UPrimitiveComponent,
    bSelfMoved:Bool,
    HitLocation:FVector,
    HitNormal:FVector,
    NormalImpulse:FVector,
    Hit:Const<PRef<FHitResult>>) : Void;

  public function GetNetMode() : ENetMode;

  /** Get the local-to-world transform of the RootComponent. Identical to GetTransform(). */
  @:thisConst
  public function ActorToWorld() : FTransform;

  public static function GetDebugName(actor:Const<AActor>) : FString;

  @:thisConst
  public function ShouldTickIfViewportsOnly() : Bool;

  #if WITH_EDITOR
  public function PostEditMove(bFinished:Bool) : Void;
	public function EditorApplyScale(DeltaScale:Const<PRef<FVector>>, PivotLocation:PPtr<Const<FVector>>, bAltDown:Bool, bShiftDown:Bool, bCtrlDown:Bool) : Void;
  @:thisConst
  public function GetReferencedContentObjects(Objects:PRef<TArray<UObject>>) : Bool;
  #end

  function TeleportTo(destLocation:Const<PRef<FVector>>, destRotation:Const<PRef<FRotator>>, bIsATest:Bool /* = false */, bNoCheck:Bool /* = false */):Bool;

  /** Returns true if this actor has begun the destruction process.
   *  This is set to true in UWorld::DestroyActor, after the network connection has been closed but before any other shutdown has been performed.
   *	@return true if this actor has begun destruction, or if this actor has been destroyed already.
   **/
  @:thisConst
  function IsPendingKillPending() : Bool;

  /* Called when this actor becomes the given PlayerController's ViewTarget. Triggers the Blueprint event K2_OnBecomeViewTarget. */
  function BecomeViewTarget( PC:APlayerController ) : Void;

  /* Called when this actor is no longer the given PlayerController's ViewTarget. Also triggers the Blueprint event K2_OnEndViewTarget. */
  function EndViewTarget( PC:APlayerController ) : Void;

  /** Removes a component from the OwnedComponents array of the Actor.
   *  In general this should not need to be called directly by anything other than UActorComponent functions
   */
  public function RemoveOwnedComponent(Component:UActorComponent) : Void;

  /**
   * Set the Actor's rotation instantly to the specified rotation.
   *
   * @param	NewRotation	The new rotation for the Actor.
   * @param	Teleport	How we teleport the physics state (if physics collision is enabled for this object).
   *						If equal to ETeleportType::TeleportPhysics, physics velocity for this object is unchanged (so ragdoll parts are not affected by change in location).
   *						If equal to ETeleportType::None, physics velocity is updated based on the change in position (affecting ragdoll parts).
   * @return	Whether the rotation was successfully set.
   */
  function SetActorRotation(NewRotation:FRotator, Teleport:ETeleportType) : Bool;

  /** Returns whether an actor has been initialized */
  @:thisConst
  public function IsActorInitialized() : Bool;

  /** Returns whether an actor is in the process of beginning play */
  @:thisConst
  public function IsActorBeginningPlay() : Bool;

  /** Returns whether an actor has had BeginPlay called on it (and not subsequently had EndPlay called) */
  @:thisConst
  public function HasActorBegunPlay() : Bool;

  @:noTemplate
  @:typeName public function FindComponentByClass<T : UActorComponent>( cls:TSubclassOf<UActorComponent> ) : T;

  @:uproperty private var bReplicates:Bool;

  /** The time this actor was created, relative to World->GetTimeSeconds().
  @see UWorld::GetTimeSeconds()
  */
  public var CreationTime:Float32;

	/** Called on the actor when a new subobject is dynamically created via replication */
  public function OnSubobjectCreatedFromReplication(NewSubobject:UObject) : Void;

	/** Called on the actor when a subobject is dynamically destroyed via replication */
	public function OnSubobjectDestroyFromReplication(Subobject:UObject) : Void;

	private function InternalTakeRadialDamage(Damage:Float32, RadialDamageEvent:Const<PRef<FRadialDamageEvent>>, EventInstigator:AController, DamageCauser:AActor) : Float32;
	private function InternalTakePointDamage(Damage:Float32,  PointDamageEvent:Const<PRef<FPointDamageEvent>>, EventInstigator:AController, DamageCauser:AActor) : Float32;
}

{'fraction_non_alphanumeric': 0.07973587837088003, 'fraction_numerical': 0.0027188991232937523, 'mean_word_length': 4.448307134220072, 'pattern_counts': {'":': 0, '<': 63, '<?xml version=': 0, '>': 63, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1072078', 'n_tokens_mistral': 5188, 'n_tokens_neox': 4912, 'n_words': 1880}