.data_start

    .export toggleObject
    .sync isEnabledGlobal, none

    __refl_const_intnl_udonTypeID: %SystemInt64, null
    __refl_const_intnl_udonTypeName: %SystemString, null
    toggleObject: %UnityEngineGameObject, null
    isEnabledGlobal: %SystemBoolean, null
    isEnabledLocal: %SystemBoolean, null
    __0_this_intnl_UnityEngineGameObject: %UnityEngineGameObject, this
    __0_const_intnl_SystemUInt32: %SystemUInt32, null
    __0_intnl_SystemBoolean: %SystemBoolean, null
    __1_intnl_SystemBoolean: %SystemBoolean, null
    __2_intnl_SystemBoolean: %SystemBoolean, null
    __3_intnl_SystemBoolean: %SystemBoolean, null
    __0_intnl_returnTarget_UInt32: %SystemUInt32, null
    __0_intnl_VRCSDKBaseVRCPlayerApi: %VRCSDKBaseVRCPlayerApi, null

.data_end

        
         #  using UnityEngine;
        
         #  using VRC.SDK3.Components;
        
         #  using VRC.SDKBase;
        
         #  using VRC.Udon;
        
         #  namespace UdonSharp.Examples.Utilities
        
         #  public class GlobalToggleObject : UdonSharpBehaviour
.code_start
        
         #  public GameObject toggleObject;
        
         #  [UdonSynced]
        
         #  bool isEnabledLocal;
        
         #  private void Start()
    .export _start
        
    _start:
        
        PUSH, __0_const_intnl_SystemUInt32
        
         #  {
        
         #  isEnabledGlobal = isEnabledLocal = toggleObject.activeSelf;
        PUSH, toggleObject
        PUSH, isEnabledLocal
        EXTERN, "UnityEngineGameObject.__get_activeSelf__SystemBoolean"
        PUSH, isEnabledLocal
        PUSH, isEnabledGlobal
        COPY
        PUSH, __0_intnl_returnTarget_UInt32 # Function epilogue
        COPY
        JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
        
        
         #  public override void OnDeserialization()
    .export _onDeserialization
        
    _onDeserialization:
        
        PUSH, __0_const_intnl_SystemUInt32
        
         #  {
        
         #  if (!Networking.IsOwner(gameObject))
        PUSH, __0_this_intnl_UnityEngineGameObject
        PUSH, __0_intnl_SystemBoolean
        EXTERN, "VRCSDKBaseNetworking.__IsOwner__UnityEngineGameObject__SystemBoolean"
        PUSH, __0_intnl_SystemBoolean
        PUSH, __1_intnl_SystemBoolean
        EXTERN, "SystemBoolean.__op_UnaryNegation__SystemBoolean__SystemBoolean"
        PUSH, __1_intnl_SystemBoolean
        JUMP_IF_FALSE, 0x000000BC
        
         #  {
        
         #  toggleObject.SetActive(isEnabledGlobal);
        PUSH, toggleObject
        PUSH, isEnabledGlobal
        EXTERN, "UnityEngineGameObject.__SetActive__SystemBoolean__SystemVoid"
        
         #  isEnabledLocal = isEnabledGlobal;
        PUSH, isEnabledGlobal
        PUSH, isEnabledLocal
        COPY
        PUSH, __0_intnl_returnTarget_UInt32 # Function epilogue
        COPY
        JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
        
        
         #  public override void OnPreSerialization()
    .export _onPreSerialization
        
    _onPreSerialization:
        
        PUSH, __0_const_intnl_SystemUInt32
        
         #  {
        
         #  isEnabledGlobal = isEnabledLocal;
        PUSH, isEnabledLocal
        PUSH, isEnabledGlobal
        COPY
        PUSH, __0_intnl_returnTarget_UInt32 # Function epilogue
        COPY
        JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
        
        
         #  public override void Interact()
    .export _interact
        
    _interact:
        
        PUSH, __0_const_intnl_SystemUInt32
        
         #  {
        
         #  if (!Networking.IsOwner(gameObject))
        PUSH, __0_this_intnl_UnityEngineGameObject
        PUSH, __2_intnl_SystemBoolean
        EXTERN, "VRCSDKBaseNetworking.__IsOwner__UnityEngineGameObject__SystemBoolean"
        PUSH, __2_intnl_SystemBoolean
        PUSH, __3_intnl_SystemBoolean
        EXTERN, "SystemBoolean.__op_UnaryNegation__SystemBoolean__SystemBoolean"
        PUSH, __3_intnl_SystemBoolean
        JUMP_IF_FALSE, 0x00000170
        
         #  Networking.SetOwner(Networking.LocalPlayer, gameObject);
        PUSH, __0_intnl_VRCSDKBaseVRCPlayerApi
        EXTERN, "VRCSDKBaseNetworking.__get_LocalPlayer__VRCSDKBaseVRCPlayerApi"
        PUSH, __0_intnl_VRCSDKBaseVRCPlayerApi
        PUSH, __0_this_intnl_UnityEngineGameObject
        EXTERN, "VRCSDKBaseNetworking.__SetOwner__VRCSDKBaseVRCPlayerApi_UnityEngineGameObject__SystemVoid"
        
         #  isEnabledLocal = isEnabledGlobal = !isEnabledGlobal;
        PUSH, isEnabledGlobal
        PUSH, isEnabledGlobal
        EXTERN, "SystemBoolean.__op_UnaryNegation__SystemBoolean__SystemBoolean"
        PUSH, isEnabledGlobal
        PUSH, isEnabledLocal
        COPY
        
         #  toggleObject.SetActive(isEnabledLocal);
        PUSH, toggleObject
        PUSH, isEnabledLocal
        EXTERN, "UnityEngineGameObject.__SetActive__SystemBoolean__SystemVoid"
        PUSH, __0_intnl_returnTarget_UInt32 # Function epilogue
        COPY
        JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
        
.code_end
