예제 #1
0
        public Igrac()
        {
            GlavnaScena glavnaScena = Program.Igra.GetScene <GlavnaScena>();

            // Set position
            SetPosition(new Vector2(glavnaScena.PlayPosition.X + glavnaScena.PlayWidth.X,
                                    glavnaScena.PlayPosition.Y + glavnaScena.PlayWidth.Y));

            // Set image
            AddGraphic(SlikaIgraca);

            // Add collider
            BoxCollider Collider = new BoxCollider(30, 30, Oznake.Igrac);

            AddCollider(Collider);

            // Initialize bullet
            Image       metakIgraca    = new Image("Slike/playerBullet.png");
            BoxCollider bulletCollider = new BoxCollider(metakIgraca.Width, metakIgraca.Height, Oznake.Igrac);

            metak            = new Metak(-6.0f, new Vector2(0, 0), bulletCollider);
            metak.Visible    = false;
            metak.Collidable = false;
            metak.AddGraphic(metakIgraca);
            glavnaScena.Add(metak);
        }
        /// <summary>
        /// Ažuriraj pucanje
        /// </summary>
        void AzurirajPucanje()
        {
            // Check if ShootingCooldown is at max
            if (IntervalPucanja.AtMax)
            {
                IntervalPucanja.Stop();
                Random rnd = new Random();
                // Chooses the enemy that shoots
                List <Neprijatelj> neprijatelji = Scene.GetEntities <Neprijatelj>();
                int RedniBrojNeprijatelja       = rnd.Next(1, neprijatelji.Count);

                // Create bullet
                BoxCollider collider = new BoxCollider(NeprijateljskiMetak.Width, NeprijateljskiMetak.Height, Oznake.Neprijatelj);
                Metak       metak    = new Metak(6.0f, neprijatelji[RedniBrojNeprijatelja - 1].Position, collider);
                metak.AddGraphic(NeprijateljskiMetak);
                Scene.Add(metak);

                // Reset ShootingCooldown
                IntervalPucanja.Max = rnd.Next(2000, 5000);
                IntervalPucanja.Start();
            }
        }