Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
 /// <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();
 }