Exemplo n.º 1
0
 public void Update(GameTime gt)
 {
     if (_appearBadGuy && a == null)
     {
         a = new BadGuy(_position, _scene);
         _scene.GameObjects.AddGameObject("BadGuy", a);
         Particle p = new Particle(new Vector2(0, 0), new Vector2(10, 10), Color.Blue, 3f);
         p.AddComponent("Color", new SinglePixelParticleDrawer(p));
         ColorLerper lerp = (ColorLerper)p.AddComponentAndReturnComponent("lerper", new ColorLerper(p));
         lerp.AddColor(Color.Red, 1f);
         lerp.AddColor(Color.Blue, 1f);
         lerp.AddColor(Color.Yellow, 1f);
         p.AddComponent("Movement", new RandomMovementEffect(p, 15, 20));
         gen                    = new ParticleGenerator(a.Position, new Vector2(-10, 10), new Vector2(-10, 10), 27, p, _scene);
         p.Generator            = gen;
         gen.Enabled            = true;
         gen.IgnoreSafeSpawning = false;
     }
     if (gen != null)
     {
         gen.Update(gt);
         _badguyopacityTime += (float)gt.ElapsedGameTime.TotalSeconds;
         Sprite sprite = (Sprite)a.GetComponents("BadGuySprite").ElementAt(0);
         sprite.Color = Color.White * (_badguyopacityTime / 2f);
         if (_badguyopacityTime > 1.84f)
         {
             gen.Enabled = false;
         }
         if (!gen.particles.Any() && gen.Enabled == false)
         {
             this.Done = true;
         }
     }
     this._scene.Camera.Target = _position;
     _time += (Single)gt.ElapsedGameTime.TotalSeconds;
     if (!(_time >= TimePerMessage))
     {
         return;
     }
     if (Input.IsKeyDown(Keys.Space) || Input.IsKeyDown(Keys.Enter) || Input.IsKeyDown(Keys.Escape))
     {
         if (Input.WasKeyUp(Keys.Space))
         {
             Finish();
             return;
         }
         if (Input.WasKeyUp(Keys.Enter))
         {
             Finish();
             return;
         }
         if (Input.WasKeyUp(Keys.Escape))
         {
             Finish();
             return;
         }
     }
 }
Exemplo n.º 2
0
    System.Collections.IEnumerator ColourCycle()
    {
        running = true;
        while (true)
        {
            Vector3 center      = school.transform.position; // CenterOfMass();
            Color   color       = Palette.Random();
            Color   color1      = Palette.RandomNot(color);
            Color   color2      = Palette.RandomNot(color1);
            float   radius      = 20;
            int     boidsTagged = 0;
            while (boidsTagged < school.boids.Count)
            {
                //LineDrawer.DrawSphere(flock.flockCenter, radius, 20, color);
                boidsTagged = 0;
                foreach (Boid boid in school.boids)
                {
                    if (Vector3.Distance(center, boid.transform.position) < radius)
                    {
                        ColorLerper lerper = boid.GetComponent <ColorLerper>();
                        lerper.to.Clear();
                        lerper.to.Add(color);
                        lerper.to.Add(color1);
                        lerper.to.Add(color2);
                        lerper.gameObjects.Clear();
                        int childcount = boid.transform.childCount;
                        if (childcount == 0)
                        {
                            // Why??
                            break;
                        }

                        lerper.gameObjects.Add(boid.transform.GetChild(0).gameObject);
                        lerper.gameObjects.Add(boid.transform.GetChild(1).gameObject);
                        lerper.gameObjects.Add(boid.transform.GetChild(2).gameObject);
                        lerper.StartLerping();
                        //BGE.Utilities.RecursiveSetColor(boid.transform.GetChild(0).gameObject, color);
                        //BGE.Utilities.RecursiveSetColor(boid.transform.GetChild(1).gameObject, color1);
                        //BGE.Utilities.RecursiveSetColor(boid.transform.GetChild(2).gameObject, color2);
                        boidsTagged++;
                    }
                }
                radius += 5;
                yield return(new WaitForSeconds(bombSequenceDelay));
            }
            yield return(new WaitForSeconds(Random.Range(bombDelayMin, bombDelayMax)));
        }
    }
Exemplo n.º 3
0
 void Awake()
 {
     colorLerper = new ColorLerper(gameObject);
 }
Exemplo n.º 4
0
 void Awake()
 {
     colorLerper = new ColorLerper( gameObject );
 }
Exemplo n.º 5
0
 private void Awake()
 {
     colliderDetector = GetComponent <SphereCollider>();
     colorLerper      = GetComponent <ColorLerper>();
 }