Beispiel #1
0
    void Start()
    {
        m_Transform         = transform;
        m_CameraTransform   = Camera.main.transform;
        m_PlayerTransform   = GameObject.FindGameObjectWithTag("Player").transform;
        m_EnemiesTransform  = GameObject.FindGameObjectWithTag("Enemies").transform;
        m_ShieldsTransform  = GameObject.FindGameObjectWithTag("Shields").transform;
        m_InGameUITransform = m_Transform.GetChild(3);

        m_PlayerController = m_PlayerTransform.gameObject.GetComponent <PlayerController>();
        m_EnemyController  = m_EnemiesTransform.gameObject.GetComponent <EnemyController>();
        m_ShieldController = m_ShieldsTransform.gameObject.GetComponent <ShieldController>();
        m_LivesText        = GetComponentInChildren <LivesText>();
        m_ScoreText        = GetComponentInChildren <ScoreText>();
        m_LevelText        = GetComponentInChildren <LevelText>();

        m_OriginalCameraPosition = m_CameraTransform.position;
        m_StartMenu       = m_Transform.GetChild(0).gameObject;
        m_GameOverMenu    = m_Transform.GetChild(1).gameObject;
        m_PauseMenu       = m_Transform.GetChild(2).gameObject;
        m_InGameUI        = m_Transform.GetChild(3).gameObject;
        m_ExplosionPrefab = Resources.Load <GameObject>("Prefabs/Explosion");

        m_CanPause = false;
        DisableInGameUI();
    }
        public override void LoadContent()
        {
            _missileTexture   = LoadTexture(MissileTexture);
            _exhaustTexture   = LoadTexture(ExhaustTexture);
            _bulletTexture    = LoadTexture(BulletTexture);
            _explosionTexture = LoadTexture(ExplosionTexture);
            _chopperTexture   = LoadTexture(ChopperTexture);

            _playerSprite       = new PlayerSprite(LoadTexture(PlayerFighter));
            _livesText          = new LivesText(LoadFont(TextFont));
            _livesText.NbLives  = StartingPlayerLives;
            _livesText.Position = new Vector2(10.0f, 690.0f);

            AddGameObject(new TerrainBackground(LoadTexture(BackgroundTexture)));
            AddGameObject(_livesText);

            // load sound effects and register in the sound manager
            var bulletSound  = LoadSound(BulletSound);
            var missileSound = LoadSound(MissileSound);

            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound);
            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f);

            // load soundtracks into sound manager
            var track1 = LoadSound(Soundtrack1).CreateInstance();
            var track2 = LoadSound(Soundtrack2).CreateInstance();

            _soundManager.SetSoundtrack(new List <SoundEffectInstance>()
            {
                track1, track2
            });

            ResetGame();
        }
        public override void LoadContent()
        {
            _missileTexture   = LoadTexture(MissileTexture);
            _exhaustTexture   = LoadTexture(ExhaustTexture);
            _bulletTexture    = LoadTexture(BulletTexture);
            _explosionTexture = LoadTexture(ExplosionTexture);
            _chopperTexture   = LoadTexture(ChopperTexture);

            _playerSprite       = new PlayerSprite(LoadTexture(PlayerFighter));
            _livesText          = new LivesText(LoadFont(TextFont));
            _livesText.NbLives  = StartingPlayerLives;
            _livesText.Position = new Vector2(10.0f, 690.0f);
            AddGameObject(_livesText);

            _levelStartEndText = new GameOverText(LoadFont(GameOverFont));

            var background = new TerrainBackground(LoadTexture(BackgroundTexture), SCOLLING_SPEED);

            background.zIndex = -100;
            AddGameObject(background);

            // load sound effects and register in the sound manager
            var bulletSound  = LoadSound(BulletSound);
            var missileSound = LoadSound(MissileSound);

            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound);
            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f);

            // load soundtracks into sound manager
            var track1 = LoadSound(Soundtrack1).CreateInstance();
            var track2 = LoadSound(Soundtrack2).CreateInstance();

            _soundManager.SetSoundtrack(new List <SoundEffectInstance>()
            {
                track1, track2
            });

            _chopperGenerator = new ChopperGenerator(_chopperTexture, AddChopper);

            var levelReader = new LevelReader(_viewportWidth);

            _level = new Level(levelReader);

            _level.OnGenerateEnemies += _level_OnGenerateEnemies;
            _level.OnGenerateTurret  += _level_OnGenerateTurret;
            _level.OnLevelStart      += _level_OnLevelStart;
            _level.OnLevelEnd        += _level_OnLevelEnd;
            _level.OnLevelNoRowEvent += _level_OnLevelNoRowEvent;

            ResetGame();
        }
Beispiel #4
0
 void Update()
 {
     if (Length > 0)
     {
         transform.Translate(0, Iteration, 0);
         Length += Iteration;
     }
     else
     {
         TimeText.GetComponent <Text>().enabled    = true;
         ScoreText.GetComponent <Text>().enabled   = true;
         LivesText.GetComponent <Text>().enabled   = true;
         RuleText.GetComponent <Text>().enabled    = true;
         Curtain.GetComponent <DownFlag>().enabled = false;
     }
 }
Beispiel #5
0
        public void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.Draw(background, Position, Color.White);

            string seconds = TimeSpan.FromSeconds(scene.Timer.Counter).Seconds.ToString("00");
            string minutes = TimeSpan.FromSeconds(scene.Timer.Counter).Minutes.ToString("00");

            TimerText.Text     = minutes + ":" + seconds;
            LivesText.Text     = "Lives: " + scene.Player.Live.ToString();
            BlockLeftText.Text = "Block Left: " + scene.BlockLeft.ToString();

            AlignText(TimerText, Alignment.Center);
            AlignText(LivesText, Alignment.Left);
            AlignText(BlockLeftText, Alignment.Right);

            TimerText.Draw(spriteBatch);
            LivesText.Draw(spriteBatch);
            BlockLeftText.Draw(spriteBatch);
        }