C# API Reference
Most functions and classes in C# API have the same names and behavior as in C++ API. The main specific features of C# API are the following:
- Names of all methods in C# start with a capital letter.
- All C++ setters and getters are represented by properties in C#.
- In the C# API, you can inherit from Package and Plugin classes only once.
Special Aspects of Pointers#
You should take into account that each class of C# API has methods for managing pointers:
- IntPtr GetPtr(); — returns the internal pointer.
- bool IsValidPtr { get; } — returns false if the native object has been destroyed.
- bool IsNullPtr { get; } — returns true if the native object has been destroyed.
- void DeleteLater(); — destroys the native object.
Pointers are managed in the same way as in C++.
Differences in Function Exporting#
To export your function from C# to UnigineScript, you should use Interpreter.Function() with different postfixes instead of MakeExternFunction(). The postfix of Function shows the number of arguments (up to 8 arguments) and the type of return value:
- no postfix - void.
- i - int.
- d - double.
- f - float.
- s - string.
- v - Unigine.Variable (the same class as the C++ API Unigine::Variable class).
See also an example of function exporting.
View Documentation by Using Visual Studio#
You can read the documentation of some C# API methods by using the Object Browser in Visual Studio.
- In Visual Studio, click View -> Object Browser or press CTRL + W and then J.
The Object Browser window will open. The Object Browser displays three panes: the Objects pane on the left, the Members pane on the top right, and the Description pane on the bottom right.
- Select the UnigineSharp_x64d object in the Object pane and choose the class you want to view.
- Specify the member in the Members pane.
- If the description for the selected member exists, it will appear in the Description pane.
See Also#
- Article on C++ API Reference.