Namespace GoRogue.GameFramework
Classes
GameObject
Base class for any object that has a grid position and can be added to a Map. Implements basic attributes generally common to all objects on a map, as well as properties/methods that the Map class needs to function. It also implements IHasComponents, which means you can attach components to it. In cases where this class cannot be inherited from, have your class implement IGameObject via a private GameObject field.
Map
Base class for a map that consists of one or more objects of base type IGameObject. It implements basic functionality to manage and access these objects, as well as commonly needed functionality like tile exploration, FOV, and pathfinding. It also provides methods to easily access these objects as instances of some derived type, that can be used to access functionality you've implemented in a subclass.
Interfaces
IGameObject
An interface that defines the entire public interface of GameObject. Generally, you should NOT implement these functions yourself, however it can be used in conjunction with a private, backing field of type GameObject to store items in a map, where that object cannot directly inherit from GameObject.