protected void RegisterSerializedObjectPersistentListener(int index, UnityEngine.Object targetObj, Type targetObjType, object data, string methodName)
        {
            var listener = GetListener(index);

            listener.RegisterPersistentListener(targetObj, targetObjType, methodName);
            listener.mode = PersistentListenerMode.String;
            listener.arguments.serializedDataArgument = ArgumentCacheEx.ToJson(data);
        }
 protected void SetSerializedDataArgumentInstance(object value)
 {
     m_SerializedDataArgument = ArgumentCacheEx.ToJson(value);
     m_SerializedDataArgumentAssemblyTypeName = value != null?value.GetType().AssemblyQualifiedName : string.Empty;
 }