~ruther/NosSmooth

ref: 8b69e5448f0d365eb4830396b2767b3b3400665f NosSmooth/Core/NosSmooth.Game/Data/Dialogs/Dialog.cs -rw-r--r-- 1.3 KiB
8b69e544 — František Boháček chore: bump versions 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
//  Dialog.cs
//
//  Copyright (c) František Boháček. All rights reserved.
//  Licensed under the MIT license. See LICENSE file in the project root for full license information.

using NosSmooth.Game.Apis;
using NosSmooth.Packets.Enums;
using OneOf;

namespace NosSmooth.Game.Data.Dialogs;

/// <summary>
/// Represents dialog sent by the server
/// </summary>
/// <remarks>
/// To deny a dialog with null <see cref="DenyCommand"/>, just ignore it.
///
/// For answering to a dialog, use <see cref="DialogHandler"/>.
/// It takes care of collisions. In case the same dialog is accepted
/// and denied from elsewhere, an error will be returned.
/// </remarks>
/// <param name="AcceptCommand">The accept command/packet sent upon accept.</param>
/// <param name="DenyCommand">The deny command/packet sent upon denying. This may be null for some dialogs. To deny a dialog with null DenyCommand, just ignore it.</param>
/// <param name="Message">The message of the dialog, may be a constant i18n message, or a string.</param>
/// <param name="Parameters">The parameters of the i18n message. Empty for string messages.</param>
public record Dialog
(
    string AcceptCommand,
    string? DenyCommand,
    OneOf<string, Game18NConstString> Message,
    IReadOnlyList<string> Parameters
);
Do not follow this link