public override void ReadFrom(object obj) { base.ReadFrom(obj); if (obj == null) { return; } UnityEngine.ParticleSystem.CollisionModule o = (UnityEngine.ParticleSystem.CollisionModule)obj; enabled = o.enabled; type = o.type; mode = o.mode; #if !RT_PE_MAINTANANCE dampen = Read(dampen, o.dampen); bounce = Read(bounce, o.bounce); lifetimeLoss = Read(lifetimeLoss, o.lifetimeLoss); #endif dampenMultiplier = o.dampenMultiplier; bounceMultiplier = o.bounceMultiplier; lifetimeLossMultiplier = o.lifetimeLossMultiplier; minKillSpeed = o.minKillSpeed; maxKillSpeed = o.maxKillSpeed; collidesWith = o.collidesWith; enableDynamicColliders = o.enableDynamicColliders; enableInteriorCollisions = o.enableInteriorCollisions; maxCollisionShapes = o.maxCollisionShapes; quality = o.quality; voxelSize = o.voxelSize; radiusScale = o.radiusScale; sendCollisionMessages = o.sendCollisionMessages; if (o.maxPlaneCount > 20) { UnityEngine.Debug.LogWarning("maxPlaneCount is expected to be 6 or at least <= 20"); } planes = new long[o.maxPlaneCount]; for (int i = 0; i < o.maxPlaneCount; ++i) { planes[i] = o.GetPlane(i).GetMappedInstanceID(); } }
protected override void GetDependencies(Dictionary <long, Object> dependencies, object obj) { base.GetDependencies(dependencies, obj); if (obj == null) { return; } UnityEngine.ParticleSystem.CollisionModule o = (UnityEngine.ParticleSystem.CollisionModule)obj; Object[] planeObjects = new Object[o.maxPlaneCount]; for (int i = 0; i < o.maxPlaneCount; ++i) { planeObjects[i] = o.GetPlane(i); } AddDependencies(planeObjects, dependencies); #if !RT_PE_MAINTANANCE GetDependencies(dampen, o.dampen, dependencies); GetDependencies(bounce, o.bounce, dependencies); GetDependencies(lifetimeLoss, o.lifetimeLoss, dependencies); #endif }