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.clickable.ability.Ability;
26 import net.sf.magicproject.event.context.ContextEventListener;
27 import net.sf.magicproject.token.MCommonVars;
28
29 /***
30 * This action is used to modifiy a public register of play.
31 *
32 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
33 * @since 0.71
34 */
35 class ModifyStaticRegister extends ModifyRegister {
36
37 /***
38 * Create an instance of ModifyRegister by reading a file Offset's file must
39 * pointing on the first byte of this action <br>
40 * <ul>
41 * Structure of InputStream : Data[size]
42 * <li> [super]</li>
43 * </ul>
44 *
45 * @param inputFile
46 * file containing this action
47 * @throws IOException
48 * if error occured during the reading process from the specified
49 * input stream
50 */
51 ModifyStaticRegister(InputStream inputFile) throws IOException {
52 super(inputFile);
53 }
54
55 @Override
56 public final Actiontype getIdAction() {
57 return Actiontype.MODIFY_STATIC_REGISTER;
58 }
59
60 @Override
61 public boolean play(ContextEventListener context, Ability ability) {
62 int reg = index.getValue(ability, null, context);
63 MCommonVars.registers[reg] = op.process(
64 MCommonVars.registers[reg], getValue(ability, null, context));
65 return true;
66 }
67
68 @Override
69 public String toString(Ability ability) {
70 return "Modify play register";
71 }
72 }