Example #1
0
        public void Palleroi(Morte peli)
        {
            for (int i = 0; i < Palloja; i++)
            {
                double scale    = RandomGen.NextDouble(0.5, 1.5);
                double dir      = RandomGen.NextDouble(-10, 10);
                double velocity = VOIMA;
                double hue      = (dir + 10) / 20 * 240;

                var p = new FysiikkaObjekti(Koko * scale, Koko * scale);
                p.Color        = ColorUtils.HsvToRgb(hue, 1, 0.9);
                p.Shape        = Shape.Circle;
                p.LifetimeLeft = TimeSpan.FromSeconds(2);

                p.Position = peli.Pelaaja.AbsolutePosition + peli.Pelaaja.Sijainti_Suu;

                var mouse = peli.Mouse.PositionOnWorld;
                var rad   = Math.Atan2(mouse.Y - p.Position.Y, mouse.X - p.Position.X);

                p.Hit(Vector.FromLengthAndAngle(velocity, Angle.FromRadians(rad) + Angle.FromDegrees(dir)));

                p.AddCollisionIgnoreGroup(Sankari.IGNORE_ID);
                peli.AddCollisionHandlerByTag <FysiikkaObjekti, Vihulainen>(p, "vihu", OsuVihuun);

                peli.Add(p, Morte.TASO_OLETUS);
            }
            Toistin.Interval += 0.002;

            peli.Pelaaja.Vahingoita(2);
        }
Example #2
0
        public void Laukaise(Morte peli)
        {
            Debug.WriteLine("Asetetaan ajastin");

            if (Toistin != null)
            {
                Toistin.Stop();
            }

            Toistin          = new Timer();
            Toistin.Interval = 0.01;
            Toistin.Timeout += () => Palleroi(peli);
            Toistin.Start();
        }
Example #3
0
        public void Laukaise(Morte peli)
        {
            HolyHandgranade kranaatti = new HolyHandgranade()
            {
                AngularVelocity = 1 * peli.Pelaaja.Suunta
            };

            var suunta = (peli.Pelaaja.X >= peli.Mouse.PositionOnWorld.X) ? Angle.FromDegrees(135) : Angle.FromDegrees(45);

            peli.Pelaaja.Throw(kranaatti, suunta, VOIMA);
            peli.AddCollisionHandlerByTag <HolyHandgranade, Vihulainen>(kranaatti, "vihu", OsuVihuun);

            kranaatti.Explosion.AddShockwaveHandler("vihu", ShokkiaaltoOsuu);
            peli.Pelaaja.Vahingoita(Käyttöhinta);
        }
Example #4
0
 public void Laukaise(Morte peli)
 {
     Käynnistettäessä?.Invoke();
 }