x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

AnswerHub Maintenance

Background maintenance is scheduled to occur between 9 - 11am EDT on Tuesday, May 21. Site operation may be slower than normal during this time and a brief interruption in operation may be observed

Can you derive a AActor and a UActorComponent from the same class with properties?

I have a few functions and properties that are the same for one of my AActor and a UActorComponent and i'm trying to derive them from the same class but i'm having troubles with it.

I get the following compiler error:

 2>  C:/Users/render/Documents/Unreal Projects/dpi-unreal-colosseum/Plugins/VRInteractions/Source/VRInteractions/Public/LookEvents.h(15) : Implements: Class Watchable is not an interface; Can only inherit from non-UObjects or UInterface derived interfaces

But if i implement it as a interface i wouldn't be able to specifie properties because it gives the following error:

 'Member variable declaration' is not allowed here

Would this be possible or would i be better of creating a kind of helper / function library with the logic that they share? I would still need to create exact the same properties for both the classes though.

This is my current base class:

 UCLASS(abstract)
 class UWatchable : public UObject
 {
     GENERATED_UCLASS_BODY()
 
     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Trigger", AdvancedDisplay)
     AActor* Trigger;

This my AActor:

 UCLASS(Blueprintable)
 class AWatchableActor : public AActor, public UWatchable
 {
     GENERATED_UCLASS_BODY()
 
     virtual void Tick(float DeltaTime) override;
 };

And finaly my AActorComponent

 UCLASS(editinlinenew, meta = (BlueprintSpawnableComponent), ClassGroup = Utility)
 class ULookEvents : public UActorComponent, public UWatchable
 {
     GENERATED_UCLASS_BODY()
 
     virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override;
 };
Product Version: UE 4.10
Tags:
more ▼

asked Feb 19 '16 at 09:16 AM in C++ Programming

avatar image

MarkArts
1 1 2

(comments are locked)
10|2000 characters needed characters left

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question