public override object Read <T>(ES3Reader reader) { var instance = new UnityEngine.ParticleSystem.TriggerModule(); ReadInto <T>(reader, instance); return(instance); }
/// <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); }
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(); } }
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); }
/// <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); }