Jump to content
×
×
  • Create New...

Générateur de Protocole


Recommended Posts

Centre de Téléchargement

Télécharger ( Interne )

Je viens vous présenter un petit tool by HETERNAM qui sert à générer à un protocole exploitable à partir de fichier templates pour être adapté à n'importe quel langage (mais pour ce cas je n'ai fait que un exemple de template en C# mais avec un peu de bidouillage vous devriez être capable de vous en sortir si vous utilisez autre chose!). Vous aurez besoin d'un fichier JSON contenant votre protocole exporté à l'aide de l'outil ici. Une fois fait, modifiez les templates à votre guise, la configuration, et lancez le tout, vous aurez votre protocole en sortie. Vous trouverez le descriptif des variables et filtres accessibles dans les templates sur le GitHub, mais aussi les possibilités supplémentaires si vous souhaitez rajouter du code en PHP - il y a un système de hook à la génération vous permettant d'ajouter des filtres sur le contenu, mais également des filtres Twig.

 

Exemple, voici mon template pour générer les types:

{%- use 'io.twig' -%}
{%- use 'constructor.twig' -%}
using HetwanSharp.Core.IO;
{% if class.hasEnumerationDependency == true %}
using HetwanSharp.Dofus.Protocol.Enum;
{% endif %}
using System;
{% if class.hasVectorDependency %}
using System.Collections.Generic;
using System.Linq;
{% endif %}
namespace HetwanSharp.Dofus.Protocol.Type
{
    public class {{ class.name }}{% if class.parent %} : {{ class.parent.name }}{% endif ~%}
    {
        public const short Id = {{ class.id }};
        public {% if class.isOverriding %} override{% elseif class.isVirtual %} virtual{% endif %} short TypeId => Id;
{%- block class_fields -%}
        {{ parent()|ident(8) }}
{%- endblock -%}
{%- block constructor -%}
        {{ parent()|ident(8) }}
{%~ endblock -%}
{%~ block serialize -%}
        {{ parent()|ident(8) }}
{%~ endblock -%}
{%~ block deserialize -%}
        {{ parent()|ident(8) }}
{%- endblock %}
    }
}

 

Et en sortie :

spacer.png

 

Télécharger le générateur de protocol

 

  • J'adore 1
Link to comment
  • ASIKOO changed the title to Générateur de Protocole

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.