Protocols
The following protocols are available globally.
-
Any TiledKit object that can have user defined properties, that supports writing of properties
See moreDeclaration
Swift
public protocol Propertied
-
Ensures a Tiled “float” can be converted into an Engine specific property value
See moreDeclaration
Swift
public protocol ExpressibleAsTiledFloat
-
Ensures a Tiled “color” can be converted into an Engine specific property value
See moreDeclaration
Swift
public protocol ExpressibleAsTiledColor
-
Enables the implementer to provide the information required to automatically translate a tiled property and apply it to the game specific engine.
See moreDeclaration
Swift
public protocol BridgableProperty
-
An object that can create new instances that are deep copies of itself
See moreDeclaration
Swift
public protocol DeepCopyable
-
The entry point for any game engine specialization. See Game Engine Specialization
See moreDeclaration
Swift
public protocol Engine
-
A concrete object that the implementor of will be able to be directly bridged to a TiledKit
See moremap
with a high level of automationDeclaration
Swift
public protocol EngineMap : EngineLayerContainer, Loadable
-
Captures an object that is important for a given game engine (and will be involved in automated maping etc). In general only game engine types that map directly to Tiled entities will need to support this
See moreDeclaration
Swift
public protocol EngineObject
-
Container that can contain sprites and tiles
See moreDeclaration
Swift
public protocol EngineSpriteContainer : EngineObject
-
Container that can contain objects
See moreDeclaration
Swift
public protocol EngineObjectContainer : EngineSpriteContainer
-
Layer containers can contain other elements or layers.
See moreDeclaration
Swift
public protocol EngineLayerContainer : EngineObject
-
Producers are responsible for creating and post-processing
Engine
specific objects representing Tiled objects.Engine
implementors must provide basic similar funcitonality but those can be the most generic realizations of Tiled objects, with specific producers created to perform more specialized work, stoppingEngine
s from becoming overly complex in a single type.Declaration
Swift
public protocol Producer : EngineObject
-
By implementing this protocol (required for
See moreEngine.TextureType
loading behaviour except the actual loading of the texture data will be providedDeclaration
Swift
public protocol EngineTexture : EngineObject, Loadable
-
This type should not be implemented outside of TiledKit and is used solely pass information about the current project to the
See moreEngine
s load texture implementation. Outside of TiledKit you should use the automatically providedEngine.load(textureFrom url:URL, project: Project)
methodDeclaration
Swift
public protocol EngineImageLoader
-
A
See moreLayerFilter
is used when queryingLayerContainer
s to select one or more matchingLayer
s and are responsible for determining if any givenLayer
meets a set of criteriaDeclaration
Swift
public protocol LayerFilter
-
All
See moreLayer
types, or types that represent specialisations ofLayer
implement this common set of properties.Declaration
Swift
public protocol LayerProtocol : Propertied
-
An
See moreObjectFilter
is used when queryingLayerContainer
s to select one or more matchingObjects
s and are responsible for determining if any givenObject
meets a set of criteriaDeclaration
Swift
public protocol ObjectFilter
-
Undocumented
See moreDeclaration
Swift
public protocol ObjectProtocol : Propertied
-
You can extend the range of resources and even the way resources are loaded by implementing your own
See moreResourceLoader
.Declaration
Swift
public protocol ResourceLoader
-
Any TiledKit object that can have user defined properties, that supports writing of properties
See moreDeclaration
Swift
public protocol MutablePropertied : Propertied