Selection.GetFiltered
static function GetFiltered(type: Type, mode: SelectionMode): Object[];
static Object[] GetFiltered(Type type, SelectionMode mode);
static def GetFiltered(type as Type, mode as SelectionMode) as Object[]
Parameters

type Only objects of this type will be retrieved.
mode Further options to refine the selection.
Description

Returns the current selection filtered by type and mode.

For a selected GameObject that has multiple Components of type, only the first one will be included in the results.
if type is a subclass of Component or GameObject the full SelectionMode is supported.
if type does not subclass from Component or GameObject (eg. Mesh or ScriptableObject) only SelectionMode.ExcludePrefab and SelectionMode.Editable are supported.
class ToggleActive extends ScriptableObject {
    @MenuItem ("Example/Toggle Active of Selected %i")
    static function DoToggle() {
        var activeGOs: Object[] =
            Selection.GetFiltered(
                GameObject,
                SelectionMode.Editable | SelectionMode.TopLevel);

for (var obj in activeGOs) var activeGO = obj as GameObject; activeGO.SetActive(!activeGO.activeSelf); } }