update_visual_config.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. 更新视觉配置工作表,添加缺失的trailEffect字段
  5. """
  6. import pandas as pd
  7. import os
  8. from pathlib import Path
  9. def update_visual_config_sheet():
  10. """更新视觉配置工作表,添加trailEffect字段"""
  11. # 获取Excel文件路径
  12. excel_file = Path(__file__).parent / '方块武器配置' / '方块武器配置表.xlsx'
  13. print(f"正在更新Excel文件: {excel_file}")
  14. try:
  15. # 读取现有的视觉配置工作表
  16. visual_config = pd.read_excel(excel_file, sheet_name='视觉配置')
  17. print(f"当前视觉配置表列名: {list(visual_config.columns)}")
  18. # 检查是否已有trailEffect字段
  19. if 'trailEffect' not in visual_config.columns and '拖尾特效' not in visual_config.columns:
  20. # 在开火音效列之前插入trailEffect列
  21. insert_pos = visual_config.columns.get_loc('开火音效')
  22. # 创建trailEffect数据 - 根据weapons.json中的配置
  23. trail_effects = {
  24. 'pea_shooter': None,
  25. 'sharp_carrot': 'Animation/WeaponTx/tx0001/tx0001',
  26. 'saw_grass': 'Animation/WeaponTx/tx0001/tx0001',
  27. 'watermelon_bomb': None,
  28. 'boomerang_plant': 'Animation/WeaponTx/tx0001/tx0001',
  29. 'hot_pepper': 'Animation/WeaponTx/tx0001/tx0001',
  30. 'cactus_shotgun': None,
  31. 'okra_missile': None,
  32. 'mace_club': None
  33. }
  34. # 为每个武器添加trailEffect值
  35. trail_effect_values = []
  36. for _, row in visual_config.iterrows():
  37. weapon_id = row['武器ID']
  38. trail_effect = trail_effects.get(weapon_id, None)
  39. trail_effect_values.append(trail_effect)
  40. # 插入新列
  41. visual_config.insert(insert_pos, '拖尾特效', trail_effect_values)
  42. print(f"添加了拖尾特效列,新的列名: {list(visual_config.columns)}")
  43. # 读取所有现有工作表
  44. all_sheets = pd.read_excel(excel_file, sheet_name=None)
  45. # 更新视觉配置工作表
  46. all_sheets['视觉配置'] = visual_config
  47. # 重新写入Excel文件
  48. with pd.ExcelWriter(excel_file, engine='openpyxl') as writer:
  49. for sheet_name, sheet_data in all_sheets.items():
  50. sheet_data.to_excel(writer, sheet_name=sheet_name, index=False)
  51. print("✓ 成功更新视觉配置工作表,添加了拖尾特效字段")
  52. return True
  53. else:
  54. print("视觉配置表已包含拖尾特效字段,无需更新")
  55. return True
  56. except Exception as e:
  57. print(f"更新视觉配置表失败: {e}")
  58. return False
  59. if __name__ == '__main__':
  60. success = update_visual_config_sheet()
  61. if success:
  62. print("\n视觉配置工作表更新完成!")
  63. else:
  64. print("\n视觉配置工作表更新失败!")