Ejemplo n.º 1
0
        public override void Update(GameTime gameTime)
        {
            feynmanLecture.position.Y += gravity;

            Handle_and_CheckWeaponCollisionFeynman(feynmanLecture);

            foreach (EnemyObject e in feynmanLecture.enemies1)
            {
                Handle_and_CheckWeaponCollision(e);
            }


            foreach (EnemyObject e in feynmanLecture.enemies2)
            {
                Handle_and_CheckWeaponCollision(e);
            }

            foreach (EnemyObject e in feynmanLecture.enemies3)
            {
                Handle_and_CheckWeaponCollision(e);
            }


            foreach (EnemyObject e in feynmanLecture.enemies4)
            {
                Handle_and_CheckWeaponCollision(e);
            }


            foreach (EnemyObject e in feynmanLecture.enemies5)
            {
                Handle_and_CheckWeaponCollision(e);
            }

            foreach (EnemyObject e in feynmanLecture.enemies6)
            {
                Handle_and_CheckWeaponCollision(e);
            }


            if (feynmanLecture.position.Y > Game1.screenHeight)
            {
                PE1.AddExplosion(PE1.ParticleArray, PE1.MaxParticles, mainPlayer.position, PE1.ExplosionSize, gameTime, mainPlayer.velocity);
            }

            if (mainPlayer.IsInsideScreen(mainPlayer.textureList[mainPlayer.activeTextureID]) == false)
            {
                mainPlayer.position = new Vector2(Game1.screenWidth / 2, Game1.screenHeight - 100);
            }

            base.Update(gameTime);
        }
Ejemplo n.º 2
0
        public override void Update(GameTime gameTime)
        {
            // Level logic update here
            if (isintroComplete == false)
            {
                //run and check intro status
                if (HandleIntro())
                {
                    isintroComplete = true;
                }
            }

            //Enter tutorial
            if (isintroComplete)
            {
                if (isPlayerLaunched == false)
                {
                    mainPlayer.velocity = new Vector2(10, 0);
                    mainPlayer.friction = 0.01f;
                    isPlayerLaunched    = true;
                }

                if (mainPlayer.IsInsideScreen(mainPlayer.textureList[mainPlayer.activeTextureID]))
                {
                    mainPlayer.isWallBouncing = true;
                    if (mainPlayer.activeTextureID == 0)
                    {
                        mainPlayer.activeTextureID = 1;
                    }

                    if (mainPlayer.velocity.X < 1f)
                    {
                        if (mainPlayer.activeTextureID == 1)
                        {
                            wall_smack.Play();
                        }
                        mainPlayer.activeTextureID = 2;


                        if (Math.Abs(mainPlayer.velocity.X) < 0.1f)
                        {
                            mainPlayer.activeTextureID = 3;
                            mainPlayer.isControllable  = true;
                            mainPlayer.friction        = 0.15f;
                        }
                    }
                }

                if (mainPlayer.APressedCount > 1)
                {
                    mainPlayer.activeTextureID = 4;
                }

                HandleEnemies();
            }


            timeCount += gameTime.ElapsedGameTime.TotalMilliseconds;

            //Level Completion condition
            if (iTitle.isKilled && iiTitle.isKilled && iiiTitle.isKilled)
            {
                mainPlayer.activeTextureID = 5;
                mainPlayer.isMoveable      = true;

                if (mainPlayer.velocity.Length() > 5f)
                {
                    mainPlayer.activeTextureID = 6;
                    istutorialComplete         = true;
                    isCompleted = true;
                }
            }


            base.Update(gameTime);
        }
Ejemplo n.º 3
0
        public override void Update(GameTime gameTime)
        {
            // Level logic update here


            Handle_and_CheckWeaponCollision(canyouseemeTitle);

            if (canyouseemeTitle.isKilled && IPreadytolearnTitle.isActive == false)
            {
                //continue to next message
                mainPlayer.activeTextureID = 8;
                timeCounter += gameTime.ElapsedGameTime.TotalMilliseconds;
                //enter only once
                if (timeCounter > 2000 && IPreadytolearnTitle.isActive == false)
                {
                    //add next message
                    IPreadytolearnTitle.isActive = true;
                    Game.Components.Add(IPreadytolearnTitle);
                    timeCounter = 0;
                }
            }


            if (IPreadytolearnTitle.isActive && lvl2warning1.isActive == false)
            {
                Handle_and_CheckWeaponCollision(IPreadytolearnTitle);

                if (IPreadytolearnTitle.isKilled)
                {
                    timeCounter += gameTime.ElapsedGameTime.TotalMilliseconds;

                    if (timeCounter > 2000)
                    {
                        lvl2warning1.isActive = true;
                        Game.Components.Add(lvl2warning1);
                        timeCounter = 0;
                    }
                }
            }



            if (lvl2warning1.isActive && keepafloat.isActive == false)
            {
                Handle_and_CheckWeaponCollision(lvl2warning1);

                if (lvl2warning1.isKilled)
                {
                    timeCounter += gameTime.ElapsedGameTime.TotalMilliseconds;

                    if (timeCounter > 2000)
                    {
                        keepafloat.isActive = true;
                        Game.Components.Add(keepafloat);
                        timeCounter = 0;
                    }
                }
            }



            if (keepafloat.isActive && letsstartthelearning.isActive == false)
            {
                Handle_and_CheckWeaponCollision(keepafloat);

                if (keepafloat.isKilled)
                {
                    timeCounter += gameTime.ElapsedGameTime.TotalMilliseconds;

                    if (timeCounter > 2000)
                    {
                        letsstartthelearning.isActive = true;
                        Game.Components.Add(letsstartthelearning);
                        timeCounter = 0;
                    }
                }
            }



            if (letsstartthelearning.isActive && forscience.isActive == false)
            {
                Handle_and_CheckWeaponCollision(letsstartthelearning);

                if (letsstartthelearning.isKilled)
                {
                    timeCounter += gameTime.ElapsedGameTime.TotalMilliseconds;

                    if (timeCounter > 1000)
                    {
                        forscience.isActive = true;
                        Game.Components.Add(forscience);
                        timeCounter = 0;
                    }
                }
            }



            if (forscience.isActive && apertureascii.isActive == false)
            {
                Handle_and_CheckWeaponCollision(forscience);

                if (forscience.isKilled)
                {
                    timeCounter += gameTime.ElapsedGameTime.TotalMilliseconds;

                    if (timeCounter > 1000)
                    {
                        apertureascii.isActive = true;
                        Game.Components.Add(apertureascii);
                        timeCounter = 0;

                        apertureascii.velocity    = new Vector2(5, 0);
                        apertureascii.friction    = 0;
                        apertureascii.speed       = 1;
                        apertureascii.isUnFading  = true;
                        apertureascii.customRGBA  = 20;
                        apertureascii.colorLerp.R = (byte)apertureascii.customRGBA;
                        apertureascii.colorLerp.G = (byte)apertureascii.customRGBA;
                        apertureascii.colorLerp.B = (byte)apertureascii.customRGBA;
                        apertureascii.colorLerp.A = (byte)apertureascii.customRGBA;

                        apertureascii.rotation = -0.001f;
                    }
                }
            }


            if (apertureascii.isActive && apertureascii.isKilled == false)
            {
                if (apertureascii.IsInsideScreen(apertureascii.texture))
                {
                    apertureascii.isWallBouncing = true;
                    apertureascii.rotation      += totalAngularVelocity;
                    mainPlayer.activeTextureID   = 9;

                    if (apertureascii.customRGBA > 200)
                    {
                        mainPlayer.activeTextureID = 10;
                    }

                    Handle_and_CheckWeaponCollisionLightUp(apertureascii, gameTime);
                }
            }

            if (apertureascii.isKilled)
            {
                isCompleted = true;
            }

            if (forscience.isAlive == false)
            {
                Game.Components.Remove(canyouseemeTitle);
                canyouseemeTitle.Dispose();

                Game.Components.Remove(IPreadytolearnTitle);
                IPreadytolearnTitle.Dispose();

                Game.Components.Remove(keepafloat);
                keepafloat.Dispose();


                Game.Components.Remove(letsstartthelearning);
                letsstartthelearning.Dispose();


                Game.Components.Remove(lvl2warning1);
                lvl2warning1.Dispose();

                Game.Components.Remove(forscience);
                forscience.Dispose();
            }

            PE1.UpdateParticles(PE1.ParticleArray, gameTime, (mainPlayer.position));

            if (mainPlayer.IsInsideScreen(mainPlayer.textureList[mainPlayer.activeTextureID]) == false)
            {
                mainPlayer.position = new Vector2(Game1.screenWidth / 2, Game1.screenHeight - 100);
            }


            base.Update(gameTime);
        }