Example #1
0
        private void CreateSystems()
        {
            SystemManager systemManager = SystemManager.Instance();

            Game_Engine.Systems.System newSystem;

            newSystem = new SystemRender(entityCamera);
            systemManager.AddRenderSystem(newSystem);

            newSystem = new SystemRender(mapCamera);
            systemManager.AddRenderSystem(newSystem);

            newSystem = new SystemInput();
            systemManager.AddUpdateSystem(newSystem);

            newSystem = new SystemPhysics();
            systemManager.AddUpdateSystem(newSystem);

            newSystem = new SystemCollision();
            systemManager.AddUpdateSystem(newSystem);

            newSystem       = new SystemArtificialInput(map);
            artificialInput = (SystemArtificialInput)newSystem;
            systemManager.AddUpdateSystem(newSystem);

            newSystem = new SystemAnimation();
            systemManager.AddUpdateSystem(newSystem);

            newSystem = new SystemAudio();
            systemManager.AddUpdateSystem(newSystem);
        }
Example #2
0
        public override void Update(FrameEventArgs e)
        {
            dt = (float)e.Time;
            var keyboardState = Keyboard.GetState();

            view = sceneManager.cam.GetViewMatrix();

            if (keyboardState.IsKeyDown(Key.Escape))
            {
                sceneManager.Exit();
            }

            //Trajectory calculation
            if (InputNum >= 2)
            {
                ComponentPosition pos;
                if (ProjTime <= 0.0f)
                {
                    SoundEffect.UpdateEmitPos(sceneManager.cam.Position);
                    SoundEffect.Vol = 1f;
                    SoundEffect.Play();
                }

                SystemCollision collider = (SystemCollision)systemManager.FindSystem("SystemCollision");
                pos = (ComponentPosition)entityManager.FindEntity("Banana").FindComponent(ComponentTypes.COMPONENT_POSITION);

                float power, angle;

                if (Angle == "")
                {
                    angle = 0f;
                }
                else
                {
                    angle = (float)((Math.PI / 180) * float.Parse(Angle));
                }
                if (Power == "")
                {
                    power = 0f;
                }
                else
                {
                    power = float.Parse(Power) / 25f;
                }
                // x = X+V*COS(A)*T
                // z = Z+V*COS(A)*T
                // y = Y+V*SIN(A)*T-G*T*T/2
                float x = pos.Position.X + power * (float)Math.Cos(angle) * ProjTime;
                float z = pos.Position.Z + power * (float)Math.Cos(angle) * ProjTime;
                float y = pos.Position.Y + power * (float)Math.Sin(angle) * ProjTime - (9.807f * 0.25f) * ProjTime * (ProjTime / 2);
                pos.Position = new Vector3(x, y, z);
                collider.UpdatePosition(pos.Position);
                ProjTime += dt;
            }
        }
Example #3
0
        private void CreateSystems()
        {
            ISystem newSystem;

            ComponentPosition pos = (ComponentPosition)entityManager.FindEntity("Banana").FindComponent(ComponentTypes.COMPONENT_POSITION);

            newSystem = new SystemRender();
            systemManager.AddSystem(newSystem);
            newSystem = new SystemCollision(pos.Position);
            systemManager.AddSystem(newSystem);
            newSystem = new SystemPhysics(ref sceneManager.cam);
            systemManager.AddSystem(newSystem);
            newSystem = new SystemSkyBox(ref sceneManager.cam);
            systemManager.AddSystem(newSystem);
        }
Example #4
0
        public void InitializeSystem()
        {
            SystemBase newSystem;

            newSystem = new SystemSkybox();
            renderSystems.Add(newSystem);

            newSystem = new SystemRender();
            renderSystems.Add(newSystem);

            newSystem = new SystemPhysics();
            physicsSystem.Add(newSystem);

            newSystem = new SystemCollision();
            physicsSystem.Add(newSystem);

            newSystem = new SystemAudio();
            systemList.Add(newSystem);
        }