2014-08-17 14:42:10 +03:00
|
|
|
package com.iluwatar;
|
|
|
|
|
|
|
|
public class ShrinkSpell extends Command {
|
|
|
|
|
|
|
|
private Size oldSize;
|
2014-10-08 13:42:12 +01:00
|
|
|
|
2014-08-17 14:42:10 +03:00
|
|
|
private Target target;
|
2014-10-08 13:42:12 +01:00
|
|
|
|
2014-08-17 14:42:10 +03:00
|
|
|
public ShrinkSpell() {
|
|
|
|
oldSize = null;
|
|
|
|
target = null;
|
|
|
|
}
|
2014-10-08 13:42:12 +01:00
|
|
|
|
2014-08-17 14:42:10 +03:00
|
|
|
@Override
|
|
|
|
public void execute(Target target) {
|
|
|
|
oldSize = target.getSize();
|
|
|
|
target.setSize(Size.SMALL);
|
|
|
|
this.target = target;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void undo() {
|
|
|
|
if (oldSize != null && target != null) {
|
|
|
|
target.setSize(oldSize);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String toString() {
|
|
|
|
return "Shrink spell";
|
|
|
|
}
|
|
|
|
}
|