Package net.sf.arianne.marboard.client.core

Source Code of net.sf.arianne.marboard.client.core.EntityFactory

package net.sf.arianne.marboard.client.core;

import marauroa.common.game.RPObject;
import net.sf.arianne.marboard.client.entity.Entity;
import net.sf.arianne.marboard.client.entity.meta.User;
import net.sf.arianne.marboard.client.entity.shape.Dot;
import net.sf.arianne.marboard.client.entity.shape.Oval;
import net.sf.arianne.marboard.client.entity.shape.Rectangle;
import net.sf.arianne.marboard.client.entity.shape.StraightLine;

import org.apache.log4j.Logger;

/**
* creates entities based on RPObjects
*
* @author hendrik
*/
public class EntityFactory {
  private static Logger logger = Logger.getLogger(EntityFactory.class);

  /**
   * creates a new entity
   *
   * @param rpobject RPObject to convert
   * @return entity
   */
  public static Entity create(RPObject rpobject) {
    String rpclass = rpobject.getRPClass().getName();

    if (rpclass.equals("user")) {
      return new User(rpobject);
    } else if (rpclass.equals("dot")) {
      return new Dot(rpobject);
    } else if (rpclass.equals("rectangle")) {
      return new Rectangle(rpobject);
    } else if (rpclass.equals("straight_line")) {
      return new StraightLine(rpobject);
    } else if (rpclass.equals("oval")) {
      return new Oval(rpobject);
    } else {
      logger.error("Unknown Entity class " + rpclass + ": " + rpobject);
      return new Entity(rpobject);
    }
  }
}
TOP

Related Classes of net.sf.arianne.marboard.client.core.EntityFactory

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.