Plugins/fr: Difference between revisions

From Resonite Wiki
Created page with "Un plug-in est un fichier DLL compilé et écrit en C# qui peuvent être chargés dans Resonite au lancement."
Created page with "Les plug-ins ont certaines limitations:"
Line 9: Line 9:
== Lignes directrices des plug-ins ==
== Lignes directrices des plug-ins ==
A la création d'un plug-in, gardez a l'esprit:
A la création d'un plug-in, gardez a l'esprit:
* <span lang="en" dir="ltr" class="mw-content-ltr">Plugins must not enable players, including yourself to bypass [[Guidelines]].</span>
* Les plug-ins ne doivent pas permettre aux joueurs de contourner les [[Guidelines | lignes directrices]].  
** <span lang="en" dir="ltr" class="mw-content-ltr">This includes: Asset Theft, Harassment etc.</span>
** Ceci inclus: vol d'asset, harcèlement etc.
* <span lang="en" dir="ltr" class="mw-content-ltr">Plugins should follow the general principle of "Do No Harm"</span>
* Les plug-ins doivent suivre la règle du "ne faites pas de mal"


== <span lang="en" dir="ltr" class="mw-content-ltr">Plugin Limitations</span> ==
== Limitations des plug-ins ==
<span lang="en" dir="ltr" class="mw-content-ltr">Plugins are limited in several ways right now:</span>
Les plug-ins ont certaines limitations:
# <span lang="en" dir="ltr" class="mw-content-ltr">'''If you use plugins you will not be able to join other players, unless they have the same plugins.'''</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">'''If you use plugins you will not be able to join other players, unless they have the same plugins.'''</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">There is no built-in distribution system. You are in charge of distribution</span>
# <span lang="en" dir="ltr" class="mw-content-ltr">There is no built-in distribution system. You are in charge of distribution</span>

Revision as of 11:25, 25 January 2024

Si vous utilisez des plug-ins, vous ne pourrez pas rejoindre d'autres joueurs a moins que vous ayez les mêmes plugins que vous.

Programmer dans Resonite est fait avec ProtoFlux mais ce n'est pas la seule manière. Resonite a un système de plug-ins que vous pouvez utiliser.

Un plug-in est un fichier DLL compilé et écrit en C# qui peuvent être chargés dans Resonite au lancement.

Lignes directrices des plug-ins

A la création d'un plug-in, gardez a l'esprit:

  • Les plug-ins ne doivent pas permettre aux joueurs de contourner les lignes directrices.
    • Ceci inclus: vol d'asset, harcèlement etc.
  • Les plug-ins doivent suivre la règle du "ne faites pas de mal"

Limitations des plug-ins

Les plug-ins ont certaines limitations:

  1. If you use plugins you will not be able to join other players, unless they have the same plugins.
  2. There is no built-in distribution system. You are in charge of distribution
  3. Plugins may break in between builds of Resonite and therefore require frequent updates.

Writing a Plugin

To get started writing a plugin follow these steps:

  1. Download Visual Studio Community edition.
    1. During installation, check of the .NET desktop development workload which will give you the >NET Framework 4-4.6 development tools
  2. Create a new Library project
  3. Add references to some Resonite libraries from the installation folder:
    1. FrooxEngine.dll - Found in Resonite/Resonite_Data/Managed/FrooxEngine.dll
    2. Elements.Core.dll - Found in Resonite/Resonite_Data/Managed/Elements.Core.dll
  4. Start writing!

Double check the links/resources section below for additional resources.

Using / Testing a Plugin

When running Resonite with a plugin you must use Command Line Arguments.

The Command Line Argument -LoadAssembly <path> will load additional Assemblies / DLLs when used to launch Resonite.

Plugin Recommendations

Firstly, double check, if you 'need a plugin. Most common scenarios can be done within Resonite using ProtoFlux or Components. These items might seem scary for newer users but their possibilities are quite endless. Common things that might need plugins include:

  • Integration of Third Party Hardware or Devices - You can potentially use WebSockets or HTTP for this, but if not a plugin may be needed
  • Research / Science Applications - If your scenario requires some advanced integration with a science/educational background one may be needed
  • Automation - If you need to automate a process within Resonite such as batch processing of assets or data

Resources / Links

Open Source Plugins

Feel free to add any open source Resonite plugins here!