text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  #include "extern/beatsaber-hook/shared/utils/byref.hpp"
  // Including type: HMUI.ViewController
  #include "HMUI/ViewController.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-properties.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-fields.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: UnityEngine::UI
  namespace UnityEngine::UI {
    // Forward declaring type: Button
    class Button;
  }
  // Forward declaring namespace: GlobalNamespace
  namespace GlobalNamespace {
    // Forward declaring type: LoadingControl
    class LoadingControl;
  }
  // Forward declaring namespace: System
  namespace System {
    // Forward declaring type: Action
    class Action;
  }
  // Completed forward declares
  // Type namespace: 
  namespace GlobalNamespace {
    // Size: 0x90
    #pragma pack(push, 1)
    // Autogenerated type: JoiningLobbyViewController
    // [TokenAttribute] Offset: FFFFFFFF
    class JoiningLobbyViewController : public HMUI::ViewController {
      public:
      // private UnityEngine.UI.Button _cancelJoiningButton
      // Size: 0x8
      // Offset: 0x70
      UnityEngine::UI::Button* cancelJoiningButton;
      // Field size check
      static_assert(sizeof(UnityEngine::UI::Button*) == 0x8);
      // private LoadingControl _loadingControl
      // Size: 0x8
      // Offset: 0x78
      GlobalNamespace::LoadingControl* loadingControl;
      // Field size check
      static_assert(sizeof(GlobalNamespace::LoadingControl*) == 0x8);
      // private System.String _text
      // Size: 0x8
      // Offset: 0x80
      ::Il2CppString* text;
      // Field size check
      static_assert(sizeof(::Il2CppString*) == 0x8);
      // private System.Action didCancelEvent
      // Size: 0x8
      // Offset: 0x88
      System::Action* didCancelEvent;
      // Field size check
      static_assert(sizeof(System::Action*) == 0x8);
      // Creating value type constructor for type: JoiningLobbyViewController
      JoiningLobbyViewController(UnityEngine::UI::Button* cancelJoiningButton_ = {}, GlobalNamespace::LoadingControl* loadingControl_ = {}, ::Il2CppString* text_ = {}, System::Action* didCancelEvent_ = {}) noexcept : cancelJoiningButton{cancelJoiningButton_}, loadingControl{loadingControl_}, text{text_}, didCancelEvent{didCancelEvent_} {}
      // Get instance field reference: private UnityEngine.UI.Button _cancelJoiningButton
      UnityEngine::UI::Button*& dyn__cancelJoiningButton();
      // Get instance field reference: private LoadingControl _loadingControl
      GlobalNamespace::LoadingControl*& dyn__loadingControl();
      // Get instance field reference: private System.String _text
      ::Il2CppString*& dyn__text();
      // Get instance field reference: private System.Action didCancelEvent
      System::Action*& dyn_didCancelEvent();
      // public System.Void add_didCancelEvent(System.Action value)
      // Offset: 0x118A9C8
      void add_didCancelEvent(System::Action* value);
      // public System.Void remove_didCancelEvent(System.Action value)
      // Offset: 0x118AA6C
      void remove_didCancelEvent(System::Action* value);
      // public System.Void Init(System.String text)
      // Offset: 0x118AB10
      void Init(::Il2CppString* text);
      // public System.Void HideLoading()
      // Offset: 0x118AB48
      void HideLoading();
      // private System.Void <DidActivate>b__8_0()
      // Offset: 0x118AC5C
      void $DidActivate$b__8_0();
      // public System.Void .ctor()
      // Offset: 0x118AC54
      // Implemented from: HMUI.ViewController
      // Base method: System.Void ViewController::.ctor()
      // Base method: System.Void MonoBehaviour::.ctor()
      // Base method: System.Void Behaviour::.ctor()
      // Base method: System.Void Component::.ctor()
      // Base method: System.Void Object::.ctor()
      // Base method: System.Void Object::.ctor()
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static JoiningLobbyViewController* New_ctor() {
        static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::JoiningLobbyViewController::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<JoiningLobbyViewController*, creationType>()));
      }
      // protected override System.Void DidActivate(System.Boolean firstActivation, System.Boolean addedToHierarchy, System.Boolean screenSystemEnabling)
      // Offset: 0x118AB94
      // Implemented from: HMUI.ViewController
      // Base method: System.Void ViewController::DidActivate(System.Boolean firstActivation, System.Boolean addedToHierarchy, System.Boolean screenSystemEnabling)
      void DidActivate(bool firstActivation, bool addedToHierarchy, bool screenSystemEnabling);
    }; // JoiningLobbyViewController
    #pragma pack(pop)
    static check_size<sizeof(JoiningLobbyViewController), 136 + sizeof(System::Action*)> __GlobalNamespace_JoiningLobbyViewControllerSizeCheck;
    static_assert(sizeof(JoiningLobbyViewController) == 0x90);
  }
  DEFINE_IL2CPP_ARG_TYPE(GlobalNamespace::JoiningLobbyViewController*, "", "JoiningLobbyViewController");
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: GlobalNamespace::JoiningLobbyViewController::add_didCancelEvent
  // Il2CppName: add_didCancelEvent
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::JoiningLobbyViewController::*)(System::Action*)>(&GlobalNamespace::JoiningLobbyViewController::add_didCancelEvent)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "Action")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::JoiningLobbyViewController*), "add_didCancelEvent", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::JoiningLobbyViewController::remove_didCancelEvent
  // Il2CppName: remove_didCancelEvent
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::JoiningLobbyViewController::*)(System::Action*)>(&GlobalNamespace::JoiningLobbyViewController::remove_didCancelEvent)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "Action")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::JoiningLobbyViewController*), "remove_didCancelEvent", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::JoiningLobbyViewController::Init
  // Il2CppName: Init
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::JoiningLobbyViewController::*)(::Il2CppString*)>(&GlobalNamespace::JoiningLobbyViewController::Init)> {
    static const MethodInfo* get() {
      static auto* text = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::JoiningLobbyViewController*), "Init", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{text});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::JoiningLobbyViewController::HideLoading
  // Il2CppName: HideLoading
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::JoiningLobbyViewController::*)()>(&GlobalNamespace::JoiningLobbyViewController::HideLoading)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::JoiningLobbyViewController*), "HideLoading", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::JoiningLobbyViewController::$DidActivate$b__8_0
  // Il2CppName: <DidActivate>b__8_0
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::JoiningLobbyViewController::*)()>(&GlobalNamespace::JoiningLobbyViewController::$DidActivate$b__8_0)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::JoiningLobbyViewController*), "<DidActivate>b__8_0", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::JoiningLobbyViewController::New_ctor
  // Il2CppName: .ctor
  // Cannot get method pointer of value based method overload from template for constructor!
  // Try using FindMethod instead!
  // Writing MetadataGetter for method: GlobalNamespace::JoiningLobbyViewController::DidActivate
  // Il2CppName: DidActivate
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::JoiningLobbyViewController::*)(bool, bool, bool)>(&GlobalNamespace::JoiningLobbyViewController::DidActivate)> {
    static const MethodInfo* get() {
      static auto* firstActivation = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* addedToHierarchy = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* screenSystemEnabling = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::JoiningLobbyViewController*), "DidActivate", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{firstActivation, addedToHierarchy, screenSystemEnabling});
    }
  };
  