public override void applyEffect(ref DrawParameters drawParameters) { bool haloState = entityToApply.getState(EntityState.Halo); // Si el estado esta activado y el efecto no ha comenzado // entonces se comienza el efecto y se resetean los campos if (haloState && !effectInPlace) { effectInPlace = true; flickCounter = flickInterval; flick = true; } // De lo contrario si el estado esta desactivado y el efecto esta // corriendo entonces se termina el efecto else if(!haloState && effectInPlace) { effectInPlace = false; } if (effectInPlace) { if (flickCounter <= 0) { flick = !flick; flickCounter = flickInterval; } flickCounter--; if (flick) drawParameters.Draw = false; } }
public override void applyEffect(ref DrawParameters drawParameters) { if (isHarmed && effectInPlace == false) { currentSide = 1; currentFrame = 1; effectInPlace = true; } else { isHarmed = false; } if (effectInPlace) { // Si ha hecho una iteracion de frames completa entonces se cambia // de lado if (currentFrame > framesPerRumbleSide) { currentSide++; currentFrame = 1; } // Si ya ha pasado por los 4 lados entonces termina el efecto if (currentSide > 4) { effectInPlace = false; return; } // Elige la posicion dependiendo del lado switch (currentSide) { case 1: drawParameters.Position += new Vector2(-5, 0); break; case 2: drawParameters.Position += new Vector2(0, -5); break; case 3: drawParameters.Position += new Vector2(5, 0); break; case 4: drawParameters.Position += new Vector2(0, 5); break; } currentFrame++; } }
public abstract void applyEffect(ref DrawParameters drawParameters);
public override void initialize() { textureHealthBar = Program.GAME.Content.Load<Texture2D>("teststage/generic_bar"); font = Program.GAME.Content.Load<SpriteFont>("MenuFont"); Program.GAME.ComponentManager.addComponent(this); this.isVisible = true; greenBarParams = new DrawParameters(textureHealthBar); greenBarParams.Color = Color.PaleGreen; greenBarParams.Rotation = 0; greenBarParams.Origin = Vector2.Zero; greenBarParams.Effects = SpriteEffects.None; greenBarParams.LayerDepth = GameLayers.FRONT_HUD_AREA; grayBarParams = new DrawParameters(textureHealthBar); grayBarParams.Color = Color.Gray; grayBarParams.Rotation = 0; grayBarParams.Origin = Vector2.Zero; grayBarParams.Effects = SpriteEffects.None; grayBarParams.LayerDepth = GameLayers.FRONT_HUD_AREA; grayBarParams.SourceRectangle = new Rectangle(0, 45, textureHealthBar.Width, 44); blackBarParams = new DrawParameters(textureHealthBar); blackBarParams.Color = Color.Black; blackBarParams.Rotation = 0; blackBarParams.Origin = Vector2.Zero; blackBarParams.Effects = SpriteEffects.None; blackBarParams.LayerDepth = GameLayers.FRONT_HUD_AREA; blackBarParams.SourceRectangle = new Rectangle(0, 0, textureHealthBar.Width, 44); HPLabelParams = new DrawStringParameters(); HPLabelParams.SpriteFont = font; HPLabelParams.Text = "HP:"; HPLabelParams.Color = Color.White; HPCurrentParams = new DrawStringParameters(); HPCurrentParams.SpriteFont = font; HPCurrentParams.SbText = new StringBuilder(); HPCurrentParams.Color = Color.White; }
public void initialize() { // se registra al componente manager activo! // asi no se debe hacer... pero solo por ejemplo Program.GAME.ComponentManager.addComponent(this); // registra las propiedades obligatorias para que este comp funcione owner.addState(EntityState.Visible, true); owner.addVectorProperty(EntityProperty.Position, Vector2.Zero); owner.addState(EntityState.FacingRight, true); texture = Program.GAME.Content.Load<Texture2D>(asset); drawParameters = new DrawParameters(texture); EventManager.Instance.addListener(EventType.ACTION_CHANGE_EVENT, this); }
public void initialize() { Program.GAME.ComponentManager.addComponent(this); isVisible = true; for (int i = 0; i < renderList.Count; i++) { DrawParameters objectParameters = renderList[i]; if (objectParameters.SourceRectangle.IsEmpty) { objectParameters.SourceRectangle = new Rectangle(0, 0, objectParameters.Texture.Width, objectParameters.Texture.Height); } } drawParams = new DrawParameters(); drawParams.Color = Color.White; drawParams.Alpha = 1.0f; }
public override void applyEffect(ref DrawParameters drawParameters) { if(effectInPlace) { float alpha = MathHelper.Clamp(drawParameters.Alpha + (fadeAmount * fadeDirection), fadeMin, fadeMax); drawParameters.Alpha = alpha; if (this.fadeType == FADE_TYPE.IN && alpha == fadeMin) { effectInPlace = false; return; } if (this.fadeType == FADE_TYPE.OUT && alpha == fadeMax) { effectInPlace = false; return; } if (this.fadeType == FADE_TYPE.INOUT) { if (alpha == fadeMin) { fadeDirection = 1; } else if (alpha == fadeMax) { effectInPlace = false; } } } }
public void initialize() { Program.GAME.ComponentManager.addComponent(this); this.texture = Program.GAME.Content.Load<Texture2D>(asset); if (sourceRectangle.IsEmpty) { sourceRectangle = new Rectangle(0, 0, texture.Width, texture.Height); } drawParameters = new DrawParameters(texture); drawParameters.SourceRectangle = sourceRectangle; drawParameters.Color = Color.White; drawParameters.LayerDepth = GameLayers.MIDDLE_PLAY_AREA; }