Package net.cis.client.game.ui.effects

Source Code of net.cis.client.game.ui.effects.SpriteSwitch

/**
*
*/
package net.cis.client.game.ui.effects;

import de.lessvoid.nifty.Nifty;
import de.lessvoid.nifty.effects.EffectImpl;
import de.lessvoid.nifty.effects.EffectProperties;
import de.lessvoid.nifty.effects.Falloff;
import de.lessvoid.nifty.elements.Element;
import de.lessvoid.nifty.elements.render.ImageRenderer;
import de.lessvoid.nifty.render.NiftyImage;
import de.lessvoid.nifty.render.NiftyRenderEngine;
import de.lessvoid.nifty.render.image.ImageModeFactory;
import de.lessvoid.nifty.render.image.ImageModeHelper;

/**
* @author SchaeckerM
*
*/
public class SpriteSwitch implements EffectImpl {

  private int spriteNo;
  private int spriteWidth;
  private int spriteHeight;

  /*
   * (non-Javadoc)
   *
   * @see
   * de.lessvoid.nifty.effects.EffectImpl#activate(de.lessvoid.nifty.Nifty,
   * de.lessvoid.nifty.elements.Element,
   * de.lessvoid.nifty.effects.EffectProperties)
   */
  @Override
  public void activate(Nifty nifty, Element element,
      EffectProperties parameter) {
    this.spriteNo = Integer
        .parseInt(parameter.getProperty("spriteNo", "0"));
    this.spriteWidth = Integer
        .parseInt(parameter.getProperty("spriteWidth", "32"));
    this.spriteHeight = Integer
        .parseInt(parameter.getProperty("spriteHeight", "32"));
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.lessvoid.nifty.effects.EffectImpl#execute(de.lessvoid.nifty.elements
   * .Element, float, de.lessvoid.nifty.effects.Falloff,
   * de.lessvoid.nifty.render.NiftyRenderEngine)
   */
  @Override
  public void execute(Element element, float effectTime, Falloff falloff,
      NiftyRenderEngine r) {
    NiftyImage image = element.getRenderer(ImageRenderer.class).getImage();
    String areaProviderProperty = new ImageModeHelper()
        .getAreaProviderProperty("sprite:" + spriteWidth + "," + spriteHeight + ","
            + spriteNo);
    String renderStrategyProperty = new ImageModeHelper()
        .getRenderStrategyProperty("sprite:" + spriteWidth + "," + spriteHeight
            + "," + spriteNo);
    image.setImageMode(ImageModeFactory.getSharedInstance()
        .createImageMode(areaProviderProperty, renderStrategyProperty));
    element.getRenderer(ImageRenderer.class).setImage(image);
  }

  /*
   * (non-Javadoc)
   *
   * @see de.lessvoid.nifty.effects.EffectImpl#deactivate()
   */
  @Override
  public void deactivate() {
    // TODO Auto-generated method stub

  }

}
TOP

Related Classes of net.cis.client.game.ui.effects.SpriteSwitch

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.