.data_start

    .export lit
    .export unlit

    __refl_const_intnl_udonTypeID: %SystemInt64, null
    __refl_const_intnl_udonTypeName: %SystemString, null
    lit: %UnityEngineColor, null
    unlit: %UnityEngineColor, null
    source: %UnityEngineAudioSource, null
    mode: %SystemBoolean, null
    indicator: %UnityEngineMaterial, null
    __0_this_intnl_PlaySample: %VRCUdonUdonBehaviour, this
    __0_const_intnl_SystemType: %SystemType, null
    __1_const_intnl_SystemType: %SystemType, null
    __0_const_intnl_SystemUInt32: %SystemUInt32, null
    __0_intnl_SystemBoolean: %SystemBoolean, null
    __1_intnl_SystemBoolean: %SystemBoolean, null
    __0_intnl_UnityEngineColor: %UnityEngineColor, null
    __0_intnl_UnityEngineMeshRenderer: %UnityEngineMeshRenderer, null
    __0_intnl_UnityEngineTransform: %UnityEngineTransform, null
    __1_intnl_UnityEngineTransform: %UnityEngineTransform, null
    __0_intnl_returnTarget_UInt32: %SystemUInt32, null

.data_end

        
         #  using UdonSharp;
        
         #  using UnityEngine;
        
         #  using VRC.SDKBase;
        
         #  using VRC.Udon;
        
         #  public class PlaySample : UdonSharpBehaviour
.code_start
        
         #  public Color lit;
        
         #  public Color unlit;
        
         #  private AudioSource source;
        
         #  private Material indicator;
        
         #  private bool mode = false;
        
         #  void Start()
    .export _start
        
    _start:
        
        PUSH, __0_const_intnl_SystemUInt32
        
         #  {
        
         #  source = GetComponent<AudioSource>();
        PUSH, __0_this_intnl_PlaySample
        PUSH, __0_intnl_UnityEngineTransform
        EXTERN, "UnityEngineComponent.__get_transform__UnityEngineTransform" # GetComponent strongbox mismatch fix
        PUSH, __0_intnl_UnityEngineTransform
        PUSH, __0_const_intnl_SystemType
        PUSH, source
        EXTERN, "UnityEngineAudioSource.__GetComponent__T"
        
         #  indicator = GetComponent<MeshRenderer>().material;
        PUSH, __0_this_intnl_PlaySample
        PUSH, __1_intnl_UnityEngineTransform
        EXTERN, "UnityEngineComponent.__get_transform__UnityEngineTransform" # GetComponent strongbox mismatch fix
        PUSH, __1_intnl_UnityEngineTransform
        PUSH, __1_const_intnl_SystemType
        PUSH, __0_intnl_UnityEngineMeshRenderer
        EXTERN, "UnityEngineMeshRenderer.__GetComponent__T"
        PUSH, __0_intnl_UnityEngineMeshRenderer
        PUSH, indicator
        EXTERN, "UnityEngineMeshRenderer.__get_material__UnityEngineMaterial"
        
         #  indicator.color = unlit;
        PUSH, indicator
        PUSH, unlit
        EXTERN, "UnityEngineMaterial.__set_color__UnityEngineColor__SystemVoid"
        PUSH, __0_intnl_returnTarget_UInt32 # Function epilogue
        COPY
        JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
        
        
         #  public void OnChange() {
    .export OnChange
        
    OnChange:
        
        PUSH, __0_const_intnl_SystemUInt32
        
         #  source.Play();
        PUSH, source
        EXTERN, "UnityEngineAudioSource.__Play__SystemVoid"
        PUSH, __0_intnl_returnTarget_UInt32 # Function epilogue
        COPY
        JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
        
        
         #  void Update() {
    .export _update
        
    _update:
        
        PUSH, __0_const_intnl_SystemUInt32
        
         #  if (mode != source.isPlaying) {
        PUSH, source
        PUSH, __0_intnl_SystemBoolean
        EXTERN, "UnityEngineAudioSource.__get_isPlaying__SystemBoolean"
        PUSH, mode
        PUSH, __0_intnl_SystemBoolean
        PUSH, __1_intnl_SystemBoolean
        EXTERN, "SystemBoolean.__op_Inequality__SystemBoolean_SystemBoolean__SystemBoolean"
        PUSH, __1_intnl_SystemBoolean
        JUMP_IF_FALSE, 0x000001A8
        
         #  mode = source.isPlaying;
        PUSH, source
        PUSH, mode
        EXTERN, "UnityEngineAudioSource.__get_isPlaying__SystemBoolean"
        
         #  indicator.color = mode ? lit : unlit;
        PUSH, mode
        JUMP_IF_FALSE, 0x0000017C
        PUSH, lit
        PUSH, __0_intnl_UnityEngineColor
        COPY
        JUMP, 0x00000190
        PUSH, unlit
        PUSH, __0_intnl_UnityEngineColor
        COPY
        PUSH, indicator
        PUSH, __0_intnl_UnityEngineColor
        EXTERN, "UnityEngineMaterial.__set_color__UnityEngineColor__SystemVoid"
        PUSH, __0_intnl_returnTarget_UInt32 # Function epilogue
        COPY
        JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
        
.code_end
