/// <summary> /// Loads this stype from a given binary reader. /// </summary> /// <param name="reader">Binary reader to load this type from.</param> public void Load(BinaryReader reader) { _maximumCycles = reader.ReadInt32(); _emitShape = (EmitShape)reader.ReadInt32(); _particleLifeTimeRandom = new MinMax(reader.ReadInt32(), reader.ReadInt32()); _emitCount = new MinMax(reader.ReadInt32(), reader.ReadInt32()); _emitRate = new MinMax(reader.ReadInt32(), reader.ReadInt32()); int modifierCount = reader.ReadInt32(); // Load each modifier. for (int i = 0; i < modifierCount; i++) { string modName = reader.ReadString(); ParticleModifier modifier = (ParticleModifier)ReflectionMethods.CreateObject(modName); modifier.ParticleType = this; modifier.Load(reader); _modifiers.Add(modifier); } }
/// <summary> /// Invoked when a new instance of this class is created. /// </summary> /// <param name="emitRate">Minimum and maximum time period between emission cycles.</param> /// <param name="emitCount">Minimum and maximum amount of particles that are emitted each cycle.</param> /// <param name="emitShape">Shape in which particles are emitted.</param> /// <param name="maximumCycles">Maximum number of cycles this type can process.</param> /// <param name="particleLifeTimeRandom">Minimum and maximum randomization of life time.</param> public ParticleType(MinMax emitRate, MinMax emitCount, EmitShape emitShape, int maximumCycles, MinMax particleLifeTimeRandom) { _emitRate = emitRate; _emitCount = emitCount; _emitShape = emitShape; _maximumCycles = maximumCycles; _particleLifeTimeRandom = particleLifeTimeRandom; Restart(); }