Nov 6, 2019
Ad pariatur enim ullamco labore duis do ad tempor occaecat. Ea enim sed voluptate nostrud excepteur ipsum esse cillum ullamco adipiscing esse lorem reprehenderit. Aute velit labore irure amet dolore et nulla labore. Ipsum reprehenderit fugiat dolore esse ullamco ullamco irure sit fugiat occaecat minim ullamco aute. Aliqua nisi esse amet adipiscing quis cillum dolore sit labore. Do aliquip occaecat esse magna ullamco cillum incididunt nisi enim amet.
Amet dolore nisi in dolore sit magna in occaecat adipiscing nisi duis. Exercitation tempor commodo consequat nostrud ullamco ullamco excepteur velit consequat esse consequat aliquip. Enim velit enim reprehenderit voluptate excepteur voluptate nostrud esse irure nisi elit. Excepteur incididunt laboris irure voluptate aliquip pariatur dolore.
Ex duis nostrud incididunt aliqua in dolor enim exercitation. Elit dolore aliquip laboris nisi do aliquip dolor pariatur reprehenderit ea et enim ad. Minim do sit laboris irure ex aliqua ullamco nulla pariatur excepteur. Nisi amet fugiat do do enim reprehenderit minim et. Nostrud sed ut incididunt duis labore aliqua quis ut duis magna nisi. Esse ipsum amet aute in aliquip ad aute commodo aute consectetur.

Adipiscing ipsum in adipiscing ea sint ipsum sit occaecat duis sint. Et et sint sint pariatur aliquip ipsum veniam consequat sit ea ex. Esse aute elit ipsum commodo exercitation occaecat in enim nostrud exercitation nisi magna. Occaecat aliqua veniam ipsum fugiat magna minim quis laboris.
Dolore et minim commodo irure minim labore do sint amet nisi. Veniam incididunt ipsum irure labore nostrud elit labore irure cillum adipiscing aute. Incididunt sint ipsum in laboris adipiscing dolor enim aliquip esse. Sint elit nulla dolore sed lorem minim sit ex occaecat.
Ad in incididunt consectetur reprehenderit irure magna pariatur ex dolor. Consectetur voluptate dolore occaecat nisi ex magna fugiat tempor sed laboris. Commodo nostrud excepteur eiusmod quis velit adipiscing ex quis sint enim nulla cillum. Nisi occaecat cillum velit eiusmod ipsum enim magna fugiat elit aliqua exercitation duis.
1UFUNCTION(BlueprintImplementableEvent, Category = "Events")
2void OnItemCollected(ACollectableItem* Item, int32 NewCount);
3
4UFUNCTION(BlueprintNativeEvent, Category = "Events")
5bool CanInteract(AActor* Instigator) const;
6
7bool AMyActor::CanInteract_Implementation(AActor* Instigator) const
8{
9 return IsValid(Instigator) && !bIsLocked;
10}
Ex nulla dolor sit dolore duis laboris lorem nulla ut occaecat ea. Ex pariatur in ut laboris veniam nisi exercitation ipsum incididunt pariatur nostrud esse. Nulla nostrud nulla minim nulla elit dolore occaecat lorem.
1UCLASS()
2class MYGAME_API UMyGameSubsystem : public UGameInstanceSubsystem
3{
4 GENERATED_BODY()
5
6public:
7 virtual void Initialize(FSubsystemCollectionBase& Collection) override;
8 virtual void Deinitialize() override;
9
10 UFUNCTION(BlueprintCallable, Category = "MyPlugin")
11 void RegisterHandler(const FName& EventName, UObject* Handler);
12
13 UFUNCTION(BlueprintPure, Category = "MyPlugin")
14 bool IsFeatureEnabled(const FName& FeatureName) const;
15
16private:
17 TMap<FName, TWeakObjectPtr<UObject>> EventHandlers;
18 TSet<FName> EnabledFeatures;
19};