protected override void ReadFromImpl(object obj) { base.ReadFromImpl(obj); ParticleSystem.ShapeModule uo = (ParticleSystem.ShapeModule)obj; enabled = uo.enabled; shapeType = uo.shapeType; randomDirectionAmount = uo.randomDirectionAmount; sphericalDirectionAmount = uo.sphericalDirectionAmount; randomPositionAmount = uo.randomPositionAmount; alignToDirection = uo.alignToDirection; radius = uo.radius; radiusMode = uo.radiusMode; radiusSpread = uo.radiusSpread; radiusSpeed = uo.radiusSpeed; radiusSpeedMultiplier = uo.radiusSpeedMultiplier; radiusThickness = uo.radiusThickness; angle = uo.angle; length = uo.length; boxThickness = uo.boxThickness; meshShapeType = uo.meshShapeType; mesh = ToID(uo.mesh); meshRenderer = ToID(uo.meshRenderer); skinnedMeshRenderer = ToID(uo.skinnedMeshRenderer); sprite = ToID(uo.sprite); spriteRenderer = ToID(uo.spriteRenderer); useMeshMaterialIndex = uo.useMeshMaterialIndex; meshMaterialIndex = uo.meshMaterialIndex; useMeshColors = uo.useMeshColors; normalOffset = uo.normalOffset; arc = uo.arc; arcMode = uo.arcMode; arcSpread = uo.arcSpread; arcSpeed = uo.arcSpeed; arcSpeedMultiplier = uo.arcSpeedMultiplier; donutRadius = uo.donutRadius; position = uo.position; rotation = uo.rotation; scale = uo.scale; texture = ToID(uo.texture); textureClipChannel = uo.textureClipChannel; textureClipThreshold = uo.textureClipThreshold; textureColorAffectsParticles = uo.textureColorAffectsParticles; textureAlphaAffectsParticles = uo.textureAlphaAffectsParticles; textureBilinearFiltering = uo.textureBilinearFiltering; textureUVChannel = uo.textureUVChannel; meshSpawnMode = uo.meshSpawnMode; meshSpawnSpread = uo.meshSpawnSpread; meshSpawnSpeed = uo.meshSpawnSpeed; meshSpawnSpeedMultiplier = uo.meshSpawnSpeedMultiplier; }
public static void ParticleShapeSettings(this ParticleSystem PS, bool enabled = true, ParticleSystemShapeType ShapeType = ParticleSystemShapeType.Cone, ParticleSystemShapeMultiModeValue RadiusMode = ParticleSystemShapeMultiModeValue.Loop, bool AlignDirection = false, float Angle = 0f, float Arc = 0f, float Radius = 0f) { ParticleSystem.ShapeModule shapeModule = PS.shape; // Shape settings shapeModule.shapeType = ShapeType; shapeModule.arcMode = ParticleSystemShapeMultiModeValue.Loop; shapeModule.radiusMode = RadiusMode; shapeModule.alignToDirection = AlignDirection; shapeModule.angle = Angle; shapeModule.arc = Arc; shapeModule.radius = Radius; }