/*
* Copyright (C) 2012 Joe AmRhein
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.arconus.dicecommander.model.entities.character.power;
import android.os.Parcel;
import android.os.Parcelable;
import com.arconus.dicecommander.model.entities.dice.CriticalStatus;
public class CharPowerRollResult implements Parcelable {
private String name;
private boolean hasAttackRoll;
private String attackRollString;
private String attackRollResultString;
private int attackRollResult;
private int targetDefenseResID;
private boolean hasDamageRoll;
private String damageRollString;
private String damageRollResultString;
private int damageRollResult;
private CriticalStatus critStatus;
public CharPowerRollResult(String name) {
this.name = name;
this.hasAttackRoll = false;
this.attackRollString = "";
this.attackRollResultString = "";
this.attackRollResult = 0;
this.targetDefenseResID = 0;
this.hasDamageRoll = false;
this.damageRollString = "";
this.damageRollResultString = "";
this.damageRollResult = 0;
this.critStatus = CriticalStatus.NONE;
}
private CharPowerRollResult(Parcel source) {
name = source.readString();
hasAttackRoll = source.readByte() == 1;
attackRollString = source.readString();
attackRollResultString = source.readString();
attackRollResult = source.readInt();
targetDefenseResID = source.readInt();
hasDamageRoll = source.readByte() == 1;
damageRollString = source.readString();
damageRollResultString = source.readString();
damageRollResult = source.readInt();
critStatus = CriticalStatus.valueOf(source.readString());
}
public boolean getHasAttackRoll() {
return hasAttackRoll;
}
public void setHasAttackRoll(boolean flag) {
this.hasAttackRoll = flag;
}
public String getAttackRollResultString() {
return attackRollResultString;
}
public void setAttackRollResultString(String attackRollResultString) {
this.attackRollResultString = attackRollResultString;
}
public int getAttackRollResult() {
return attackRollResult;
}
public void setAttackRollResult(int attackRollResult) {
this.attackRollResult = attackRollResult;
}
public int getTargetDefenseResID() {
return targetDefenseResID;
}
public void setTargetDefenseResID(int targetDefenseResID) {
this.targetDefenseResID = targetDefenseResID;
}
public boolean getHasDamageRoll() {
return hasDamageRoll;
}
public void setHasDamageRoll(boolean flag) {
this.hasDamageRoll = flag;
}
public String getDamageRollString() {
return damageRollString;
}
public void setDamageRollString(String damageRollString) {
this.damageRollString = damageRollString;
}
public String getDamageRollResultString() {
return damageRollResultString;
}
public void setDamageRollResultString(String damageRollResultString) {
this.damageRollResultString = damageRollResultString;
}
public int getDamageRollResult() {
return damageRollResult;
}
public void setDamageRollResult(int damageRollResult) {
this.damageRollResult = damageRollResult;
}
public String getAttackRollString() {
return attackRollString;
}
public void setAttackRollString(String attackRollString) {
this.attackRollString = attackRollString;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setCritStatus(CriticalStatus critStatus) {
this.critStatus = critStatus;
}
public CriticalStatus getCritStatus() {
return critStatus;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeByte((byte) (hasAttackRoll ? 1 : 0));
dest.writeString(attackRollString);
dest.writeString(attackRollResultString);
dest.writeInt(attackRollResult);
dest.writeInt(targetDefenseResID);
dest.writeByte((byte) (hasDamageRoll ? 1 : 0));
dest.writeString(damageRollString);
dest.writeString(damageRollResultString);
dest.writeInt(damageRollResult);
dest.writeString(critStatus.toString());
}
public class CharPowerRollResultCreator implements Parcelable.Creator<CharPowerRollResult> {
public CharPowerRollResult createFromParcel(Parcel source) {
return new CharPowerRollResult(source);
}
public CharPowerRollResult[] newArray(int size) {
return new CharPowerRollResult[size];
}
}
}