| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- 更新视觉配置工作表,添加缺失的trailEffect字段
- """
- import pandas as pd
- import os
- from pathlib import Path
- def update_visual_config_sheet():
- """更新视觉配置工作表,添加trailEffect字段"""
-
- # 获取Excel文件路径
- excel_file = Path(__file__).parent / '方块武器配置' / '方块武器配置表.xlsx'
-
- print(f"正在更新Excel文件: {excel_file}")
-
- try:
- # 读取现有的视觉配置工作表
- visual_config = pd.read_excel(excel_file, sheet_name='视觉配置')
- print(f"当前视觉配置表列名: {list(visual_config.columns)}")
-
- # 检查是否已有trailEffect字段
- if 'trailEffect' not in visual_config.columns and '拖尾特效' not in visual_config.columns:
- # 在开火音效列之前插入trailEffect列
- insert_pos = visual_config.columns.get_loc('开火音效')
-
- # 创建trailEffect数据 - 根据weapons.json中的配置
- trail_effects = {
- 'pea_shooter': None,
- 'sharp_carrot': 'Animation/WeaponTx/tx0001/tx0001',
- 'saw_grass': 'Animation/WeaponTx/tx0001/tx0001',
- 'watermelon_bomb': None,
- 'boomerang_plant': 'Animation/WeaponTx/tx0001/tx0001',
- 'hot_pepper': 'Animation/WeaponTx/tx0001/tx0001',
- 'cactus_shotgun': None,
- 'okra_missile': None,
- 'mace_club': None
- }
-
- # 为每个武器添加trailEffect值
- trail_effect_values = []
- for _, row in visual_config.iterrows():
- weapon_id = row['武器ID']
- trail_effect = trail_effects.get(weapon_id, None)
- trail_effect_values.append(trail_effect)
-
- # 插入新列
- visual_config.insert(insert_pos, '拖尾特效', trail_effect_values)
-
- print(f"添加了拖尾特效列,新的列名: {list(visual_config.columns)}")
-
- # 读取所有现有工作表
- all_sheets = pd.read_excel(excel_file, sheet_name=None)
-
- # 更新视觉配置工作表
- all_sheets['视觉配置'] = visual_config
-
- # 重新写入Excel文件
- with pd.ExcelWriter(excel_file, engine='openpyxl') as writer:
- for sheet_name, sheet_data in all_sheets.items():
- sheet_data.to_excel(writer, sheet_name=sheet_name, index=False)
-
- print("✓ 成功更新视觉配置工作表,添加了拖尾特效字段")
- return True
- else:
- print("视觉配置表已包含拖尾特效字段,无需更新")
- return True
-
- except Exception as e:
- print(f"更新视觉配置表失败: {e}")
- return False
- if __name__ == '__main__':
- success = update_visual_config_sheet()
- if success:
- print("\n视觉配置工作表更新完成!")
- else:
- print("\n视觉配置工作表更新失败!")
|