1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package net.sf.magicproject.action;
21
22 import java.io.IOException;
23 import java.io.InputStream;
24
25 import net.sf.magicproject.action.handler.StandardAction;
26 import net.sf.magicproject.clickable.ability.Ability;
27 import net.sf.magicproject.event.context.ContextEventListener;
28 import net.sf.magicproject.modifier.ModifierFactory;
29 import net.sf.magicproject.modifier.ModifierModel;
30
31 /***
32 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
33 * @since 0.80
34 */
35 class CreateModifier extends UserAction implements StandardAction {
36
37 /***
38 * Create an instance of CreateModifier by reading a file Offset's file must
39 * pointing on the first byte of this action
40 * <ul>
41 * Structure of InputStream : Data[size]
42 * <li>modifier to add [...]</li>
43 * </ul>
44 *
45 * @param inputFile
46 * file containing this action
47 * @throws IOException
48 * if error occurred during the reading process from the specified
49 * input stream
50 */
51 CreateModifier(InputStream inputFile) throws IOException {
52 super(inputFile);
53 modifier = ModifierFactory.readModifier(inputFile);
54 }
55
56 @Override
57 public final Actiontype getIdAction() {
58 return Actiontype.CREATE_MODIFIER;
59 }
60
61 public boolean play(ContextEventListener context, Ability ability) {
62 modifier.addModifierFromModel(ability, null);
63 return true;
64 }
65
66 @Override
67 public String toString(Ability ability) {
68 return "Create modifier";
69 }
70
71 /***
72 * The modifier to add
73 */
74 private ModifierModel modifier;
75 }