Package shadowrun.gui.mapElement.builder

Source Code of shadowrun.gui.mapElement.builder.PanelCharacterBuilder

package shadowrun.gui.mapElement.builder;

import java.awt.BorderLayout;
import java.awt.Point;
import java.beans.Beans;
import java.util.ArrayList;

import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;

import net.alteiar.beans.map.MapBean;
import net.alteiar.beans.map.elements.MapElement;
import net.alteiar.campaign.CampaignClient;
import net.alteiar.campaign.player.gui.centerViews.map.element.PanelMapElementBuilder;
import net.alteiar.component.MyCombobox;
import net.alteiar.documents.BeanDocument;
import net.alteiar.shared.UniqueID;
import shadowrun.gui.adapter.CharacterAdapter;
import shadowrun.gui.mapElement.ShadowrunCharacterElement;

public class PanelCharacterBuilder extends PanelMapElementBuilder {
  private static final long serialVersionUID = 1L;

  private final MyCombobox<CharacterAdapter> characters;

  public PanelCharacterBuilder() {
    this.setLayout(new BorderLayout());
    this.add(new JLabel("Cr\u00E9er un personnage"), BorderLayout.NORTH);

    JPanel panelCenter = new JPanel();
    panelCenter.setLayout(new BoxLayout(panelCenter, BoxLayout.Y_AXIS));

    characters = new MyCombobox<CharacterAdapter>();
    panelCenter.add(characters);

    this.add(panelCenter, BorderLayout.CENTER);
  }

  @Override
  public void refresh(MapBean map) {

    ArrayList<UniqueID> ignoreList = new ArrayList<UniqueID>();

    for (UniqueID mapId : map.getElements()) {
      MapElement element = CampaignClient.getInstance().getBean(mapId);

      if (Beans.isInstanceOf(element, ShadowrunCharacterElement.class)) {
        ShadowrunCharacterElement characterElement = (ShadowrunCharacterElement) Beans
            .getInstanceOf(element,
                ShadowrunCharacterElement.class);

        ignoreList.add(characterElement.getCharactedId());
      }
    }
    characters.setValues(CharacterAdapter.getCharacters(ignoreList));
  }

  private BeanDocument getCharacter() {
    return characters.getSelectedItem().getCharacter();
  }

  @Override
  public Boolean isAvailable() {
    return characters.getItemCount() > 0;
  }

  @Override
  public ShadowrunCharacterElement buildMapElement(Point position) {
    return new ShadowrunCharacterElement(position, getCharacter());
  }

  @Override
  public String getElementName() {
    return "Personnage";
  }

  @Override
  public String getElementDescription() {
    return "Dessine un personnage";
  }
}
TOP

Related Classes of shadowrun.gui.mapElement.builder.PanelCharacterBuilder

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.