2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2014-05-29 17:02:05 -04:00
|
|
|
#include "Particles/ParticleSystemComponent.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
#include "CascadeParticleSystemComponent.generated.h"
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Used to provide an extended particle system component to allow collision to function in the preview window.
|
|
|
|
|
*/
|
2014-04-24 08:49:31 -04:00
|
|
|
UCLASS(hidecategories=Object, hidecategories=Physics, hidecategories=Collision, editinlinenew)
|
2014-03-14 14:13:41 -04:00
|
|
|
class UCascadeParticleSystemComponent : public UParticleSystemComponent
|
|
|
|
|
{
|
2015-03-17 05:38:32 -04:00
|
|
|
GENERATED_UCLASS_BODY()
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
class FCascadeEdPreviewViewportClient* CascadePreviewViewportPtr;
|
|
|
|
|
|
|
|
|
|
// Begin UActorComponent Interface
|
2014-06-13 06:14:46 -04:00
|
|
|
virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override;
|
2014-03-14 14:13:41 -04:00
|
|
|
// End UActorComponent Interface
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Updates time dependent state for this component, called from within Cascade.
|
|
|
|
|
* Requires component to be registered
|
|
|
|
|
* @param DeltaTime - The time since the last tick.
|
|
|
|
|
* @param TickType - The kind of tick this is
|
|
|
|
|
*/
|
|
|
|
|
void CascadeTickComponent(float DeltaTime, enum ELevelTick TickType);
|
|
|
|
|
|
|
|
|
|
// Collision Handling...
|
2015-04-01 07:20:55 -04:00
|
|
|
virtual bool ParticleLineCheck(FHitResult& Hit, AActor* SourceActor, const FVector& End, const FVector& Start, const FVector& Extent, const FCollisionObjectQueryParams&) override;
|
2014-03-14 14:13:41 -04:00
|
|
|
protected:
|
2015-04-01 07:20:55 -04:00
|
|
|
virtual void UpdateLODInformation() override;
|
2014-03-14 14:13:41 -04:00
|
|
|
};
|
|
|
|
|
|