class AITweakParams
{

	public static function GetStringFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : String
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetString( tweakID, "" );
	}

	public static function GetStringArrayFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : array< String >
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetStringArray( tweakID );
	}

	public static function GetCNameFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : CName
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetCName( tweakID, '' );
	}

	public static function GetCNameArrayFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : array< CName >
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetCNameArray( tweakID );
	}

	public static function GetFloatFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : Float
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetFloat( tweakID, -1.0 );
	}

	public static function GetFloatArrayFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : array< Float >
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetFloatArray( tweakID );
	}

	public static function GetIntFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : Int32
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetInt( tweakID, -1 );
	}

	public static function GetIntArrayFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : array< Int32 >
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetIntArray( tweakID );
	}

	public static function GetVectorFromTweak( const actionID : TweakDBID, const paramName : ref< String > ) : Vector3
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetVector3( tweakID );
	}

	public static function GetBoolFromTweak( const actionID : TweakDBID, const paramName : ref< String >, optional defaultValue : Bool ) : Bool
	{
		var tweakID : TweakDBID;
		tweakID = actionID;
		TDBID.Append( tweakID, TDBID.Create( "." + paramName ) );
		return TDB.GetBool( tweakID, defaultValue );
	}

}

