Example #1
0
        public void Update(GameTime gameTime, ref Player player, ref bool gewonnen, ref Level_LoaderV2 levelloader)
        {
            if (p == null)
            {
                p = new Lichtquelle_Partikel(partikelmodel, position, richtung, null, null, new MyColor(000000), partikeleffect);
            }
            else
            {
                if (dist(position, p.getPosition()) > 1)
                {
                    newp = new Lichtquelle_Partikel(partikelmodel, position, richtung, p, null, new MyColor(000000), partikeleffect);
                    p.setNachfolger(newp);
                    p = p.getNachfolger();
                }

                p.Update(gameTime, collider, ref player, ref gewonnen, ref levelloader);
            }
        }
Example #2
0
        public void Update(GameTime gameTime, PartikelCollider collider, ref Player player, ref bool gewonnen, ref Level_LoaderV2 levelloader)
        {
            if (vorgänger != null)
            {
                vorgänger.Update(gameTime, collider, ref player, ref gewonnen, ref levelloader);
            }
            else
            {
                if (richtung == new Vector3(0, 0, 0))
                {
                    nachfolger.setVorgänger(null);
                }
            }

            if (nachfolger != null)
            {
                if (nachfolger.richtung == new Vector3(0, 0, 0))
                {
                    löscheNachfolger();
                }
            }

            if (richtung == new Vector3(0, 0, 1) || richtung == new Vector3(0, 0, -1))
            {
                horizontal = true;
            }

            if (richtung == new Vector3(1, 0, 0) || richtung == new Vector3(-1, 0, 0))
            {
                horizontal = false;
            }

            int letzeBewegung = gameTime.TotalGameTime.Milliseconds;

            Vector3 newposition = position + richtung;

            collider.colliding(this, newposition, ref player, ref gewonnen, ref levelloader);
        }