#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 // --------------------------------------------------------------------------------------------- // /// Choices the player can make in dialogue /// @remarks /// This could be an plain index, but the story controller uses this enumeration /// for named output pins (see 'ExpandEnumAsExecs' attribute in documentation), /// so to keep things simple, I decided to support up to five choices by default. /// If more choices are needed or this is too inflexible, additional variants of /// the VisualNovelStoryController::RequireChoice() method can be created. UENUM(BlueprintType) enum class EDialogueChoice : uint8 { /* /// Player wishes to continue to the next paragraph Continue = 0 UMETA(DisplayName = "Continue (only valid on choiceless paragraphs)"), */ /// The paragraph was cancelled by the story controller Cancelled = 0 UMETA(DisplayName = "Paragraph was cancelled"), /// Player selected the first multiple-choice answer Choice1 = 1 UMETA(DisplayName = "First choice"), /// Player selected the second multiple-choice answer Choice2 = 2 UMETA(DisplayName = "Second choice"), /// Player selected the third multiple-choice answer Choice3 = 3 UMETA(DisplayName = "Third choice"), /// Player selected the fourth multiple-choice answer Choice4 = 4 UMETA(DisplayName = "Fourth choice"), /// Player selected the fifth multiple-choice answer Choice5 = 5 UMETA(DisplayName = "Fifth choice") }; // --------------------------------------------------------------------------------------------- //