/// <summary> /// Attach this component to another scene component, optionally at a named socket. It is valid to call this on components whether or not they have been Registered. /// @param Parent Parent to attach to. /// @param SocketName Optional socket to attach to on the parent. /// @param LocationRule How to handle translation when attaching. /// @param RotationRule How to handle rotation when attaching. /// @param ScaleRule How to handle scale when attaching. /// @param bWeldSimulatedBodies Whether to weld together simulated physics bodies. /// @return True if attachment is successful (or already attached to requested parent/socket), false if attachment is rejected and there is no change in AttachParent. /// </summary> public bool K2_AttachToComponent(USceneComponent Parent, string SocketName, EAttachmentRule LocationRule, EAttachmentRule RotationRule, EAttachmentRule ScaleRule, bool bWeldSimulatedBodies) { CheckIsValid(); int ___ret = K2_AttachToComponent(_this.Get(), Parent, SocketName, (int)LocationRule, (int)RotationRule, (int)ScaleRule, bWeldSimulatedBodies?1:0); return(___ret != 0); }
/// <summary> /// Attach this component to another scene component, optionally at a named socket. It is valid to call this on components whether or not they have been Registered. /// @param InParent Parent to attach to. /// @param InSocketName Optional socket to attach to on the parent. /// @param AttachType How to handle transform when attaching (Keep relative offset, keep world position, etc). /// @param bWeldSimulatedBodies Whether to weld together simulated physics bodies. /// @return True if attachment is successful (or already attached to requested parent/socket), false if attachment is rejected and there is no change in AttachParent. /// </summary> public bool K2_AttachTo(USceneComponent InParent, string InSocketName = "None", EAttachLocation AttachType = EAttachLocation.KeepRelativeOffset, bool bWeldSimulatedBodies = true) { CheckIsValid(); int ___ret = K2_AttachTo(_this.Get(), InParent, InSocketName, (int)AttachType, bWeldSimulatedBodies?1:0); return(___ret != 0); }
/// <summary>Get the SceneComponent we are attached to.</summary> public USceneComponent GetAttachParent() { CheckIsValid(); IntPtr ___ret = GetAttachParent(_this.Get()); if (___ret == IntPtr.Zero) { return(null); } USceneComponent ___ret2 = new USceneComponent() { _this = ___ret }; return(___ret2); }
/// <summary>Gets the attached child component at the specified location</summary> public USceneComponent GetChildComponent(int ChildIndex) { CheckIsValid(); IntPtr ___ret = GetChildComponent(_this.Get(), ChildIndex); if (___ret == IntPtr.Zero) { return(null); } USceneComponent ___ret2 = new USceneComponent() { _this = ___ret }; return(___ret2); }
/// <summary> /// <para>Assign the component we move and update. </para> /// </summary> public override void SetUpdatedComponent(USceneComponent newUpdatedComponent) { }
/// <summary> /// <para>Welds this component to another scene component, optionally at a named socket. Component is automatically attached if not already </para> /// <para>Welding allows the child physics object to become physically connected to its parent. This is useful for creating compound rigid bodies with correct mass distribution. </para> /// <param name="InParent">the component to be physically attached to </param> /// <param name="InSocketName">optional socket to attach component to </param> /// </summary> public override void WeldTo(USceneComponent inParent, string inSocketName) { }
/// <summary> /// Assigns the component that will be used for network interpolation/smoothing. It is expected that this is a component attached somewhere below the UpdatedComponent. /// <para>When network updates use MoveInterpolationTarget() to move the UpdatedComponent, the interpolated component's relative offset will be maintained and smoothed over </para> /// the course of future component ticks. The current relative location and rotation of the component is saved as the target offset for future interpolation. /// <see cref="MoveInterpolationTarget"/> /// </summary> public override void SetInterpolatedComponent(USceneComponent component) { }
/// <summary>Assign the component we move and update.</summary> public extern virtual void SetUpdatedComponent(USceneComponent NewUpdatedComponent);
/// <summary>Get bounds</summary> public extern static void GetComponentBounds(USceneComponent Component, out FVector Origin, out FVector BoxExtent, out float SphereRadius);
/// <summary> /// * Interpolate a component to the specified relative location and rotation over the course of OverTime seconds. /// * @param Component Component to interpolate /// * @param TargetRelativeLocation Relative target location /// * @param TargetRelativeRotation Relative target rotation /// * @param bEaseOut if true we will ease out (ie end slowly) during interpolation /// * @param bEaseIn if true we will ease in (ie start slowly) during interpolation /// * @param OverTime duration of interpolation /// * @param bForceShortestRotationPath if true we will always use the shortest path for rotation /// * @param MoveAction required movement behavior @see EMoveComponentAction /// * @param LatentInfo The latent action /// </summary> public extern static void MoveComponentTo(USceneComponent Component, FVector TargetRelativeLocation, FRotator TargetRelativeRotation, bool bEaseOut, bool bEaseIn, float OverTime, bool bForceShortestRotationPath, EMoveComponentAction MoveAction, FLatentActionInfo LatentInfo);
/// <summary>Assign the component we move and update.</summary> public void SetUpdatedComponent(USceneComponent NewUpdatedComponent) { CheckIsValid(); SetUpdatedComponent(_this.Get(), NewUpdatedComponent); }
/// <summary> /// Used to override the default positioning of the audio listener /// @param AttachToComponent Optional component to attach the audio listener to /// @param Location Depending on whether Component is attached this is either an offset from its location or an absolute position /// @param Rotation Depending on whether Component is attached this is either an offset from its rotation or an absolute rotation /// </summary> public extern void SetAudioListenerOverride(USceneComponent AttachToComponent, FVector Location, FRotator Rotation);
/// <summary> /// Called after a child scene component is detached from this component. /// <para>Note: Do not change the attachment state of the child during this call. </para> /// </summary> protected override void OnChildDetached(USceneComponent childComponent) { }
/// <summary> /// <para>Assign the component we move and update. </para> /// </summary> public virtual void SetUpdatedComponent(USceneComponent newUpdatedComponent) => E_UMovementComponent_SetUpdatedComponent(this, newUpdatedComponent);
/// <summary> /// Attaches the RootComponent of this Actor to the supplied component, optionally at a named socket. It is not valid to call this on components that are not Registered. /// @param AttachLocationType Type of attachment, AbsoluteWorld to keep its world position, RelativeOffset to keep the object's relative offset and SnapTo to snap to the new parent. /// </summary> public extern void K2_AttachRootComponentTo(USceneComponent InParent, FName InSocketName, EAttachLocation AttachLocationType = EAttachLocation.KeepRelativeOffset, bool bWeldSimulatedBodies = true);
/// <summary> /// Set AutoAttachParent, AutoAttachSocketName, AutoAttachLocationRule, AutoAttachRotationRule, AutoAttachScaleRule to the specified parameters. Does not change bAutoManageAttachment; that must be set separately. /// @param Parent Component to attach to. /// @param SocketName Socket on Parent to attach to. /// @param LocationRule Option for how we handle our location when we attach to Parent. /// @param RotationRule Option for how we handle our rotation when we attach to Parent. /// @param ScaleRule Option for how we handle our scale when we attach to Parent. /// @see bAutoManageAttachment, AutoAttachParent, AutoAttachSocketName, AutoAttachLocationRule, AutoAttachRotationRule, AutoAttachScaleRule /// </summary> public void SetAutoAttachmentParameters(USceneComponent Parent, string SocketName, EAttachmentRule LocationRule, EAttachmentRule RotationRule, EAttachmentRule ScaleRule) { CheckIsValid(); SetAutoAttachmentParameters(_this.Get(), Parent, SocketName, (int)LocationRule, (int)RotationRule, (int)ScaleRule); }
/// <summary> /// <para>Called after a child scene component is attached to this component. </para> /// <para>Note: Do not change the attachment state of the child during this call. </para> /// </summary> protected override void OnChildAttached(USceneComponent ChildComponent) { }