/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
 *
 * @version
 * 2.0.296 (March 01 2009)
 * 
 * @copyright
 * Copyright (C) 2004-2009 Alex Gorbatchev.
 *
 * @license
 * This file is part of SyntaxHighlighter.
 * 
 * SyntaxHighlighter is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * SyntaxHighlighter is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with SyntaxHighlighter.  If not, see <http://www.gnu.org/licenses/>.
 */
SyntaxHighlighter.brushes.unrealscript = function()
{
	// Contributed by Justin Kelly
	// http://UDKC.info
	
    var keywords =  'break continue if else switch while for do foreach true True false False null new instanceof state auto exec function defaultproperties native noexpor var out local event return static Static synchronized transient volatile final throws class extends expands public protected  private abstract case default final simulated Dot nativereplication replication unreliable reliable ignores localized latent singular Cross config enum struct operator preoperator postoperator iterator coerce optional const editconst array export editinline editinlinenew editinlineuse cpptext placeable virtual hidecategories Super super Global global None none Self self'

    var special =  'boolean char byte short int long float double void Pawn sound ipaddr ELightType actor ammo bool vector rotator name string object plane staticmesh package color coords';

    this.regexList = [
        { regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },		// one line comments
		{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },		// multiline comments
        { regex: /^\s*@\w+/gm, 										css: 'decorator' },
		{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },		// strings
		{ regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,				css: 'value' },			// numbers
		{ regex: /(?!\@interface\b)\@[\$\w]+\b/g,					css: 'color1' },		// annotation @anno
		{ regex: /\@interface\b/g,									css: 'color2' },		// @interface keyword
        { regex: new RegExp(this.getKeywords(keywords), 'gm'), 		css: 'keyword' },
        { regex: new RegExp(this.getKeywords(special), 'gm'), 		css: 'color1' }
        ];

	this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};

SyntaxHighlighter.brushes.unrealscript.prototype  = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.unrealscript.aliases    = ['us', 'unrealscript', 'unreal', 'uscript', 'uc'];

