示例#1
0
    /// <summary>
    /// Pelaajan törmäykset toteutetaan tässä.
    /// </summary>
    /// <param name="pelaaja">IPhysicsObject joka törmää.</param>
    /// <param name="kohde">IPhysicsObject johon törmätään.</param>
    private void PelaajaTormaa(IPhysicsObject pelaaja, IPhysicsObject kohde)
    {
        if (kohde.Tag == "vesi" && (pelaaja.Bottom - kohde.Top) < 10)
        //if (pelaaja.Bottom < vesi.Y + vesi.Height / 2 + 20 || pelaaja.Y < vedenpinta)
        {
            if (pelaaja != null)
            {
                pelaaja.Destroy();
                //Remove(pelaaja);
                MessageDisplay.Add(pelaaja.Tag + " kuoli!");
                PeliPaattyy();
            }
        }

        if (kohde.Tag == "kotka")
        {
            pelaaja.Destroy();
            //Remove(pelaaja);
            MessageDisplay.Add("Kotka söi " + pelaaja.Tag + ":n!!!");
            PeliPaattyy();
        }

        if (kohde.Tag == "tnt")
        {
            //if (kohde.Y < 0) return;
            //Explosion rajahdys = new Explosion(kohde.Width);
            //rajahdys.Position = kohde.Position;
            int       pMax     = 200;
            Explosion rajahdys = new Explosion(pMax);
            rajahdys.Position = new Vector(kohde.X, kohde.Y);
            //Add(rajahdys);
            rajahdys.Speed = 500.0;
            rajahdys.Force = 10000;


            kohde.Destroy();
            pelaaja.Hit(new Vector(0, 10000));
        }

        //Kaksinpeliin alla oleva...
        if (pelaaja.Y < Camera.Y - KENTAN_KORKEUS / 2 && pelaajat.Count > 1)
        {
            //Remove(pelaaja);
            pelaaja.Destroy();
            MessageDisplay.Add(pelaaja.Tag + " kuoli!");
            PeliPaattyy();
        }
    }