<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
  SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
  <func>
    <title>GetComponent</title>
    <category>Objects</category>
    <subcat>Components</subcat>
    <version>5.1 OC</version>
    <syntax>
      <rtype>int / id</rtype>
      <params>
        <param>
          <type>id</type>
          <name>component</name>
          <desc>Object component of which to determine the count. If not specified, index is used and the id of the component is returned.</desc>
          <optional />
        </param>
        <param>
          <type>int</type>
          <name>index</name>
          <desc>Index of the component to be returned. This parameter is ignored if component is specified. Returns the id of the indicated component which can then be used to determine the count in a subsequent call to GetComponent.</desc>
          <optional />
        </param>
        <param>
          <type>object</type>
          <name>obj</name>
          <desc>Object of which to determine components. Can be <code>nil</code> in local calls. If definition is specified, this parameter is ignored.</desc>
          <optional />
        </param>
        <param>
          <type>id</type>
          <name>definition</name>
          <desc>Definition of which to determine components. If <code>nil</code>, the specified object is checked instead.</desc>
          <optional />
        </param>
      </params>
    </syntax>
    <desc>Used to determine object components.</desc>
    <examples>
      <example>
        <code>var i,cid,num;
<funclink>while</funclink> (id = GetComponent(nil, i++, nil, <funclink>GetID</funclink>()))
	if ((num = GetComponent(id) - GetComponent(id, 0, nil, <funclink>GetID</funclink>())) &gt; 0)
		<funclink>while</funclink> (num--) <funclink>CreateObject</funclink>(id);</code>
        <text>Creates all components which are still missing in the calling object (e.g. in a construction site) in front of the object.</text>
      </example>
    </examples>
    <related>
      <funclink>SetComponent</funclink>
      <funclink>Split2Components</funclink>
    </related>
  </func>
  <author>Cucaracha</author><date>2002-05</date>
</funcs>
