// Path: core/src/com/galvarez/ttw/model/data/Empire.java
// public final class Empire extends Component {
// 
//   private static final AtomicInteger COUNTER = new AtomicInteger(0);
// 
//   public final int id;
// 
//   public final Color color;
// 
//   public final Color backColor;
// 
//   public final Culture culture;
// 
//   private final boolean computer;
// 
//   public Empire(Color color, Culture culture, boolean computer) {
//     this.id = COUNTER.getAndIncrement();
//     this.color = color;
//     this.backColor = Colors.contrast(color);
//     this.culture = culture;
//     this.computer = computer;
//   }
// 
//   public boolean isComputerControlled() {
//     return computer;
//   }
// 
//   public Color getColor() {
//     return color;
//   }
// 
//   public Culture getCulture() {
//     return culture;
//   }
// 
//   public String newCityName() {
//     return culture.newCityName();
//   }
// 
//   @Override
//   public boolean equals(Object obj) {
//     if (obj == this)
//       return true;
//     else if (obj instanceof Empire)
//       return id == ((Empire) obj).id;
//     else
//       return false;
//   }
// 
//   @Override
//   public int hashCode() {
//     return id;
//   }
// 
//   @Override
//   public String toString() {
//     return culture.name + "(ia=" + computer + ")";
//   }
// 
// }


import com.artemis.Entity;
import com.badlogic.gdx.graphics.Color;
import com.galvarez.ttw.model.data.Empire;
package com.galvarez.ttw.utils;


/**
 * Utilities for colors.
 * 
 * @author Guillaume Alvarez
 */
public final class Colors {

  private Colors() {
  }

  /**
   * Compute the most contrasting black or white color.
   * 
   * @see http://www.w3.org/TR/AERT#color-contrast
   * @see http://24ways.org/2010/calculating-color-contrast/
   * @see http://en.wikipedia.org/wiki/YIQ
   */
  @SuppressWarnings("javadoc")
  public static Color contrast(Color c) {
    float yiq = ((c.r * 256 * 299f) + (c.g * 256 * 587f) + (c.b * 256 * 114f)) / 1000f;
    return (yiq >= 128f) ? Color.BLACK : Color.WHITE;

  }

  public static String markup(Entity empire) {
// Path: core/src/com/galvarez/ttw/model/data/Empire.java
// public final class Empire extends Component {
// 
//   private static final AtomicInteger COUNTER = new AtomicInteger(0);
// 
//   public final int id;
// 
//   public final Color color;
// 
//   public final Color backColor;
// 
//   public final Culture culture;
// 
//   private final boolean computer;
// 
//   public Empire(Color color, Culture culture, boolean computer) {
//     this.id = COUNTER.getAndIncrement();
//     this.color = color;
//     this.backColor = Colors.contrast(color);
//     this.culture = culture;
//     this.computer = computer;
//   }
// 
//   public boolean isComputerControlled() {
//     return computer;
//   }
// 
//   public Color getColor() {
//     return color;
//   }
// 
//   public Culture getCulture() {
//     return culture;
//   }
// 
//   public String newCityName() {
//     return culture.newCityName();
//   }
// 
//   @Override
//   public boolean equals(Object obj) {
//     if (obj == this)
//       return true;
//     else if (obj instanceof Empire)
//       return id == ((Empire) obj).id;
//     else
//       return false;
//   }
// 
//   @Override
//   public int hashCode() {
//     return id;
//   }
// 
//   @Override
//   public String toString() {
//     return culture.name + "(ia=" + computer + ")";
//   }
// 
// }


// Path: core/src/com/galvarez/ttw/utils/Colors.java
import com.artemis.Entity;
import com.badlogic.gdx.graphics.Color;
import com.galvarez.ttw.model.data.Empire;

package com.galvarez.ttw.utils;


/**
 * Utilities for colors.
 * 
 * @author Guillaume Alvarez
 */
public final class Colors {

  private Colors() {
  }

  /**
   * Compute the most contrasting black or white color.
   * 
   * @see http://www.w3.org/TR/AERT#color-contrast
   * @see http://24ways.org/2010/calculating-color-contrast/
   * @see http://en.wikipedia.org/wiki/YIQ
   */
  @SuppressWarnings("javadoc")
  public static Color contrast(Color c) {
    float yiq = ((c.r * 256 * 299f) + (c.g * 256 * 587f) + (c.b * 256 * 114f)) / 1000f;
    return (yiq >= 128f) ? Color.BLACK : Color.WHITE;

  }

  public static String markup(Entity empire) {
    return markup(empire.getComponent(Empire.class).color);