Object Element

From the Oblivion ConstructionSet Wiki
Revision as of 12:59, 3 May 2011 by imported>JRoush (Rebranding XML "traits" as "attributes"; added a link & changed some wording)
Jump to navigation Jump to search

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 attribute, e.g. the image element that holds a menu's background texture might be:

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

Operator Elements and OBSE menu functions generally refer to Objects by their name.

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 attribute 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 property, 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