Otter  0.9.88
2d Game Development Framework based on SFML.Net
 All Classes Namespaces Functions Variables Enumerations Properties
Package Otter

Namespaces

package  UI
 

Classes

class  BoxCollider
 Rectangle Collider. More...
 
class  CircleCollider
 Circle Collider. More...
 
class  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. More...
 
class  GridCollider
 Grid Collider. Can be mainly used to create collision to correspond to a Tilemap. More...
 
class  LineCollider
 Line Collider. More...
 
class  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. More...
 
class  PointCollider
 Point Collider. More...
 
class  PolygonCollider
 Polygon Collider. Only works with convex polygons! More...
 
class  Alarm
 Component that counts down and executes a function. After it has executed it removes itself. More...
 
class  AutoTimer
 A timer that automatically counts on an increment. Useful for handling things like cooldowns. More...
 
class  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. More...
 
class  Bone
 
class  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. More...
 
class  Component
 Base Component class. Components can be added to Entities. More...
 
class  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. More...
 
class  ControllerPS3
 
class  ControllerXbox360
 
class  Counter
 Component used for a value with built in min, max, and wrapping capabilities. Can be useful for making menus. More...
 
class  EventProcessor
 
class  EventProcessorEvent
 
class  EventQueue
 A Component to manage and process queue of events. More...
 
class  EventStack
 
class  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. More...
 
class  IRC
 Component for connecting to and interacting with an IRC server. Contains only very basic functionality. Probably not very useable yet! More...
 
class  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. More...
 
class  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. More...
 
class  Movement
 A base class for Movement Components to extend. More...
 
class  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. More...
 
class  SineWave
 Component that controls a sine wave. Can be useful for special effects and such. More...
 
class  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. More...
 
class  Snake
 
class  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. More...
 
class  State
 Used in StateMachine. Contains functions for enter, update, and exit. More...
 
class  Vertebra
 Class representing one piece of a Snake. More...
 
class  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. More...
 
class  Game
 ᶜ(ᵔᴥᵔ)ᵓ Core class Otter. Create a Game, and then use Game.Start(); to run it. More...
 
class  Input
 Class used for managing input from the keyboard, mouse, and joysticks. Updated by the active Game. More...
 
class  Music
 Class used to load and play music files. Music is streamed from the file source, or an IO stream. More...
 
class  Scene
 Class used to manage Entities. The active Game should update the active Scene, which then updates all of the contained Entities. More...
 
class  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. More...
 
class  Sound
 Class used to play a sound from a file or an IO Stream. Sounds are cached if loaded from a file. More...
 
class  Anim
 Class used for animations in Spritemap. More...
 
class  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 More...
 
class  AtlasTexture
 Class used for representing a texture on a texture atlas. More...
 
class  Color
 Class that represents a color with red, green, blue, and alpha channels. More...
 
class  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. More...
 
class  Gradient
 Graphic that renders as a simple gradient between 4 points. More...
 
class  Graphic
 Base abstract class used for anything that can be rendered. More...
 
class  GraphicList
 
class  Grid
 Graphic that renders as a checkerboard type grid that fills the defined area using two alternating colors. More...
 
class  Image
 Graphic type that is used to represent a static image. More...
 
class  ImageSet
 Graphic that renders part of a sprite sheet, but does not automatically animate it at all. More...
 
class  NineSlice
 Graphic type used to render a panel made up of 9 slices of an image. Handy for rendering panels with border graphics. More...
 
class  Spritemap< TAnimType >
 Graphic that is used for an animated sprite sheet. More...
 
class  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. More...
 
class  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. More...
 
class  Tilemap
 Graphic used for loading and rendering a tilemap. Renders tiles using a vertex array. More...
 
class  TileInfo
 A class containing all the info to describe a specific tile. More...
 
class  Vertices
 Graphic used for rendering a set of Vert objects. Basically a wrapper for SFML's VertexArray. More...
 
class  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/ More...
 
class  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. More...
 
class  CharData
 
class  BitmapFontConfig
 
class  Font
 
class  BaseFont
 
class  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. More...
 
class  RichTextCharacter
 Internal class for managing characters in RichText. More...
 
class  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, ... };" More...
 
class  Text
 Graphic used to display simple text. Much faster than RichText, but more limited options. More...
 
class  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. More...
 
class  Transformation
 
class  Vert
 Class that represents a Vertex. Just a wrapper for an SFML Vertex. More...
 
class  Sounds
 Class that manages the cache of sounds. More...
 
class  Fonts
 Class that manages the cache of fonts. More...
 
class  Textures
 Class that manages the cache of Textures. More...
 
class  Coroutine
 Class that manages Coroutines. More...
 
class  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. More...
 
class  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. More...
 
class  OtterCommand
 
class  DebugInput
 Class that is used for debug input. Wraps the Input class but only works when debug input is enabled. More...
 
class  Draw
 Class used for rendering graphics. More...
 
class  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 }; More...
 
class  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 }; More...
 
class  Extensions
 Various extensions for classes are in here.
 
class  Ease
 Static class with useful easer functions that can be used by Tweens.
 
class  GlideInfo
 
class  GlideLerper
 
class  Tween
 
class  Tweener
 
class  IntExtensions
 
class  FloatExtensions
 
class  IEnumerableExtensions
 
class  ArrayExtensions
 
class  ListExtensions
 
class  DictionaryExtensions
 
class  StringExtensions
 
class  TypeExtensions
 
class  EnumExtensions
 
class  Line2
 Class for a simple line with two points. More...
 
class  MathHelper
 Contains commonly used precalculated values and mathematical operations.
 
struct  Matrix
 Struct for representing a Matrix. More...
 
struct  Point
 Struct for representing a Point. More...
 
struct  Quaternion
 Struct for representing a Quaternion. More...
 
struct  Rectangle
 Struct for representing a Rectangle. More...
 
struct  Vector2
 Struct for representing a Vector2. More...
 
struct  Vector3
 Struct for representing a Vector3. More...
 
struct  Vector4
 Struct for representing a Vector4. More...
 
class  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. More...
 
class  OgmoLayer
 Class representing a layer loaded from Ogmo. More...
 
class  OgmoData
 A simple data class that just extends Dictionary. More...
 
class  Polygon
 Class representing a Polygon. More...
 
class  Rand
 Class full of random number generation related functions.
 
class  Range
 Class used to represent a range using a min and max. More...
 
class  Ref
 Class of utility functions for ref related things.
 
class  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. More...
 
class  SpriteBatch
 NOT YET SUPPORTED Very WIP class, probably internal for Otter, don't use it yet. More...
 
class  Util
 Main utility function class. Various useful functions for 2d game development and Otter stuff.
 

Enumerations

enum  AccelType { Ground, Air }
 The different acceleration types. More...
 
enum  AxisButton {
  XPlus = 100, XMinus, YPlus, YMinus,
  ZPlus, ZMinus, RPlus, RMinus,
  UPlus, UMinus, VPlus, VMinus,
  PovXPlus, PovXMinus, PovYPlus, PovYMinus,
  Any = 1000
}
 Buttons that represent the possible axes on a joystick. More...
 
enum  MouseButton {
  Left = 0, Right = 1, Middle = 2, XButton1 = 3,
  XButton2 = 4, ButtonCount = 5, Any = 1000
}
 Mouse buttons. Buttons on your mouse. More...
 
enum  MouseWheelDirection { Up = 0, Down }
 The direction of the mouse wheel. More...
 
enum  Key {
  Unknown = -1, A = 0, B = 1, C = 2,
  D = 3, E = 4, F = 5, G = 6,
  H = 7, I = 8, J = 9, K = 10,
  L = 11, M = 12, N = 13, O = 14,
  P = 15, Q = 16, R = 17, S = 18,
  T = 19, U = 20, V = 21, W = 22,
  X = 23, Y = 24, Z = 25, Num0 = 26,
  Num1 = 27, Num2 = 28, Num3 = 29, Num4 = 30,
  Num5 = 31, Num6 = 32, Num7 = 33, Num8 = 34,
  Num9 = 35, Escape = 36, LControl = 37, LShift = 38,
  LAlt = 39, LSystem = 40, RControl = 41, RShift = 42,
  RAlt = 43, RSystem = 44, Menu = 45, LBracket = 46,
  RBracket = 47, SemiColon = 48, Comma = 49, Period = 50,
  Quote = 51, Slash = 52, BackSlash = 53, Tilde = 54,
  Equal = 55, Dash = 56, Space = 57, Return = 58,
  Back = 59, Tab = 60, PageUp = 61, PageDown = 62,
  End = 63, Home = 64, Insert = 65, Delete = 66,
  Add = 67, Subtract = 68, Multiply = 69, Divide = 70,
  Left = 71, Right = 72, Up = 73, Down = 74,
  Numpad0 = 75, Numpad1 = 76, Numpad2 = 77, Numpad3 = 78,
  Numpad4 = 79, Numpad5 = 80, Numpad6 = 81, Numpad7 = 82,
  Numpad8 = 83, Numpad9 = 84, F1 = 85, F2 = 86,
  F3 = 87, F4 = 88, F5 = 89, F6 = 90,
  F7 = 91, F8 = 92, F9 = 93, F10 = 94,
  F11 = 95, F12 = 96, F13 = 97, F14 = 98,
  F15 = 99, Pause = 100, KeyCount = 101, Any = 1000
}
 All the keys on your keyboard. More...
 
enum  Direction {
  None = 0, Up = 1 << 0, Right = 1 << 1, Down = 1 << 2,
  Left = 1 << 3, UpRight = Up | Right, UpLeft = Up | Left, DownRight = Down | Right,
  DownLeft = Down | Left
}
 Flags to represent Direction. More...
 
enum  JoyAxis {
  X, Y, Z, R,
  U, V, PovX, PovY
}
 Axes on a joystick. More...
 
enum  BlendMode {
  Alpha, Add, Multiply, None,
  Null
}
 The blendmodes that can be used for graphic rendering. More...
 
enum  PanelType { Stretch, Tile }
 
enum  PanelSizeMode { All, Inside }
 
enum  VertexPrimitiveType {
  Points = 0, Lines = 1, LinesStrip = 2, Triangles = 3,
  TrianglesStrip = 4, TrianglesFan = 5, Quads = 6
}
 
enum  ShaderType { Vertex, Fragment }
 
enum  BitmapFontDataType {
  None, BMFontText, BMFontXml, Littera,
  CodeheadCSV, Shoebox
}
 
enum  TextAlign { Left, Right, Center }
 
enum  TextStyle { Regular = 0, Bold = 1, Italic = 2, Underlined = 4 }
 
enum  TextOutlineQuality { Good = 45, Better = 30, Best = 15, Absurd = 10 }
 

Functions

delegate bool Predicate< T1, T2 > (T1 item1, T2 item2)
 

Enumeration Type Documentation

The different acceleration types.

Buttons that represent the possible axes on a joystick.

The blendmodes that can be used for graphic rendering.

Flags to represent Direction.

Axes on a joystick.

enum Otter.Key

All the keys on your keyboard.

Mouse buttons. Buttons on your mouse.

The direction of the mouse wheel.