text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: UnityEngine.MonoBehaviour
  #include "UnityEngine/MonoBehaviour.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: GlobalNamespace
  namespace GlobalNamespace {
    // Forward declaring type: TutorialSongController
    class TutorialSongController;
    // Forward declaring type: IntroTutorialController
    class IntroTutorialController;
    // Forward declaring type: AudioFading
    class AudioFading;
    // Forward declaring type: TutorialScenesTransitionSetupDataSO
    class TutorialScenesTransitionSetupDataSO;
    // Forward declaring type: Signal
    class Signal;
    // Forward declaring type: PauseController
    class PauseController;
  }
  // Forward declaring namespace: System::Collections
  namespace System::Collections {
    // Forward declaring type: IEnumerator
    class IEnumerator;
  }
  // Forward declaring namespace: System
  namespace System {
    // Forward declaring type: Action`1<T>
    template<typename T>
    class Action_1;
  }
  // Completed forward declares
  // Type namespace: 
  namespace GlobalNamespace {
    // Size: 0x52
    #pragma pack(push, 1)
    // Autogenerated type: TutorialController
    class TutorialController : public UnityEngine::MonoBehaviour {
      public:
      // Nested type: GlobalNamespace::TutorialController::$OutroCoroutine$d__13
      class $OutroCoroutine$d__13;
      // private TutorialSongController _tutorialSongController
      // Size: 0x8
      // Offset: 0x18
      GlobalNamespace::TutorialSongController* tutorialSongController;
      // Field size check
      static_assert(sizeof(GlobalNamespace::TutorialSongController*) == 0x8);
      // private IntroTutorialController _introTutorialController
      // Size: 0x8
      // Offset: 0x20
      GlobalNamespace::IntroTutorialController* introTutorialController;
      // Field size check
      static_assert(sizeof(GlobalNamespace::IntroTutorialController*) == 0x8);
      // private AudioFading _audioFading
      // Size: 0x8
      // Offset: 0x28
      GlobalNamespace::AudioFading* audioFading;
      // Field size check
      static_assert(sizeof(GlobalNamespace::AudioFading*) == 0x8);
      // private TutorialScenesTransitionSetupDataSO _tutorialSceneSetupData
      // Size: 0x8
      // Offset: 0x30
      GlobalNamespace::TutorialScenesTransitionSetupDataSO* tutorialSceneSetupData;
      // Field size check
      static_assert(sizeof(GlobalNamespace::TutorialScenesTransitionSetupDataSO*) == 0x8);
      // [SpaceAttribute] Offset: 0xE1FD20
      // [SignalSenderAttribute] Offset: 0xE1FD20
      // private Signal _tutorialIntroStartedSignal
      // Size: 0x8
      // Offset: 0x38
      GlobalNamespace::Signal* tutorialIntroStartedSignal;
      // Field size check
      static_assert(sizeof(GlobalNamespace::Signal*) == 0x8);
      // [SignalSenderAttribute] Offset: 0xE1FD68
      // private Signal _tutorialFinishedSignal
      // Size: 0x8
      // Offset: 0x40
      GlobalNamespace::Signal* tutorialFinishedSignal;
      // Field size check
      static_assert(sizeof(GlobalNamespace::Signal*) == 0x8);
      // [InjectAttribute] Offset: 0xE1FDA0
      // private PauseController _pauseController
      // Size: 0x8
      // Offset: 0x48
      GlobalNamespace::PauseController* pauseController;
      // Field size check
      static_assert(sizeof(GlobalNamespace::PauseController*) == 0x8);
      // private System.Boolean _paused
      // Size: 0x1
      // Offset: 0x50
      bool paused;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // private System.Boolean _doingOutroTransition
      // Size: 0x1
      // Offset: 0x51
      bool doingOutroTransition;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // Creating value type constructor for type: TutorialController
      TutorialController(GlobalNamespace::TutorialSongController* tutorialSongController_ = {}, GlobalNamespace::IntroTutorialController* introTutorialController_ = {}, GlobalNamespace::AudioFading* audioFading_ = {}, GlobalNamespace::TutorialScenesTransitionSetupDataSO* tutorialSceneSetupData_ = {}, GlobalNamespace::Signal* tutorialIntroStartedSignal_ = {}, GlobalNamespace::Signal* tutorialFinishedSignal_ = {}, GlobalNamespace::PauseController* pauseController_ = {}, bool paused_ = {}, bool doingOutroTransition_ = {}) noexcept : tutorialSongController{tutorialSongController_}, introTutorialController{introTutorialController_}, audioFading{audioFading_}, tutorialSceneSetupData{tutorialSceneSetupData_}, tutorialIntroStartedSignal{tutorialIntroStartedSignal_}, tutorialFinishedSignal{tutorialFinishedSignal_}, pauseController{pauseController_}, paused{paused_}, doingOutroTransition{doingOutroTransition_} {}
      // Deleting conversion operator: operator System::IntPtr
      constexpr operator System::IntPtr() const noexcept = delete;
      // protected System.Void Start()
      // Offset: 0x10FA9B0
      void Start();
      // protected System.Void OnDestroy()
      // Offset: 0x10FAB84
      void OnDestroy();
      // private System.Void HandleIntroTutorialDidFinishEvent()
      // Offset: 0x10FADC8
      void HandleIntroTutorialDidFinishEvent();
      // private System.Void HandleTutorialSongControllerSongDidFinishEvent()
      // Offset: 0x10FAE40
      void HandleTutorialSongControllerSongDidFinishEvent();
      // private System.Collections.IEnumerator OutroCoroutine()
      // Offset: 0x10FAE8C
      System::Collections::IEnumerator* OutroCoroutine();
      // private System.Void HandlePauseControllerCanPause(System.Action`1<System.Boolean> canPause)
      // Offset: 0x10FAF28
      void HandlePauseControllerCanPause(System::Action_1<bool>* canPause);
      // private System.Void HandlePauseControllerDidPause()
      // Offset: 0x10FAFB4
      void HandlePauseControllerDidPause();
      // private System.Void HandlePauseControllerDidResume()
      // Offset: 0x10FAFC0
      void HandlePauseControllerDidResume();
      // public System.Void .ctor()
      // Offset: 0x10FAFC8
      // Implemented from: UnityEngine.MonoBehaviour
      // 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 TutorialController* New_ctor() {
        static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::TutorialController::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<TutorialController*, creationType>()));
      }
    }; // TutorialController
    #pragma pack(pop)
    static check_size<sizeof(TutorialController), 81 + sizeof(bool)> __GlobalNamespace_TutorialControllerSizeCheck;
    static_assert(sizeof(TutorialController) == 0x52);
  }
  DEFINE_IL2CPP_ARG_TYPE(GlobalNamespace::TutorialController*, "", "TutorialController");
  