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"

UserWidget never Ticks

I defined a tick function in my custom widget as so:

 UCLASS()
 class THEARENA_API UArenaFriendsList : public UUserWidget
 {
     GENERATED_BODY()
 
 public:
 
         void Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime);
 
         // . . .
 }

then in the cpp this is what I want tick to do:

 void UArenaFriendsList::Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime)
 {
     if (bSearchingForServers)
     {
         UpdateSearchStatus();
     }
 }

However the tick function is never being called. What do I need to do to make it tick?

Product Version: Not Selected
Tags:
more ▼

asked Mar 07 '15 at 04:08 PM in C++ Programming

avatar image

Janyx
487 66 64 211

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

In short override the Tick_Implementation method and use the parameter list defined for the Tick method. You are currently using another signature as in my current 4.7.2 headers.

Put this in your header:

 virtual void Tick_Implementation(FGeometry MyGeometry, float InDeltaTime) override; 

and this in your cpp file:

 void UArenaFriendsList::Tick_Implementation(FGeometry AllottedGeometry, float InDeltaTime)
  {
      if (bSearchingForServers)
      {
          UpdateSearchStatus();
      }
  }

You have to use the method with the _Implementation postfix because Tick is defined as BlueprintNativeEvent. That means it is handled by the UnrealHeaderTool and code is generated to link the calls correctly if you're generating an dervided blueprint class.

Content of Engine Code (UserWidget.h)

 UFUNCTION(BlueprintNativeEvent, BlueprintCosmetic, Category="User Interface")

Have a nice Day!

DarthB

more ▼

answered Mar 15 '15 at 05:09 PM

avatar image

DarthB
710 32 26 55

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
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