public void GetDependencies(object obj, Dictionary <long, UnityObject> dependencies, IIDMap idMap) { if (obj == null) { return; } Initialize(obj.GetType()); PersistentArgumentCache args = new PersistentArgumentCache(); args.GetDependencies(m_argumentsFieldInfo.GetValue(obj), dependencies, idMap); UnityObject target = (UnityObject)m_targetFieldInfo.GetValue(obj); AddDependency(target, dependencies, idMap); }
protected override void GetDepsFromImpl(object obj, GetDepsFromContext context) { base.GetDepsFromImpl(obj, context); if (obj == null) { return; } Initialize(obj.GetType()); PersistentArgumentCache args = new PersistentArgumentCache(); args.GetDepsFrom(m_argumentsFieldInfo.GetValue(obj), context); UnityObject target = (UnityObject)m_targetFieldInfo.GetValue(obj); AddDep(target, context); }
public void ReadFrom(object obj, IIDMap idMap) { if (obj == null) { m_Arguments = default(PersistentArgumentCache); m_CallState = default(UnityEventCallState); m_MethodName = null; m_Mode = default(PersistentListenerMode); m_Target = 0; return; } Initialize(obj.GetType()); m_Arguments = new PersistentArgumentCache(); m_Arguments.ReadFrom(m_argumentsFieldInfo.GetValue(obj), idMap); m_CallState = (UnityEventCallState)m_callStatFieldInfo.GetValue(obj); m_MethodName = (string)m_methodNameFieldInfo.GetValue(obj); m_Mode = (PersistentListenerMode)m_modeFieldInfo.GetValue(obj); UnityObject target = (UnityObject)m_targetFieldInfo.GetValue(obj); m_Target = idMap.ToID(target); }
protected override void ReadFromImpl(object obj) { base.ReadFromImpl(obj); if (obj == null) { m_Arguments = default(PersistentArgumentCache); m_CallState = default(UnityEventCallState); m_MethodName = null; m_Mode = default(PersistentListenerMode); m_Target = 0; return; } Initialize(obj.GetType()); m_Arguments = new PersistentArgumentCache(); m_Arguments.ReadFrom(m_argumentsFieldInfo.GetValue(obj)); m_CallState = (UnityEventCallState)m_callStatFieldInfo.GetValue(obj); m_MethodName = (string)m_methodNameFieldInfo.GetValue(obj); m_Mode = (PersistentListenerMode)m_modeFieldInfo.GetValue(obj); UnityObject target = (UnityObject)m_targetFieldInfo.GetValue(obj); m_Target = ToID(target); }