Introduction The EntitySpawned delegate allows custom code to react to an entity instance being created. For example a game may want to add an Entity to a custom list when spawned. Code Example The following code assigns a custom EntitySpawned delegate which adds any created ball instance to the CustomBallList: void CustomInitialize() { BallEntityFactory.EntitySpawned +=[…]

Glue:Reference:Files:Set Created Class:Generate Data Class

Introduction By default CSVs added to Glue will create a matching class in the DataTypes folder of the game project. For example, adding a file EnemyInfo.csv will create a class GameName.DataTypes.EnemyInfo. While this behavior is convenient it is sometimes too restrictive. For example, games may benefit from fully-defining their data classes by hand – even[…]

Glue:Reference:Global Content:Reload

Introduction Glue generates a Reload function in GlobalContent which simplifies reloading CSV files. Reload can only be used to reload CSV files from disk. Reload is useful for games which may change CSVs during execution, such as games that download new data from a remote server. Reload will change the member that is passed to[…]

Glue:Reference:Windows RT

Introduction Windows RT apps are fully supported by the FlatRedBall engine and Glue. This means that users are able to create apps and distribute them on the Windows Store, and they will run on Windows RT devices. Visual Studios It is recommended that you upgrade your version of Visual Studios to Visual Studios 2013 Community.[…]


Introduction The ResolutionOrOrientationChanged event is an event which is raised whenever the game’s resolution or orientation changes. This can happen if: The orientation changes (on a mobile or tablet) The user docks your game in Windows 8 The user changes the window resolution – either through a command in the game or by resizing the[…]

Glue:Reference:Global Content:Setting files at runtime

Introduction All files in GlobalContent have a getter and a setter. This means that you are able to set files at runtime if you would like to update them in custom code. This section will discuss the details of setting files, and why you may want to do this in your projects. Example Scenario Setting[…]


Introduction FlatRedBall and Glue support development for iOS (iPhone and iPad) through Xamarin’s Mono compiler and MonoGame. Subsections How to create a FlatRedBall iOS project Certificates and Profiles Additional Information If you have a NullReferenceException in Microsoft.Xna.Framework.Audio.OpenALSoundController.Update, and you are playing on the simulator, verify that audio is working properly on your Mac. For information[…]

Glue:Reference:Code:Generated Code

Introduction One of the primary technologies that Glue uses to function is it creates generated code. Some game projects may include more generated code than hand-written code. This section discusses the details of how generated code works. The details of generated code may be useful to you during development if: You have encountered a bug[…]


Introduction Most files in Glue are automatically loaded. When these files are loaded, the information which is loaded is stored in an object so that you and the FlatRedBall engine can access this information. The RuntimeType property sets which type of object the file will load into. In most cases the RuntimeType will be automatically[…]

Glue:Reference:Files:ShapeCollection (.shcx)

Introduction ShapeCollections can be created through files. To add a ShapeCollection to a Screen or Entity: Create a Screen or Entity which will contain the ShapeCollection file Right-click on the Files item Select “Add File”->”New file” Select “Shape Collection (.shcx)” as the file type Click OK