Otter
0.9.8.91
2d Game Development Framework based on SFML.Net
|
Otter | |
BoxCollider | Rectangle Collider. |
CircleCollider | Circle Collider. |
Collider | The base class used for collision detection. Entities contain Colliders that can check for collisions which each other. Note that some functions for detecting collisions can take generic Enums as their tags. Be aware that these functions are slightly slower than casting your Enums to int for the int tags functions. |
GridCollider | Grid Collider. Can be mainly used to create collision to correspond to a Tilemap. |
LineCollider | Line Collider. |
PixelCollider | Collider that can use an image as a mask. This is not recommended to use for most cases as it can be pretty expensive to process. |
PointCollider | Point Collider. |
PolygonCollider | Polygon Collider. Only works with convex polygons! |
Alarm | Component that counts down and executes a function. After it has executed it removes itself. |
AutoTimer | A timer that automatically counts on an increment. Useful for handling things like cooldowns. |
Axis | Component that represents an axis of input. Interprets both X and Y from -1 to 1. Can use multiple sources of input like keyboard, mouse buttons, or joystick axes and buttons. Input can also be delivered from code. |
Bone | |
BoneSlot | |
Button | Component used for interpreting input as a button. It can recieve input from multiple sources including keyboard, mouse buttons, or joystick buttons and axes. The button input can also be controlled in code. |
Component | Base Component class. Components can be added to Entities. |
Controller | Component representing a group of Button and Axis classes. The controller updates all buttons and axes manually. This is used by the Session class to manage player input |
ControllerPS3 | |
ControllerXbox360 | |
Countdown | |
Counter | Component used for a value with built in min, max, and wrapping capabilities. Can be useful for making menus. |
EventProcessor | |
EventProcessorEvent | |
EventQueue | A Component to manage and process queue of events. |
EventStack | |
GridCounter | Counter in which the value can be moved in both an X and Y direction. Probably most useful for making menus that are grids which the player can move around in. |
IRC | Component for connecting to and interacting with an IRC server. Contains only very basic functionality. Probably not very useable yet! |
Lerper | Component that will slowly interpolate a value toward a target using a speed and acceleration. This component can move the value and does not know about time at all. |
BasicMovement | Movement Component that can be used by an Entity to provide simple top-down style movement. This class requires an Axis component be assigned to it, and that Axis must be also updated by another source. A simple way to do this is to just have the Entity have an Axis component as well as the movement component, and then pass a reference to the axis into the movement |
Movement | A base class for Movement Components to extend. |
PlatformingMovement | Movement Component that adds platforming movement behavior to an Entity. This is built for fixed framerate applications. Make sure you have the Axis, JumpButton, and Collider assigned before using it! If you want to use jump through platforms, you'll also need to use the JumpThroughCollider, which should be a 1 pixel tall collider at the bottom of your Entity. |
SineWave | Component that controls a sine wave. Can be useful for special effects and such. |
Skeleton | A Component that can manage a set of Bone Components that can move Entities around. Sort of like a system similar to Spine or Spriter, but moving actual Entities around instead of just textures. |
Snake | |
StateMachine< TState > | State machine that uses a specific type. This is really meant for using an enum as your list of states. If an enum is used, the state machine will automatically populate the states using methods in the parent Entity that match the name of the enum values. |
State | Used in StateMachine. Contains functions for enter, update, and exit. |
Vertebra | Class representing one piece of a Snake. |
VertebraSlot | A struct containing the final transformation of the Vertebra from the Snake. |
Entity | Class used for a game object. The bread and butter of your game. Entities are added to Scenes which are controlled by the Game. |
Game | ᶜ(ᵔᴥᵔ)ᵓ Core class Otter. Create a Game, and then use Game.Start(); to run it. |
Input | Class used for managing input from the keyboard, mouse, and joysticks. Updated by the active Game. |
Music | Class used to load and play music files. Music is streamed from the file source, or an IO stream. |
Scene | Class used to manage Entities. The active Game should update the active Scene, which then updates all of the contained Entities. |
Session | Class that represents a player session. Use this for maintaining and using information about a player. For example a two player game might have two sessions, one for each player, each with their own controls configured and save data. |
Sound | Class used to play a sound from a file or an IO Stream. Sounds are cached if loaded from a file. |
Anim | Class used for animations in Spritemap. |
Atlas | Class used for loading textures from an Atlas, or a set of Atlases. This class is built to support atlases created with Sparrow/Starling exporting from TexturePacker http://www.codeandweb.com/texturepacker |
AtlasTexture | Class used for representing a texture on a texture atlas. |
Color | Class that represents a color with red, green, blue, and alpha channels. |
Decals | Graphic that can render a bunch of static images all at once. Images must use the same texture as the Decals object in order to be baked together properly. |
Gradient | Graphic that renders as a simple gradient between 4 points. |
Graphic | Base abstract class used for anything that can be rendered. |
GraphicList | |
Grid | Graphic that renders as a checkerboard type grid that fills the defined area using two alternating colors. |
Image | Graphic type that is used to represent a static image. |
ImageSet | Graphic that renders part of a sprite sheet, but does not automatically animate it at all. |
NineSlice | Graphic type used to render a panel made up of 9 slices of an image. Handy for rendering panels with border graphics. |
Spritemap< TAnimType > | Graphic that is used for an animated sprite sheet. |
SquareClock | Graphic that is used to create a square image with a radial mask based on a value of 0 to 1. Something like the cool down timers on icons in various games. |
Surface | Graphic that represents a render target. By default the game uses a master surface to render the game to the window. Be aware of graphics card limiations of render textures when creating surfaces. |
Tilemap | Graphic used for loading and rendering a tilemap. Renders tiles using a vertex array. |
TileInfo | A class containing all the info to describe a specific tile. |
Vertices | Graphic used for rendering a set of Vert objects. Basically a wrapper for SFML's VertexArray. |
Shader | Class representing a shader written in GLSL. Warning: Visual Studio encoding must be set to Western European (Windows) Codepage 1252 when editing shaders! More details here: http://blog.pixelingene.com/2008/07/file-encodings-matter-when-writing-pixel-shaders/ |
BitmapFont | Font used for loading premade textures of characters, usually arcade fonts and stuff like that. Currently supports fonts created with BMFont, Littera, and CBFG. |
CharData | |
BitmapFontConfig | |
Font | |
BaseFont | |
RichText | Graphic that renders text with some more options than normal Text. RichText can be very slow to render with large strings of text so be careful! For large blocks of text use the normal Text graphic. |
RichTextCharacter | Internal class for managing characters in RichText. |
RichTextConfig | A utility class used for storing default values for a RichText object. Set the values by using "var config = new RichTextConfig() { Font = "MyFont.ttf", FontSize = 16, ... };" |
Text | Graphic used to display simple text. Much faster than RichText, but more limited options. |
Texture | Class representing a texture. Can perform pixel operations on the CPU, but those will be pretty slow and shouldn't be used that much. |
Transformation | |
Vert | Class that represents a Vertex. Just a wrapper for an SFML Vertex. |
Files | Manages files used for game assets. Can use a packed data file of paths and byte arrays. The game will attempt to use local files before the packed data file. Packed data is expected as: bool: true to continue reading, false to stop string: the path of the file that was packed int32: the size of the file that was packed bytes: the actual data from the file |
Sounds | Class that manages the cache of sounds. |
Fonts | Class that manages the cache of fonts. |
Textures | Class that manages the cache of Textures. |
Coroutine | Class that manages Coroutines. |
DataSaver | Class that is used for storing strings, ints, floats, or bools with keys of enum or string. The saver can output data in an semi-encrypted format, and also an editable config file format. |
Debugger | The debug console. Only exists when the game is built in Debug Mode. The game will handle using this class. Can be summoned by default with the ~ key. |
OtterCommand | |
DebugInput | Class that is used for debug input. Wraps the Input class but only works when debug input is enabled. |
Draw | Class used for rendering graphics. |
Flash | Entity that acts as a screen flash. Best used when using the constructor that allows for initial parameters be set: Flash(Color.Red) { Alpha = 0.5, Blend = BlendMode.Add }; |
Particle | Entity that is a quick way to make a particle. Has lots of parameters that can be set, so use this with that constructor where you do { } and put a bunch of properties inside. var p = new Particle(0, 0, "particle.png", 100, 100) { LifeSpan = 30, Angle = 10, FinalScaleX = 0, LockScaleRatio = true }; |
GlideLerper | |
Tween | |
TweenerImpl | |
Tweener | |
Line2 | Class for a simple line with two points. |
Matrix | Struct for representing a Matrix. |
Point | Struct for representing a Point. |
Quaternion | Struct for representing a Quaternion. |
Rectangle | Struct for representing a Rectangle. |
Vector2 | Struct for representing a Vector2. |
Vector3 | Struct for representing a Vector3. |
Vector4 | Struct for representing a Vector4. |
OgmoProject | Class used for importing OgmoProject files quickly, and loading levels created in Ogmo Editor (http://ogmoeditor.com) Currently OgmoProjects must export in XML Co-ords for Tiles and Entities, and Bitstring for Grids. |
OgmoLayer | Class representing a layer loaded from Ogmo. |
OgmoData | A simple data class that just extends Dictionary. |
Polygon | Class representing a Polygon. |
Range | Class used to represent a range using a min and max. |
Speed | Class used for tracking an X and Y speed of an object. Speed also has an XMax and YMax that can be used to clamp the X and Y values automatically. |
SpriteBatch | NOT YET SUPPORTED Very WIP class, probably internal for Otter, don't use it yet. |
EventRouter | Class for broadcasting messages to subscribers. Clients of the EventRouter register themselves by calling Subscribe and passing in the even they are interested in along with a delegate to be called back when the event is received. Events are published via the Publish method which allows arbitrary data to be passed along with the event to be interpreted by the event receiver. Events do not have to be pre-defined |
Event | Event data class, passed in to the subscriber whenever an event occours. |