Rename the message so it doesn't collide with the description class
The message and the class which describes a chat command in the game logic were both named ChatCommandInfo. A view plugin needs both, so the name was ambiguous there and its method didn't match the interface any more. Name the message AvailableChatCommand: it carries one command which is available to the player, which also reads well next to the request. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MSpK6jkyF8ZS5nYXyGwYxA (cherry picked from commit a945634ba683a465b68f5ee8aed06293c1bb1187)
This commit is contained in:
@@ -55,9 +55,9 @@ public class ChatCommandListViewPlugIn : IChatCommandListViewPlugIn
|
|||||||
|
|
||||||
int Write()
|
int Write()
|
||||||
{
|
{
|
||||||
var size = ChatCommandInfoRef.GetRequiredSize(parameters.Count);
|
var size = AvailableChatCommandRef.GetRequiredSize(parameters.Count);
|
||||||
var span = connection.Output.GetSpan(size)[..size];
|
var span = connection.Output.GetSpan(size)[..size];
|
||||||
var packet = new ChatCommandInfoRef(span)
|
var packet = new AvailableChatCommandRef(span)
|
||||||
{
|
{
|
||||||
Index = index,
|
Index = index,
|
||||||
Count = count,
|
Count = count,
|
||||||
|
|||||||
@@ -4277,7 +4277,7 @@
|
|||||||
<Length>4</Length>
|
<Length>4</Length>
|
||||||
<Direction>ClientToServer</Direction>
|
<Direction>ClientToServer</Direction>
|
||||||
<SentWhen>A client which supports a user interface for chat commands requests the list of commands which are available to the player. It's usually sent after the character entered the game world.</SentWhen>
|
<SentWhen>A client which supports a user interface for chat commands requests the list of commands which are available to the player. It's usually sent after the character entered the game world.</SentWhen>
|
||||||
<CausedReaction>The server sends a ChatCommandInfo for each available chat command.</CausedReaction>
|
<CausedReaction>The server sends an AvailableChatCommand message for each available chat command.</CausedReaction>
|
||||||
<Fields />
|
<Fields />
|
||||||
</Packet>
|
</Packet>
|
||||||
</Packets>
|
</Packets>
|
||||||
|
|||||||
@@ -11244,7 +11244,7 @@
|
|||||||
<HeaderType>C2HeaderWithSubCode</HeaderType>
|
<HeaderType>C2HeaderWithSubCode</HeaderType>
|
||||||
<Code>F5</Code>
|
<Code>F5</Code>
|
||||||
<SubCode>01</SubCode>
|
<SubCode>01</SubCode>
|
||||||
<Name>ChatCommandInfo</Name>
|
<Name>AvailableChatCommand</Name>
|
||||||
<Direction>ServerToClient</Direction>
|
<Direction>ServerToClient</Direction>
|
||||||
<SentWhen>After the client requested the list of available chat commands. One message is sent for each command which is available to the player.</SentWhen>
|
<SentWhen>After the client requested the list of available chat commands. One message is sent for each command which is available to the player.</SentWhen>
|
||||||
<CausedReaction>The client adds the command to its list of known commands, so that it can offer them to the player without requiring him to know or type them.</CausedReaction>
|
<CausedReaction>The client adds the command to its list of known commands, so that it can offer them to the player without requiring him to know or type them.</CausedReaction>
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ public class ChatCommandPacketTest
|
|||||||
/// none of the fields overlaps another one.
|
/// none of the fields overlaps another one.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Test]
|
[Test]
|
||||||
public void ChatCommandInfoKeepsItsValues()
|
public void AvailableChatCommandKeepsItsValues()
|
||||||
{
|
{
|
||||||
const int parameterCount = 3;
|
const int parameterCount = 3;
|
||||||
var data = new byte[ChatCommandInfoRef.GetRequiredSize(parameterCount)];
|
var data = new byte[AvailableChatCommandRef.GetRequiredSize(parameterCount)];
|
||||||
|
|
||||||
var written = new ChatCommandInfoRef(data)
|
var written = new AvailableChatCommandRef(data)
|
||||||
{
|
{
|
||||||
Index = 7,
|
Index = 7,
|
||||||
Count = 42,
|
Count = 42,
|
||||||
@@ -50,7 +50,7 @@ public class ChatCommandPacketTest
|
|||||||
skill.ShortName = "sk";
|
skill.ShortName = "sk";
|
||||||
skill.Type = ChatCommandParameterType.Boolean;
|
skill.Type = ChatCommandParameterType.Boolean;
|
||||||
|
|
||||||
var read = new ChatCommandInfoRef(data);
|
var read = new AvailableChatCommandRef(data);
|
||||||
|
|
||||||
Assert.That(read.Header.Code, Is.EqualTo(0xF5));
|
Assert.That(read.Header.Code, Is.EqualTo(0xF5));
|
||||||
Assert.That(read.Header.SubCode, Is.EqualTo(0x01));
|
Assert.That(read.Header.SubCode, Is.EqualTo(0x01));
|
||||||
@@ -81,11 +81,11 @@ public class ChatCommandPacketTest
|
|||||||
/// don't overlap the fields before them.
|
/// don't overlap the fields before them.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Test]
|
[Test]
|
||||||
public void ChatCommandInfoSizeDependsOnParameterCount()
|
public void AvailableChatCommandSizeDependsOnParameterCount()
|
||||||
{
|
{
|
||||||
var withoutParameters = ChatCommandInfoRef.GetRequiredSize(0);
|
var withoutParameters = AvailableChatCommandRef.GetRequiredSize(0);
|
||||||
var withOneParameter = ChatCommandInfoRef.GetRequiredSize(1);
|
var withOneParameter = AvailableChatCommandRef.GetRequiredSize(1);
|
||||||
|
|
||||||
Assert.That(withOneParameter - withoutParameters, Is.EqualTo(ChatCommandInfo.ChatCommandParameter.Length));
|
Assert.That(withOneParameter - withoutParameters, Is.EqualTo(AvailableChatCommand.ChatCommandParameter.Length));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user