C++RAW #include "UnityPrefix.h" #include "Configuration/UnityConfigure.h" #include "Runtime/Mono/MonoBehaviour.h" #if ENABLE_SERIALIZATION_BY_CODEGENERATION #include "Runtime/Mono/MonoBehaviourSerialization_ByCodeGeneration.h" #endif CSRAW using System; using System.Collections.Generic; using UnityEngine; using Object=UnityEngine.Object; using System.Runtime.CompilerServices; namespace UnityEngine.Serialization { CONDITIONAL ENABLE_SERIALIZATION_BY_CODEGENERATION CLASS public ManagedLivenessAnalysis : IManagedLivenessAnalysis CSRAW public static IManagedLivenessAnalysis Instance = null; CSRAW public readonly HashSet _state = new HashSet(); CSRAW public static void Init() { if(Instance == null) Instance = new ManagedLivenessAnalysis(); } CSRAW public static void ResetState() { Instance.Reset(); } CSRAW public static void SetInstance(IManagedLivenessAnalysis analysis) { Instance = analysis; } CSRAW public void Reset() { ((ManagedLivenessAnalysis)Instance)._state.Clear(); } CSRAW public bool HasBeenProcessed(object value) { return !_state.Add(RuntimeHelpers.GetHashCode(value)); } CSRAW public object GetNewInstanceToReplaceOldInstance(object value) { return INTERNAL_GetNewInstanceToReplaceOldInstance(((UnityEngine.Object)value).GetInstanceID()); } THREAD_SAFE CUSTOM private static object INTERNAL_GetNewInstanceToReplaceOldInstance(int instance_id) { return NativeExt_MonoBehaviourSerialization_GetNewInstanceToReplaceOldInstance(instance_id); } END CONDITIONAL !ENABLE_SERIALIZATION_BY_CODEGENERATION && UNITY_WINRT CLASS public ManagedLivenessAnalysis CSRAW public static void SetInstance(IManagedLivenessAnalysis analysis) { } END CSRAW }