/// <summary>
            /// PRIVATE DO NOT USE. Use <see cref="ParticleEngine.CreateEmitter">CreateEmitter</see>
            /// from the particle class.
            /// </summary>
            /// <param name="engine">DO NOT USE.</param>
            internal Emitter(ParticleEngine engine)
            {
                Container = engine;
                Alive     = true;

                ActualParticlesPerSecond = GetRandomBetween(MinParticlesPerSecond, MaxParticlesPerSecond);
            }
Example #2
0
        private void InitializeGame()
        {
            //Initialize game
            World             = new FarseerPhysics.Dynamics.World(Vector2.Zero);
            TimerFactory      = new Timer.Factory();
            AnimationEngine   = new Rendering.Animations.AnimationEngine();
            ParticleEngine    = new Rendering.Particles.ParticleEngine(this);
            EventEngine       = new Core.Events.EventEngine(this);
            SharedRandom      = new Random();
            Diagnostics       = new Diagnostics();
            RPCHelper         = new RPC.RemoteProcedureCallHelper(this);
            LightEngine       = new Rendering.Lighting.LightEngine();
            SoundEngine       = new Sound.SoundEngine(this);
            DiagnosticsParent = "Game Update";

            Gamemode.Create();
            Logger.Info(Strings.Engine.GameCreated + $" ({Gamemode.DisplayName})");
        }