static int GetComponentsInChildren(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 2)
        {
            FSMBase     obj  = LuaScriptMgr.GetNetObject <FSMBase>(L, 1);
            Type        arg0 = LuaScriptMgr.GetTypeObject(L, 2);
            Component[] o    = obj.GetComponentsInChildren(arg0);
            LuaScriptMgr.PushArray(L, o);
            return(1);
        }
        else if (count == 3)
        {
            FSMBase     obj  = LuaScriptMgr.GetNetObject <FSMBase>(L, 1);
            Type        arg0 = LuaScriptMgr.GetTypeObject(L, 2);
            bool        arg1 = LuaScriptMgr.GetBoolean(L, 3);
            Component[] o    = obj.GetComponentsInChildren(arg0, arg1);
            LuaScriptMgr.PushArray(L, o);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: FSMBase.GetComponentsInChildren");
        }

        return(0);
    }