Jebnix Documentation - griderd/Jebnix GitHub Wiki
This document is intended for people who are either writing plugins for Jebnix, or are writing scripting engines for Jebnix.
Jebnix is a DLL written in C# that contains all of the core code for creating an interactive software environment for Kerbal Space Program.
Jebnix has the following architecture:
- Jebnix Namespace
- Functions Class - Stores and invokes all external function delegates, as well as the function delegates of the Standard Library. Plugin writers will be interacting with this class.
- Interpreter Class - The base class of your scripting engine interpreter. Scripting engine writers will interact with this class.
- FileSystem Namespace - Contains classes describing the Jebnix file system.
- File Class - Contains functions and properties for creating, saving, opening, and using files, with a physical backing.
- Folder Class - Contains functions and properties for creating, saving, opening, and using folders, with or without a physical backing.
- VirtualFile Class - Contains functions and properties for creating, saving, and using files without a physical backing. Inherits File. Can be converted to a real File.
- Graphics Namespace - Contains classes for drawing onto the screen.
- Graphics Class - Contains static functions to manipulate the current graphics mode of the Jebnix machine, and change what the screen is displaying.
- TextMemory Class - Internal class which stores characters to be displayed on the screen.
- stdlib Namespace - Jebnix Standard Library
- stdint Class - Contains static functions for working with hardware interrupts.
- stdio Class - Contains static functions for doing basic I/O.
- stdmath Class - Contains static math functions.
- stdtime Class - Contains functions for working with KSP time.
- stdvessel Class - Contains functions for working with a KSP Vessel object.