Cyphesis tasks interface

From WorldForgeWiki
Jump to: navigation, search

Specification for expressing user interface for tasks in Cyphesis

User interface for task could be specified in task class definition.

An example:

    <map name="attributes">
      <map name="height">
        <float name="default">12</float>
        <string name="visibility">public</string>
        <string name="title">Height</string>
        <string name="description">Specify height in metres.</string>
        ... additional parameters for attribute ...
      </map>
...
    </map>

Type of each attribute is defined by type of default value. Possible types for adapters: int, float, string, boolean.

Parameters “default” and “visibility” are mandatory, other are optional. The following additional parameters are available for various types of adapters:

1. List of values:

<list name="values">
  <string name="weathered">Weathered</string>
  <string name="gnarly">Gnarly</string>
  <string name="straight">Straight</string>
</list>

2. Range of values:

<map name="range">
  <float name="low">0.0</float>
  <float name="high">100.0</float>
</map>

3. Allowance of random value:

<boolean name="allowrandom">true</boolean>
<boolean name="defaultrandom">true</boolean>

// Other idea is to set default to "Random", but we cannot set it, as we define adapter type from default.