Exemplo n.º 1
0
        public override object Read <T>(ES3Reader reader)
        {
            var instance = new UnityEngine.ParticleSystem.TriggerModule();

            ReadInto <T>(reader, instance);
            return(instance);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Read the data using the reader.
        /// </summary>
        /// <param name="reader">Reader.</param>
        public override object Read(ISaveGameReader reader)
        {
            UnityEngine.ParticleSystem.TriggerModule triggerModule = new UnityEngine.ParticleSystem.TriggerModule();
            foreach (string property in reader.Properties)
            {
                switch (property)
                {
                case "enabled":
                    triggerModule.enabled = reader.ReadProperty <System.Boolean> ();
                    break;

                case "inside":
                    triggerModule.inside = reader.ReadProperty <UnityEngine.ParticleSystemOverlapAction> ();
                    break;

                case "outside":
                    triggerModule.outside = reader.ReadProperty <UnityEngine.ParticleSystemOverlapAction> ();
                    break;

                case "enter":
                    triggerModule.enter = reader.ReadProperty <UnityEngine.ParticleSystemOverlapAction> ();
                    break;

                case "exit":
                    triggerModule.exit = reader.ReadProperty <UnityEngine.ParticleSystemOverlapAction> ();
                    break;

                case "radiusScale":
                    triggerModule.radiusScale = reader.ReadProperty <System.Single> ();
                    break;
                }
            }
            return(triggerModule);
        }
Exemplo n.º 3
0
 public override void ReadFrom(object obj)
 {
     base.ReadFrom(obj);
     if (obj == null)
     {
         return;
     }
     UnityEngine.ParticleSystem.TriggerModule o = (UnityEngine.ParticleSystem.TriggerModule)obj;
     enabled     = o.enabled;
     inside      = o.inside;
     outside     = o.outside;
     enter       = o.enter;
     exit        = o.exit;
     radiusScale = o.radiusScale;
     if (o.maxColliderCount > 20)
     {
         UnityEngine.Debug.LogWarning("maxPlaneCount is expected to be 6 or at least <= 20");
     }
     colliders = new long[o.maxColliderCount];
     for (int i = 0; i < o.maxColliderCount; ++i)
     {
         UnityEngine.Component collider = o.GetCollider(i);
         colliders[i] = collider.GetMappedInstanceID();
     }
 }
Exemplo n.º 4
0
 public override object WriteTo(object obj, System.Collections.Generic.Dictionary <long, UnityEngine.Object> objects)
 {
     obj = base.WriteTo(obj, objects);
     if (obj == null)
     {
         return(null);
     }
     UnityEngine.ParticleSystem.TriggerModule o = (UnityEngine.ParticleSystem.TriggerModule)obj;
     o.enabled     = enabled;
     o.inside      = inside;
     o.outside     = outside;
     o.enter       = enter;
     o.exit        = exit;
     o.radiusScale = radiusScale;
     if (colliders == null)
     {
         for (int i = 0; i < o.maxColliderCount; ++i)
         {
             o.SetCollider(i, null);
         }
     }
     else
     {
         for (int i = 0; i < UnityEngine.Mathf.Min(o.maxColliderCount, colliders.Length); ++i)
         {
             object col = objects.Get(colliders[i]);
             o.SetCollider(i, (UnityEngine.Component)col);
         }
     }
     return(o);
 }
Exemplo n.º 5
0
 /// <summary>
 /// Write the specified value using the writer.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <param name="writer">Writer.</param>
 public override void Write(object value, ISaveGameWriter writer)
 {
     UnityEngine.ParticleSystem.TriggerModule triggerModule = (UnityEngine.ParticleSystem.TriggerModule)value;
     writer.WriteProperty("enabled", triggerModule.enabled);
     writer.WriteProperty("inside", triggerModule.inside);
     writer.WriteProperty("outside", triggerModule.outside);
     writer.WriteProperty("enter", triggerModule.enter);
     writer.WriteProperty("exit", triggerModule.exit);
     writer.WriteProperty("radiusScale", triggerModule.radiusScale);
 }