/// <summary> /// Initializes fading to a color. /// </summary> private void InitFade() { Fade = FindObjectOfType <FadeToColor>(); if (Fade != null) { Fade.Init(UIController.fadeScreen); if (SceneTransition == TransitionPhase.StartingScene) { Fade.StartFadeIn(true); } } }
public void PowerUpHit(Entity entity) { if (entity.Type == EntityType.WEAPON_POWERUP_SPREAD) { fadeToColor = FadeToColor.SPREAD; pickedUpPowerUp = EntityType.WEAPON_POWERUP_SPREAD; powerUpActive = true; timer = 0.0; if (repeatFlicker == true) repeatFlicker = false; } else if (entity.Type == EntityType.WEAPON_POWERUP_RAPID) { fadeToColor = FadeToColor.RAPID; pickedUpPowerUp = EntityType.WEAPON_POWERUP_RAPID; powerUpActive = true; timer = 0.0; if (repeatFlicker == true) repeatFlicker = false; } if (enemyHit == true) { enemyHitScaleState = 0; enemyHit = false; } pointLight.LightDecay = currentLightRadius; powerUpHit = true; float newRadiusTarget = (float)currentLightRadius * 1.4f; flashScaleTarget = (int)newRadiusTarget; }
private bool LightFade(Vector4 color) { if (pointLight.Color.X < color.X) { pointLight.Color.X += colorScalar; if (pointLight.Color.X > color.X) pointLight.Color.X = color.X; } else if (pointLight.Color.X > color.X) { pointLight.Color.X -= colorScalar; if (pointLight.Color.X < color.X) pointLight.Color.X = color.X; } if (pointLight.Color.Y < color.Y) { pointLight.Color.Y += colorScalar; if (pointLight.Color.Y > color.Y) pointLight.Color.Y = color.Y; } else if (pointLight.Color.Y > color.Y) { pointLight.Color.Y -= colorScalar; if (pointLight.Color.Y < color.Y) pointLight.Color.Y = color.Y; } if (pointLight.Color.Z < color.Z) { pointLight.Color.Z += colorScalar; if (pointLight.Color.Z > color.Z) pointLight.Color.Z = color.Z; } else if (pointLight.Color.Z > color.Z) { pointLight.Color.Z -= colorScalar; if (pointLight.Color.Z < color.Z) pointLight.Color.Z = color.Z; } if (pointLight.Color.W < color.W) { pointLight.Color.W += colorScalar; if (pointLight.Color.W > color.W) pointLight.Color.W = color.W; } else if (pointLight.Color.W > color.W) { pointLight.Color.W -= colorScalar; if (pointLight.Color.W < color.W) pointLight.Color.W = color.W; } if (color == pointLight.Color) { if (repeatFlicker == true) { if (fadeToColor == FadeToColor.HEALTH) { if (pickedUpPowerUp == EntityType.WEAPON_POWERUP_RAPID) { fadeToColor = FadeToColor.RAPID; return false; } else if (pickedUpPowerUp == EntityType.WEAPON_POWERUP_SPREAD) { fadeToColor = FadeToColor.SPREAD; return false; } } else if (fadeToColor == FadeToColor.RAPID || fadeToColor == FadeToColor.SPREAD) { fadeToColor = FadeToColor.HEALTH; return false; } } return true; } return false; }
private void FadeToLight() { switch (fadeToColor) { case FadeToColor.HEALTH: { if (LightFade(healthColor) == true && repeatFlicker == false) fadeToColor = FadeToColor.NONE; break; } case FadeToColor.RAPID: { if (LightFade(rapidColor) == true && false) fadeToColor = FadeToColor.NONE; break; } case FadeToColor.SPREAD: { if (LightFade(spreadColor) == true && false) fadeToColor = FadeToColor.NONE; break; } } }
public void Update(GameTime gameTime, int currentHealth, Vector2 playerPosition) { this.pointLight.Position = new Vector3(playerPosition.X, playerPosition.Y, pointLight.Position.Z); this.currentHealth = currentHealth; if (powerUpActive == true) { timer += gameTime.ElapsedGameTime.Milliseconds; if (timer >= 10000.0 && timer < 14999.0) { if (timer >= 13.000) colorScalar = 12; repeatFlicker = true; } else if (timer >= 15000.0) { repeatFlicker = false; fadeToColor = FadeToColor.HEALTH; colorScalar = 8; } } if (fadeToColor != FadeToColor.NONE) { FadeToLight(); } if (enemyHit == true) { EnemyHitScale(); } else if (powerUpHit == true) { PowerUpHitScale(); } }
private void InitScene() { ui = FindObjectOfType <UIManager>(); fade = FindObjectOfType <FadeToColor>(); home = FindObjectOfType <Home>(); }