Skip to content

Commit 736931e

Browse files
committed
将游戏的逻辑部分分离成出来, 成为模版文件
1 parent 7ddb77e commit 736931e

File tree

1 file changed

+37
-49
lines changed

1 file changed

+37
-49
lines changed

xlc/etc.py

Lines changed: 37 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ def __init__(self, export):
1818
self.export = export
1919
self.file_dir = os.getcwd()
2020

21+
def parseTmpl(self, path):
22+
jsontxt = read_file(os.path.join(path, "tmpl.json"))
23+
self.tmpl = json.loads(jsontxt)
24+
pass
25+
2126
def parseConf(self, obj, fileName):
2227
start = '["%s"]=\n'
2328
end = '\n\n'
@@ -36,7 +41,7 @@ def parseHero(self, files):
3641

3742
for path in files:
3843
heroId = os.path.basename(path).split('.')[0]
39-
print("parse ect:", heroId)
44+
# print("parse ect:", heroId)
4045
jsontxt = read_file(path)
4146
# replace //
4247
jsontxt = re.sub(r'\/\/.*$', '', jsontxt, flags=re.M)
@@ -86,51 +91,32 @@ def _parseSkillKey(self, key, heroId):
8691

8792
def getSkill(self, tab, id, obj):
8893
_tab = self._tab(tab)
89-
# print(len(args))
90-
return _tab + 'id=' + id + ',\n' + \
91-
_tab + 'effects_b=' + self.getValue(obj["effects_b"]) + ',\n' + \
92-
_tab + 'effects_b_no=' + self.getTable(obj["effects_b_no"]) + ',\n' + \
93-
_tab + 'effects_f=' + self.getValue(obj["effects_f"]) + ',\n' + \
94-
_tab + 'effects_f_no=' + self.getTable(obj["effects_f_no"]) + ',\n' + \
95-
_tab + 't_sex=' + self.getValue(obj["t_sex"]) + ',\n' + \
96-
_tab + 't_syb=' + self.getValue(obj["t_syb"]) + ',\n' + \
97-
_tab + 't_sb=' + self.getValue(obj["t_sb"]) + ',\n' + \
98-
_tab + 'ce_b=' + self.getValue(obj["ce_b"]) + ',\n' + \
99-
_tab + 'ce_b_no=' + self.getValue(obj["ce_b_no"]) + ',\n' + \
100-
_tab + 'ce_f=' + self.getValue(obj["ce_f"]) + ',\n' + \
101-
_tab + 'ce_f_no=' + self.getValue(obj["ce_f_no"]) + ',\n' + \
102-
_tab + 't_syx=' + self.getValue(obj["t_syx"]) + ',\n' + \
103-
_tab + 't_sd=' + self.getValue(obj["t_sd"]) + ',\n' + \
104-
_tab + 'zoom=' + self.getValue(obj["zoom"]) + ',\n' + \
105-
_tab + 'zoom_no=' + self.getValue(obj["zoom_no"]) + ',\n' + \
106-
_tab + 'shake=' + self.getValue(obj["shake"]) + ',\n' + \
107-
_tab + 'shake_no=' + self.getValue(obj["shake_no"]) + ',\n' + \
108-
_tab + 'shine1=' + self.getValue(obj["shine1"]) + ',\n' + \
109-
_tab + 'shine1_no=' + self.getValue(obj["shine1_no"]) + ',\n' + \
110-
_tab + 'shine2=' + self.getValue(obj["shine2"]) + ',\n' + \
111-
_tab + 'shine2_no=' + self.getValue(obj["shine2_no"])
94+
tmpStr = _tab + 'id=' + id + ',\n'
95+
96+
for val in self.tmpl["hero_action"]:
97+
tmpStr += _tab + \
98+
val[0] + '=' + \
99+
self.getValue(obj[val[0]], val[1]) + \
100+
',\n'
101+
102+
return tmpStr[0:-2]
112103

113104
def _parseEnemy_action(self, tab, obj):
114105
_tab = self._tab(tab)
115-
return ',\n' + \
116-
_tab + 'e_effects_no=' + self.getValue(obj["e_effects_no"]) + ',\n' + \
117-
_tab + 'e_shine1=' + self.getValue(obj["e_shine1"]) + ',\n' + \
118-
_tab + 'e_shine1_no=' + self.getValue(obj["e_shine1_no"]) + ',\n' + \
119-
_tab + 'e_shine2=' + self.getValue(obj["e_shine2"]) + ',\n' + \
120-
_tab + 'e_shine2_no=' + self.getValue(obj["e_shine2_no"]) + ',\n' + \
121-
_tab + 'e_desc=' + self.getValue(obj["e_desc"]) + ',\n' + \
122-
_tab + 'e_desc_no=' + self.getValue(obj["e_desc_no"]) + ',\n' + \
123-
_tab + 'e_icon=' + self.getValue(obj["e_icon"]) + ',\n' + \
124-
_tab + 'e_icon_no=' + self.getValue(obj["e_icon_no"]) + ',\n' + \
125-
_tab + 'e_effects_b=' + self.getValue(obj["e_effects_b"]) + ',\n' + \
126-
_tab + 'e_effects_b_no=' + self.getValue(obj["e_effects_b_no"]) + ',\n' + \
127-
_tab + 'e_effects_f=' + self.getValue(obj["e_effects_f"]) + ',\n' + \
128-
_tab + 'e_effects_f_no=' + self.getValue(obj["e_effects_f_no"]) + ',\n' + \
129-
_tab + 'e_arm=' + self.getValue(obj["e_arm"]) + ',\n' + \
130-
_tab + 'e_arm_no=' + self.getValue(obj["e_arm_no"]) + ',\n' + \
131-
_tab + 'e_label=' + self.getValue(obj["e_label"]) + '\n'
132-
133-
def getValue(self, val):
106+
tmpStr = ',\n'
107+
108+
for val in self.tmpl["enemy_action"]:
109+
tmpStr += _tab + \
110+
val[0] + '=' + \
111+
self.getValue(obj[val[0]], val[1]) + \
112+
',\n'
113+
114+
return tmpStr[0:-2] + '\n'
115+
116+
def getValue(self, val, fmt):
117+
if fmt == "table":
118+
return self.getTable(val)
119+
134120
val = str(val) # '10.0'
135121
try:
136122
tmp = float(val) # 10.0
@@ -190,16 +176,18 @@ def confFiles(path):
190176

191177

192178
# 获取play.json
193-
def playFiles(path):
194-
__fname = os.path.basename(path)
195-
for exclude in ["play.json"]:
196-
if exclude == __fname:
197-
return True
198-
return False
179+
# def playFiles(path):
180+
# __fname = os.path.basename(path)
181+
# for exclude in ["play.json"]:
182+
# if exclude == __fname:
183+
# return True
184+
# return False
199185

200186

201187
def call(heroPath, sszPath, exportPath):
202188
parser = Parser(exportPath)
189+
#parse tmpl
190+
parser.parseTmpl(heroPath)
203191

204192
# parse heros
205193
files = filter(herosFiles, get_files(heroPath, ["json"]))

0 commit comments

Comments
 (0)