package app.create.rpg.task;
import java.io.File;
import org.ini4j.Config;
import org.ini4j.Ini;
import android.os.Parcel;
import android.util.Log;
import app.create.rpg.R;
public class TaskProject extends TaskDecompressZip {
boolean mCreateFirst;
String mGameName;
String mRTP[];
protected TaskProject() { super(); }
public TaskProject(boolean bCreateFirst, String name, String[] rtp, String folder) {
super (folder, R.raw.project_template);
mCreateFirst = bCreateFirst;
mGameName = name;
mRTP = rtp;
}
public TaskProject(Parcel source) {
super (source);
mCreateFirst = source.readByte() != 0;
mGameName = source.readString();
mRTP = source.createStringArray();
}
@Override public int describeContents() { return 0; }
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel (dest, flags);
dest.writeByte((byte) (mCreateFirst ? 1 : 0));
dest.writeString(mGameName);
dest.writeStringArray(mRTP);
}
public static final TaskProject EMPTY = new TaskProject();
public static final Creator<TaskProject> CREATOR = new Creator<TaskProject>() {
@Override public TaskProject[] newArray(int size) { return new TaskProject[size]; }
@Override public TaskProject createFromParcel(Parcel source) { return new TaskProject (source); }
};
@Override
public void run() {
try {
Log.d("CreateRPG", "TaskProject Start running");
File folder = new File(mFolder), file;
if (mCreateFirst) {
Log.d("CreateRPG", "TaskProject Unzipping");
super.run();
Log.d("CreateRPG", "TaskProject complete");
} // end unzip
mMessage = mService.getString(R.string.task_editing);
mService.onTaskUpdate(this);
file = new File(folder, "Game.ini");
Config cfg = Config.getGlobal();
cfg.setEscape(false);
cfg.setStrictOperator(true);
Ini ini = new Ini();
ini.load(file);
ini.put("Game", "Title", mGameName);
int len = mRTP.length > 2 ? 3 : mRTP.length;
for (int i = 0; i < len; ++i) {
ini.put("Game", "RTP"+(i+1), mRTP[i]);
}
ini.store(file);
Log.d("CreateRPG", "TaskProject okay");
} catch (Exception e) {
Log.e("CreateRPG", "TaskProject error", e);
printException(e);
} finally {
Log.d("CreateRPG", "TaskProject finish");
}
}
}