// Autogenerated from CppHeaderCreator
// Created by Sc2ad
// =========================================================================
#pragma once
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
#include "beatsaber-hook/shared/utils/byref.hpp"
// Including type: Unity.XR.Oculus.Stats
#include "Unity/XR/Oculus/Stats.hpp"
// Completed includes
#include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
NEED_NO_BOX(::Unity::XR::Oculus::Stats::PerfMetrics);
DEFINE_IL2CPP_ARG_TYPE(::Unity::XR::Oculus::Stats::PerfMetrics*, "Unity.XR.Oculus", "Stats/PerfMetrics");
// Type namespace: Unity.XR.Oculus
namespace Unity::XR::Oculus {
  // Size: 0x10
  #pragma pack(push, 1)
  // Autogenerated type: Unity.XR.Oculus.Stats/Unity.XR.Oculus.PerfMetrics
  // [TokenAttribute] Offset: FFFFFFFF
  class Stats::PerfMetrics : public ::Il2CppObject {
    public:
    // static public System.Single get_AppCPUTime()
    // Offset: 0x12DCB88
    static float get_AppCPUTime();
    // static public System.Single get_AppGPUTime()
    // Offset: 0x12DCC10
    static float get_AppGPUTime();
    // static public System.Single get_CompositorCPUTime()
    // Offset: 0x12DCC98
    static float get_CompositorCPUTime();
    // static public System.Single get_CompositorGPUTime()
    // Offset: 0x12DCD20
    static float get_CompositorGPUTime();
    // static public System.Single get_GPUUtilization()
    // Offset: 0x12DCDA8
    static float get_GPUUtilization();
    // static public System.Single get_CPUUtilizationAverage()
    // Offset: 0x12DCE30
    static float get_CPUUtilizationAverage();
    // static public System.Single get_CPUUtilizationWorst()
    // Offset: 0x12DCEB8
    static float get_CPUUtilizationWorst();
    // static public System.Single get_CPUClockFrequency()
    // Offset: 0x12DCF40
    static float get_CPUClockFrequency();
    // static public System.Single get_GPUClockFrequency()
    // Offset: 0x12DCFC8
    static float get_GPUClockFrequency();
    // static public System.Void EnablePerfMetrics(System.Boolean enable)
    // Offset: 0x12DD050
    static void EnablePerfMetrics(bool enable);
  }; // Unity.XR.Oculus.Stats/Unity.XR.Oculus.PerfMetrics
  #pragma pack(pop)
}
#include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_AppCPUTime
// Il2CppName: get_AppCPUTime
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_AppCPUTime)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_AppCPUTime", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_AppGPUTime
// Il2CppName: get_AppGPUTime
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_AppGPUTime)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_AppGPUTime", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_CompositorCPUTime
// Il2CppName: get_CompositorCPUTime
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_CompositorCPUTime)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_CompositorCPUTime", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_CompositorGPUTime
// Il2CppName: get_CompositorGPUTime
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_CompositorGPUTime)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_CompositorGPUTime", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_GPUUtilization
// Il2CppName: get_GPUUtilization
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_GPUUtilization)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_GPUUtilization", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_CPUUtilizationAverage
// Il2CppName: get_CPUUtilizationAverage
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_CPUUtilizationAverage)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_CPUUtilizationAverage", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_CPUUtilizationWorst
// Il2CppName: get_CPUUtilizationWorst
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_CPUUtilizationWorst)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_CPUUtilizationWorst", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_CPUClockFrequency
// Il2CppName: get_CPUClockFrequency
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_CPUClockFrequency)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_CPUClockFrequency", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::get_GPUClockFrequency
// Il2CppName: get_GPUClockFrequency
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<float (*)()>(&Unity::XR::Oculus::Stats::PerfMetrics::get_GPUClockFrequency)> {
  static const MethodInfo* get() {
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "get_GPUClockFrequency", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
  }
};
// Writing MetadataGetter for method: Unity::XR::Oculus::Stats::PerfMetrics::EnablePerfMetrics
// Il2CppName: EnablePerfMetrics
template<>
struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(bool)>(&Unity::XR::Oculus::Stats::PerfMetrics::EnablePerfMetrics)> {
  static const MethodInfo* get() {
    static auto* enable = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
    return ::il2cpp_utils::FindMethod(classof(Unity::XR::Oculus::Stats::PerfMetrics*), "EnablePerfMetrics", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{enable});
  }
};
