Ejemplo n.º 1
0
 /// <summary>
 /// Child classes must implement this pure virtual function, which must be used to write an object or attribute to
 ///		a particle script.
 /// </summary>
 /// <param name="serializer"></param>
 /// <param name="element"></param>
 public void write(ParticleScriptSerializer serializer, IElement element)
 {
     if (serializer == null)
     {
         throw new ArgumentNullException("serializer cannot be null!");
     }
     if (element == null)
     {
         throw new ArgumentNullException("element cannot be null!");
     }
     ScriptWriter_Write(nativePtr, serializer.nativePtr, element.NativePointer);
 }
        internal static ParticleScriptSerializer GetInstance(IntPtr ptr)
        {
            if (ptr == null || ptr == IntPtr.Zero)
            {
                return(null);
            }
            if (particleScriptSerializerInstances == null)
            {
                particleScriptSerializerInstances = new Dictionary <IntPtr, ParticleScriptSerializer>();
            }

            ParticleScriptSerializer newvalue;

            if (particleScriptSerializerInstances.TryGetValue(ptr, out newvalue))
            {
                return(newvalue);
            }
            newvalue = new ParticleScriptSerializer(ptr);
            particleScriptSerializerInstances.Add(ptr, newvalue);
            return(newvalue);
        }