インターフェイスの意味は、共有することです。
たとえば、同じ関数を使用する 3 つの異なるクラス
トラップは「AActor」から派生する可能性があり、敵は特殊な「APawn」または「ACharacter」サブクラスから派生する可能性があり、ポイント報酬は「UDataAsset」から派生する可能性があります。これらのクラスはすべて機能を共有する必要がありますが、「UObject」以外に共通の親はありません。この場合、インターフェースを使用することをお勧めします。
インターフェースのタイプ
インターフェイス関数修飾子
interfaceStuday という名前のプロジェクトを作成します。
ReactToTriggerInterface という名前のインターフェイスを作成します
インターフェイスで関数を定義する
class INTERFACESTUDAY_API IReactToTriggerInterface
{
GENERATED_BODY()
// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "lv cate")
bool ReacterToNightNoon();
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, Category = "lv cate")
bool ReacterToMidnight();
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, Category = "lv cate")
void FunctionASImplementableEvent();
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "lv cate")
void FunctionASNativeEvent();
UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "lv cate")
void FunctionASNativeEventWithPram(int value);
};
ReactToTriggercppimp という名前のインターフェイスを実装するアクターを作成します。
次に、このクラスにこのインターフェイスを継承させて実装します
最初にインターフェースのヘッダーファイルをインポートします
#include "ReactToTriggerInterface.h"
その後、彼を継承します
class INTERFACESTUDAY_API AReactToTriggercppimp : public AActor ,public IReactToTriggerInterface
これらの機能を実装する