28 lines
1.1 KiB
Plaintext
28 lines
1.1 KiB
Plaintext
|
|
Introduction
|
||
|
|
------------
|
||
|
|
|
||
|
|
Simian is a lightweight simulator built on the libOpenMetaverse framework. Its
|
||
|
|
primary uses are rapid prototyping of new designs, a lightweight benchmarking
|
||
|
|
suite, and unit testing of client applications.
|
||
|
|
|
||
|
|
Extensions
|
||
|
|
------------
|
||
|
|
|
||
|
|
Extensions can be written in one of three ways.
|
||
|
|
|
||
|
|
1) Add a class that inherits from ISimianExtension directly in the Simian
|
||
|
|
project. Typically this is done by adding a new .cs file in the
|
||
|
|
extensions folder.
|
||
|
|
|
||
|
|
2) Create a new assembly containing one or more extensions. The assembly must
|
||
|
|
follow the naming convention of Simian.*.dll.
|
||
|
|
|
||
|
|
3) Put a source code file alongside the running Simian.exe binary that will be
|
||
|
|
compiled at runtime. The code must follow the naming convention Simian.*.cs.
|
||
|
|
Look at Simian.ViewerEffectPrinter.cs.example for an example. Remove the
|
||
|
|
.example extension and drop the file alongside the Simian.exe binary to see
|
||
|
|
it in action.
|
||
|
|
|
||
|
|
All extensions must inherit from ISimianExtension and have a constructor that
|
||
|
|
takes a Simian object as the only parameter.
|