mirror of
https://github.com/sven-n/MuMain
synced 2026-08-15 20:32:27 -04:00
133 lines
4.8 KiB
HTML
133 lines
4.8 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
|
|
xmlns:pd="http://www.munique.net/OpenMU/PacketDefinitions"
|
|
>
|
|
<xsl:param name="resultFileName" />
|
|
<xsl:param name="subNamespace" />
|
|
<xsl:output method="text" indent="yes" />
|
|
<xsl:include href="Common.xslt" />
|
|
|
|
<xsl:template match="pd:PacketDefinitions">
|
|
<xsl:text>// <copyright file="PacketFunctions.h" company="MUnique">
|
|
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
|
|
// </copyright>
|
|
|
|
//------------------------------------------------------------------------------
|
|
// <auto-generated>
|
|
// This source code was auto-generated by an XSL transformation.
|
|
// Do not change this file. Instead, change the XML data which contains
|
|
// the packet definitions and re-run the transformation (publish/rebuild the
|
|
// client library project).
|
|
// </auto-generated>
|
|
//------------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
#include "PacketFunctions_Custom.h"
|
|
#include <coreclr_delegates.h>
|
|
|
|
#include "PacketFunctions_CommonEnums.h"
|
|
#include "PacketFunctions_</xsl:text><xsl:value-of select="$subNamespace"/><xsl:text>_Enums.h"
|
|
|
|
/// <summary>
|
|
/// Extension methods to start writing messages of this namespace on a <see cref="Connection"/>.
|
|
/// </summary>
|
|
class PacketFunctions_</xsl:text><xsl:value-of select="$subNamespace"/><xsl:text> : public PacketFunctions_</xsl:text><xsl:value-of select="$subNamespace"/><xsl:text>_Custom
|
|
{
|
|
public:</xsl:text>
|
|
<xsl:apply-templates select="pd:Packets/pd:Packet" mode="function_header" />
|
|
<xsl:text>
|
|
};</xsl:text>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="pd:Packet[not(pd:Fields/pd:Field/pd:Type = 'Structure[]')]" mode="function_header">
|
|
<xsl:value-of select="$newline" />
|
|
<xsl:text>
|
|
/// <summary>
|
|
/// Sends a </xsl:text>
|
|
<xsl:apply-templates select="pd:Name" />
|
|
<xsl:text> to this connection.
|
|
/// </summary></xsl:text>
|
|
<xsl:apply-templates select="pd:Fields/pd:Field" mode="paramdoc">
|
|
<xsl:sort select="pd:DefaultValue"/>
|
|
</xsl:apply-templates>
|
|
<xsl:call-template name="WriteRemarks" />
|
|
<xsl:text> void Send</xsl:text>
|
|
<xsl:apply-templates select="pd:Name" />
|
|
<xsl:text>(</xsl:text>
|
|
<xsl:apply-templates select="pd:Fields/pd:Field" mode="nativeparams">
|
|
<xsl:sort select="pd:DefaultValue"/>
|
|
</xsl:apply-templates>
|
|
<xsl:text>);</xsl:text>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="pd:Field" mode="paramdoc">
|
|
<xsl:value-of select="$newline"/>
|
|
<xsl:text> /// <param name="</xsl:text>
|
|
<xsl:call-template name="LowerCaseName" />
|
|
<xsl:text>"></xsl:text>
|
|
<xsl:choose>
|
|
<xsl:when test="pd:Description">
|
|
<xsl:value-of select="pd:Description"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>The</xsl:text>
|
|
<xsl:call-template name="splitName">
|
|
<xsl:with-param name="name" select="pd:Name" />
|
|
</xsl:call-template>
|
|
<xsl:text>.</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
|
|
<xsl:text></param></xsl:text>
|
|
<xsl:if test="(pd:Type = 'Binary')">
|
|
<xsl:value-of select="$newline"/>
|
|
<xsl:text> /// <param name="</xsl:text>
|
|
<xsl:call-template name="LowerCaseName" />
|
|
<xsl:text>ByteLength"></xsl:text>
|
|
<xsl:text>The length of <paramref name="</xsl:text>
|
|
<xsl:call-template name="LowerCaseName" />
|
|
<xsl:text>"/> in bytes.</xsl:text>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
|
|
|
|
<xsl:template name="WriteRemarks">
|
|
<xsl:if test="pd:SentWhen or pd:CausedReaction">
|
|
<xsl:text>
|
|
/// <remarks>
|
|
/// Is sent </xsl:text>
|
|
<xsl:choose>
|
|
<xsl:when test="pd:Direction = 'ClientToServer'">
|
|
<xsl:text>by the client when: </xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>by the server when: </xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:value-of select="pd:SentWhen"/>
|
|
<xsl:text>
|
|
/// Causes reaction </xsl:text>
|
|
<xsl:choose>
|
|
<xsl:when test="pd:Direction = 'ClientToServer'">
|
|
<xsl:text>on server side: </xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>on client side: </xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:value-of select="pd:CausedReaction"/>
|
|
<xsl:text>
|
|
/// </remarks></xsl:text>
|
|
<xsl:value-of select="$newline" />
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="text()" mode="paramdoc"></xsl:template>
|
|
<xsl:template match="text()" mode="function_header"></xsl:template>
|
|
<xsl:template match="text()"></xsl:template>
|
|
|
|
</xsl:stylesheet>
|