Esempio n. 1
0
        private void OnFirePressed()
        {
            var character = GetCharacter();
            var result    = new FHitResult();

            GetWorld().DebugDrawTraceTag = "drag&drop";

            GetWorld().LineTraceSingleByChannel(
                result,
                character.GetCapsuleComponent().GetWorldLocation(),
                character.GetCapsuleComponent().GetWorldLocation() + GetControlRotation().Vector() * DragDropDistance,
                ECollisionChannel.ECC_Visibility,
                new FCollisionQueryParams(GetWorld().DebugDrawTraceTag, true, null),
                new FCollisionResponseParams(ECollisionResponse.ECR_Block)
                );

            _pickUpObject = result.GetActor();
            _dragDistance = result.Distance;

            if (_pickUpObject?.IsRootComponentMovable() == false)
            {
                _pickUpObject = null;
            }

            Ue.ScreenDebugMessage(result.GetActor()?.GetName());
        }