Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Fill out your copyright notice in the Description page of Project Settings.
- #pragma once
- #include "Object.h"
- #include "Usable.generated.h"
- /**
- *
- */
- /** Class needed to support InterfaceCast<IToStringInterface>(Object) */
- UINTERFACE(MinimalAPI, Blueprintable, meta = (CannotImplementInterfaceInBlueprint))
- class UUsable : public UInterface
- {
- GENERATED_UINTERFACE_BODY()
- };
- class IUsable
- {
- GENERATED_IINTERFACE_BODY()
- UFUNCTION()
- virtual void InitializeUsable();
- //Primary Press/Release
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual void UsePrimaryPress();
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual void UsePrimaryRelease();
- //Secondary Press/Release
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual void UseSecondaryPress();
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual void UseSecondaryRelease();
- //Canceled
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual void OnCanceled();
- //functions
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual void DestroyUsable();
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual FName GetUsableName();
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual UTexture2D* GetUsableThumbnail();
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual float GetCurrentCooldown();
- UFUNCTION(BlueprintCallable, Category = "UsableInterface")
- virtual float GetFullCooldown();
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement