Doloro GDK 22 .1.0 Beta
by Tauri Interactive
Getting started

Idea

The main idea of DDM APS module is to simplify development and make its your projects clearer and much more revealing excluding from its hard-coded structure any non-uniform part.

The system provides you the way of flexibly extend of in-game objects with runtime properties opening you handful interface that makes your projects much more friendly both for your developer and enthusiasts from your community that will decide to extend your with a mods and features.


Main entities

The system by itself is not too small but when we are talking about routine development its simplified only to several entities which roles you should understand.

Entity Description
Asset Property Base element of the system that represents a soft property declared above some other object.
Asset Properties Collection Main component that works as properties hub and provides you with API to manage them both via code and editor GUI.
Properties Aggregator Component that allows to composite several properties hierarchies to a single one in virtual way encapsulating object's hierarchy structure.

AssetPropertiesCollection and PropertiesAggregator implements IPropertiesProvider interface that is the one of the core interfaces using all across the system.

We recommend to explore:

See also:


Object space

On scene the system exists as a simple Component we are all used to.
The structure of system in objects hierarchy is a tree where:

Part Component Purpose
(optional) Root PropertiesAggregator Component that composites entire child IPropertiesProvider components in object's hierarchy into virtual proxy hierarchy and provides access to them content unnoticeably for client.
(optional) Branches IPropertiesProvider derived components child to root via the hierarchy Allows to create intermediate properties hubs inside hierarchy. Useful when you want to make in-scope-like property, avoiding access to global properties of object available via the root.
Leaves AssetPropertiesCollection Collection of soft properties applied to an object. The only demanded part of the tree if you have no needs in others. Provides you with access of its properties and API to them handling.
Warning
Limits: the default implementation not allows several properties at the same domain under the same name to be stored within internal registry.
When you attempt to reach such a conflict property via the PropertiesAggregator you'll get a first meet entry.

Scalability

DDM APS its a very flexible system that allows you to modify its structure with a custom architecture solutions affecting or extending the base logic.

Custom properties

You can easily extend base collection of supported AssetProperty implementations according with your project data structures.

More about: Custom properties

Object structure

You may implement your own IPropertiesProvider that will handle cross hierarchy interaction logic.
That will allow you to create more advanced branches logic related to your tasks or implement other features following your game-features logic.

More about: Custom Aggregator

Resources structure

The system works with the Dynamic Resource Tools module's Patch Tool extension. That allows to upgrade resources with properties at post-release stage.

More about: Patching