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; } } }
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))); } }
void Awake() { colorLerper = new ColorLerper(gameObject); }
void Awake() { colorLerper = new ColorLerper( gameObject ); }
private void Awake() { colliderDetector = GetComponent <SphereCollider>(); colorLerper = GetComponent <ColorLerper>(); }