Difference between revisions of "Object Element"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>JRoush
m (Menu Element moved to Object Element: menu vs. <menu> - too confusing)
imported>JRoush
Line 1: Line 1:
Object Elements are a subgroup of the elements in the [[:Category: Oblivion XML|Oblivion XML]] schema.  They define all of the "objects" in the menu - the background and images, the buttons, the text - anything visible is an object element.
== Overview ==
Object Elements are a subgroup of the elements in the [[:Category: Oblivion XML|Oblivion XML]] schema.  Every part of a menu - the background and images, the buttons, the text - anything visible - is an object element.


Object Elements are generally identified with a name (using the [[Trait|name trait]]), and can be interacted with by the player and by certain OBSE scripting functions.
Object Elements are usually given a name to identify them using the [[Trait|Name]] trait, e.g. the image element that holds a menus background texture might be:
<image name="background_texture"> </image>
This name could then be used by an [[Operator Element]] or an OBSE scripting function to refer to this object.
 
Object Elements should not contain literal text or numbers.  Instead, they should have a series of [[Property Element]]s as children, which in turn will contain the various parameters that describe the object.  For example, the <text> element that holds the title of a menu might be defined like this:
<text name="title_text">  &lt;!-- [[#Text|Text]] element, [[Trait#Name|Name]] trait is 'title_text' --&gt;
  <x> 100 </x>  &lt;!-- position determined by <[[Property Element#Sizeable|x]]> & <[[Property Element#Sizeable|y]]> Property elements --&gt;
  <y> 150 </y> 
  &lt;font> 2 &lt;/font>  &lt;!-- text font determined by <[[Property Element#Text|font]]> Property element--&gt;
  <string>      &lt;!-- actual text determined by <[[Property Element#Text|string]]> Property element --&gt;
    This is the Actual Title
  </string>   
</text>
 
Below is a listing of common Object Elements, and the groups of Properties each can make use of.


== Image ==
== Image ==

Revision as of 13:07, 31 March 2010

Overview

Object Elements are a subgroup of the elements in the Oblivion XML schema. Every part of a menu - the background and images, the buttons, the text - anything visible - is an object element.

Object Elements are usually given a name to identify them using the Name trait, e.g. the image element that holds a menus background texture might be:

<image name="background_texture"> </image>

This name could then be used by an Operator Element or an OBSE scripting function to refer to this object.

Object Elements should not contain literal text or numbers. Instead, they should have a series of Property Elements as children, which in turn will contain the various parameters that describe the object. For example, the <text> element that holds the title of a menu might be defined like this:

<text name="title_text">   <!-- Text element, Name trait is 'title_text' -->
  <x> 100 </x>   <!-- position determined by <x> & <y> Property elements -->
  <y> 150 </y>  
  <font> 2 </font>   <!-- text font determined by <font> Property element-->
  <string>      <!-- actual text determined by <string> Property element -->
    This is the Actual Title 
  </string>    
</text>

Below is a listing of common Object Elements, and the groups of Properties each can make use of.

Image

Defines a rectangular region with an associated texture. Every visible aspect of the menus and HUD, except for text, is an <image> element.

Property Elements

Rect

Defines a rectangular region (similar to an Image element), but without any visible effects. Even so, a <Rect> element may have a Visible element as a child, which if set to false will hide the <Rect> element and all of its children.

Property Elements

Text

Self explanatory. Note, however, that the width and height property elements have no effect on the size of the text - this is determined solely by the font property.

Property Elements

Menu

Menu elements are a bit special. The root element of a every menu file must be of this type, and no other <menu> elements are parsed, no matter where they appear in the file.

Property Elements