uxi
uxi is a package used to build UXI protocol compliant game engines easily. A Client is the main representation of a game engine, refer to its documentation for more information. The commands which engine supports being sent to it from a GUI or other is represented as a Command, refer to its documentation for more details.
use *;
// A custom user specified context stores information which persists across
// different Commands. In this case, we are storing a number which is used
// differently inside different Commands.
// The command i increases the current value of the number by delta. Commands
// take a type parameter which specifies the type of the user defined Context.
// The command d displays the current value of the number.
Features
- Easily build engines for all UXI protocols, with UGI coming out of the box.
- Fearless Concurrency™ for your Commands with a well built system for running Commands in parallel.
- Add a new option to your engine with as little as a single line of code.
- Many common Commands come inbuilt with the Client, including
setoption,ugi,isready, andquit. - Communicate by sharing state; custom contexts allow you to store as much persistent data as you need, all thread safe.
- Error handling inside your Commands is as easy as using
anyhow, all due to the powerfulRunErrortype.
Refer to the documentation for a full in depth list of features and functions.