added awk script to split up triggers/activations/spell and group them based on the card

master
melvin 2011-08-10 16:06:01 +08:00
parent 31849b1868
commit bc55d4cece
1 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,44 @@
# src/magic/data/CardEventDefinitions.java
# src/magic/data/PermanentActivationDefinitions.java
# src/magic/data/TriggerDefinitions.java
# generate src/magic/card/Card_Name.java based on the above
BEGIN {
FS = "\""
}
/private static/ {
card = $2
fn = gensub("[^A-Za-z]", "_", "g", card);
public = gensub("private","public","g")
clean = gensub(" [A-Za-z0-9_]*[ ]*=", " V" NR " =", "g", public)
block[fn] = block[fn] "\n" clean
next
}
{
block[fn] = block[fn] "\n" $0
}
END {
header ="package magic.card;\n" \
"import java.util.*;\n" \
"import magic.model.event.*;\n" \
"import magic.model.stack.*;\n" \
"import magic.model.choice.*;\n" \
"import magic.model.target.*;\n" \
"import magic.model.action.*;\n" \
"import magic.model.trigger.*;\n" \
"import magic.model.condition.*;\n" \
"import magic.model.*;\n" \
"import magic.data.*;\n" \
"import magic.model.variable.*;\n"
for (fn in block) {
output = fn ".java"
print header > output
print "public class " fn " {" > output
print block[fn] > output
print "}" > output
}
print length(block) > "/dev/stderr"
}