Gå till innehållet

UFUNCTION

Används i header-filer för att ange exponera en funktion till Unreal-editorn.

UFUNCTION(BlueprintNativeEvent)
void CountdownHasFinished();

Mellan parenteserna anges en specifier och eventuella extra inställningar/tillval.

Blueprint functions

I Blueprints så är funktioner block som kan köras. De utför ett arbete som antingen påverkar något i scenen eller där resultatet lämnas vidare till andra block.

SpecifierEffekt i blueprint
BlueprintPureEnkel statisk funktion; tar emot eventuella inputs, häver ur sig outputs, påverkar inte objektet. Funktioner som är const blir automatiskt BlueprintPure.
BlueprintCallableFunktion som kan påverka objektet, och kan kedjas ihop med andra körbara funktioner.

Events

I Blueprints så är events block som aktiverar andra block. Events är röda och ligger alltid i början av kedjor av andra block. "När det här händer, så…"

SpecifierEffekt i blueprint
BlueprintImplementableEventEvent som kan anropas (aktiveras) från C++ för att sätta igång kedjor av händelser i Blueprints. Saknar implementation i C++.
BlueprintNativeEventEvent som kan anropas (aktiveras) från C++ för att sätta igång kedjor av händelser i Blueprints. Kan ha en implementation i C++.

BlueprintNativeEvent

För BlueprintNativeEvents så kan man, om man vill, ha en default-version av logiken som ska hända när funktionen körs. Denna kan sedan ersättas genom att man skapar en händelsekedja i en Blueprint istället. Med andra ord lite som virtual/override; man definierar en default-version som kan skrivas över i subklassen (blueprint-versionen).

Deklarationen i headerfilen och implementationen i cpp-filen ges olika namn; implementationen döps till deklarationsnamnet plus "_Implementation".

Countdown.h
UFUNCTION(BlueprintNativeEvent)
void CountdownHasFinished();
void ACountdown::CountdownHasFinished_Implementation()
{

}