text: // 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: VROSC.AnimatedAppearData
  #include "VROSC/AnimatedAppearData.hpp"
  // Including type: UnityEngine.Vector2
  #include "UnityEngine/Vector2.hpp"
  // Including type: VROSC.AnimatedAppear
  #include "VROSC/AnimatedAppear.hpp"
  #include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  #include "beatsaber-hook/shared/utils/il2cpp-utils-properties.hpp"
  #include "beatsaber-hook/shared/utils/il2cpp-utils-fields.hpp"
  #include "beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: VROSC
  namespace VROSC {
    // Forward declaring type: MinMaxVector2
    class MinMaxVector2;
  }
  // Completed forward declares
  #include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(::VROSC::AnimatedAppearData::AppearingObject);
  DEFINE_IL2CPP_ARG_TYPE(::VROSC::AnimatedAppearData::AppearingObject*, "VROSC", "AnimatedAppearData/AppearingObject");
  // Type namespace: VROSC
  namespace VROSC {
    // Size: 0x20
    #pragma pack(push, 1)
    // Autogenerated type: VROSC.AnimatedAppearData/VROSC.AppearingObject
    // [TokenAttribute] Offset: FFFFFFFF
    class AnimatedAppearData::AppearingObject : public ::Il2CppObject {
      public:
      #ifdef USE_CODEGEN_FIELDS
      public:
      #else
      #ifdef CODEGEN_FIELD_ACCESSIBILITY
      CODEGEN_FIELD_ACCESSIBILITY:
      #else
      protected:
      #endif
      #endif
      // protected VROSC.MinMaxVector2 _minMax
      // Size: 0x8
      // Offset: 0x10
      ::VROSC::MinMaxVector2* minMax;
      // Field size check
      static_assert(sizeof(::VROSC::MinMaxVector2*) == 0x8);
      // protected UnityEngine.Vector2 _appear
      // Size: 0x8
      // Offset: 0x18
      ::UnityEngine::Vector2 appear;
      // Field size check
      static_assert(sizeof(::UnityEngine::Vector2) == 0x8);
      public:
      // Get instance field reference: protected VROSC.MinMaxVector2 _minMax
      ::VROSC::MinMaxVector2*& dyn__minMax();
      // Get instance field reference: protected UnityEngine.Vector2 _appear
      ::UnityEngine::Vector2& dyn__appear();
      // protected System.Void .ctor(VROSC.MinMaxVector2 minMax)
      // Offset: 0x1359AD4
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static AnimatedAppearData::AppearingObject* New_ctor(::VROSC::MinMaxVector2* minMax) {
        static auto ___internal__logger = ::Logger::get().WithContext("::VROSC::AnimatedAppearData::AppearingObject::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<AnimatedAppearData::AppearingObject*, creationType>(minMax)));
      }
      // public System.Void Update(UnityEngine.Vector2 amount, System.Boolean useFlash, System.Boolean force, VROSC.AnimatedAppear/VROSC.Mode mode)
      // Offset: 0x1359B48
      void Update(::UnityEngine::Vector2 amount, bool useFlash, bool force, ::VROSC::AnimatedAppear::Mode mode);
      // protected System.Void UpdateObject(VROSC.AnimatedAppear/VROSC.Mode mode, System.Boolean useFlash)
      // Offset: 0xFFFFFFFFFFFFFFFF
      void UpdateObject(::VROSC::AnimatedAppear::Mode mode, bool useFlash);
    }; // VROSC.AnimatedAppearData/VROSC.AppearingObject
    #pragma pack(pop)
    static check_size<sizeof(AnimatedAppearData::AppearingObject), 24 + sizeof(::UnityEngine::Vector2)> __VROSC_AnimatedAppearData_AppearingObjectSizeCheck;
    static_assert(sizeof(AnimatedAppearData::AppearingObject) == 0x20);
  }
  #include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: VROSC::AnimatedAppearData::AppearingObject::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: VROSC::AnimatedAppearData::AppearingObject::Update
  // Il2CppName: Update
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (VROSC::AnimatedAppearData::AppearingObject::*)(::UnityEngine::Vector2, bool, bool, ::VROSC::AnimatedAppear::Mode)>(&VROSC::AnimatedAppearData::AppearingObject::Update)> {
    static const MethodInfo* get() {
      static auto* amount = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector2")->byval_arg;
      static auto* useFlash = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* force = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* mode = &::il2cpp_utils::GetClassFromName("VROSC", "AnimatedAppear/Mode")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(VROSC::AnimatedAppearData::AppearingObject*), "Update", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{amount, useFlash, force, mode});
    }
  };
  // Writing MetadataGetter for method: VROSC::AnimatedAppearData::AppearingObject::UpdateObject
  // Il2CppName: UpdateObject
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (VROSC::AnimatedAppearData::AppearingObject::*)(::VROSC::AnimatedAppear::Mode, bool)>(&VROSC::AnimatedAppearData::AppearingObject::UpdateObject)> {
    static const MethodInfo* get() {
      static auto* mode = &::il2cpp_utils::GetClassFromName("VROSC", "AnimatedAppear/Mode")->byval_arg;
      static auto* useFlash = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(VROSC::AnimatedAppearData::AppearingObject*), "UpdateObject", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{mode, useFlash});
    }
  };
  