function getobject($type, $key, $level = 0)
{
    global $theater;
    // Get object from theater. This has a case insensitive failsafe, since theater keys sometimes aren't the same case.
    if (isset($theater[$type][$key])) {
        $object = $theater[$type][$key];
    } else {
        foreach ($theater[$type] as $ikey => $item) {
            if (strtolower($key) == strtolower($ikey)) {
                $object = $item;
                break;
            }
        }
    }
    // Merge in imports
    if (isset($object['import'])) {
        echo "Importing {$object['import']}\n";
        // Merge using replacement of like items, which will not merge sub-array values like damagehitgroups or ammo_clip if the object also defines the section. This appears to be the way the game processes these sections.
        $import = getobject($type, $object['import'], $level + 1);
        unset($import['IsBase']);
        //		var_dump("type",$type,"key",$key,"import_key",$object['import']);
        $object = merge_theaters($import, $object);
    }
    return $object;
}
Exemplo n.º 2
0
function DisplayWikiView()
{
    $itemtype = $_REQUEST['itemtype'];
    $itemname = $_REQUEST['itemname'];
    $item = getobject($itemtype, $itemname);
}
Exemplo n.º 3
0
function getobject($type, $key, $recurse = 0)
{
    global $theater;
    // Get object from theater. This has a case insensitive failsafe, since theater keys sometimes aren't the same case.
    if (isset($theater[$type][$key])) {
        $object = $theater[$type][$key];
    } else {
        foreach ($theater[$type] as $ikey => $item) {
            if (strtolower($key) == strtolower($ikey)) {
                $object = $item;
                break;
            }
        }
    }
    // Merge in imports
    if (isset($object["import"])) {
        // Merge using replacement of like items, which will not merge sub-array values like damagehitgroups or ammo_clip if the object also defines the section. This appears to be the way the game processes these sections.
        $import = getobject($type, $object["import"], $recurse);
        unset($import['IsBase']);
        $object = theater_array_replace($import, $object);
    }
    if (isset($object)) {
        return $object;
    }
}