#pragma once #pragma region CPL License /* Nuclex Unreal Module Copyright (C) 2014-2021 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as published by the IBM Corporation; either version 1.0 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the IBM Common Public License for more details. You should have received a copy of the IBM Common Public License along with this library */ #pragma endregion // CPL License #include #include #include "ButtonControllableParagraph.h" #include "../UI/DialogInputSource.h" #include "ParagraphInputSource.generated.h" // --------------------------------------------------------------------------------------------- // // This class does not need to be modified. UINTERFACE(MinimalAPI, BlueprintType) class UParagraphInputSource : public UDialogInputSource { GENERATED_BODY() }; // --------------------------------------------------------------------------------------------- // /// Implemented by player controls or other actors generating input for visual novel boxes class NUCLEX_API IParagraphInputSource : public IDialogInputSource { GENERATED_BODY() /// Retrieves the visual novel box that input is currently being sent to /// @returns The visual novel box currently receiving input from this source public: UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="Visual Novel") const TScriptInterface GetActiveParagraph(); /// Enables paragraph input targeting the specified paragraph (or changes the paragraph) /// @param newParagraph Paragraph that will be receiving input from this source public: UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="Visual Novel") void BeginParagraphInput(const TScriptInterface &newParagraph); /// Returns the player controller to non-paragraph input mode public: UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="Visual Novel") void EndParagraphInput(); }; // --------------------------------------------------------------------------------------------- //