MagicMain.java :  » Game » arena-card-game » magic » Java Open Source

Java Open Source » Game » arena card game 
arena card game » magic » MagicMain.java
package magic;

import java.io.File;
import java.io.IOException;

import magic.data.CardDefinitions;
import magic.data.CardEventDefinitions;
import magic.data.CubeDefinitions;
import magic.data.DeckUtils;
import magic.data.KeywordDefinitions;
import magic.data.LocalVariableDefinitions;
import magic.data.ManaActivationDefinitions;
import magic.data.PermanentActivationDefinitions;
import magic.data.TriggerDefinitions;
import magic.model.variable.MagicStaticLocalVariable;
import magic.ui.MagicFrame;

public class MagicMain {
  
  private static final String GAME_PATH="Magarena";
  private static final String MODS_PATH="mods";

  private static final String gamePath;
  
  static {
    final File dataDirFile=new File(System.getProperty("user.dir"),GAME_PATH);
    if (dataDirFile.exists()&&dataDirFile.isDirectory()) {
      gamePath=dataDirFile.toString();
    } else {    
      gamePath=System.getProperty("user.home")+File.separatorChar+GAME_PATH;    
    }
    System.out.println("Data folder : "+gamePath);
  }
  
  public static void main(String args[]) {    

    initializeCards();
    new MagicFrame();
  }
  
  public static String getGamePath() {

    return gamePath;
  }
  
  public static String getModsPath() {
    
    return getGamePath()+File.separatorChar+MODS_PATH;
  }

  public static void initializeEngine() throws IOException {

    CardDefinitions.getInstance().loadCardDefinitions();
    CubeDefinitions.getInstance().loadCubeDefinitions();
    KeywordDefinitions.getInstance().loadKeywordDefinitions();
    TriggerDefinitions.addTriggers();
    LocalVariableDefinitions.addLocalVariables();
    ManaActivationDefinitions.addManaActivations();
    PermanentActivationDefinitions.addPermanentActivations();
    CardEventDefinitions.setCardEvents();
    MagicStaticLocalVariable.initializeCardDefinitions();
  }
  
  public static void initializeCards() {
    
    try {
      new File(getGamePath()).mkdir();
      new File(getModsPath()).mkdir();
      DeckUtils.createDeckFolder();
      initializeEngine();
    } catch (final Exception ex) {
      ex.printStackTrace();
    }
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.