unityzgy/Assets/Scripts/UIScripts/Teacher/Mono/CarDetailCtrl.cs
ayuan9957 bf12e02276 feat: 多语言本地化系统 - 支持中/英/法/俄实时切换
- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg)
- LoginPanel: InputField placeholder本地化、字体颜色保持
- HistoryPanel: 用时数据本地化、placeholder本地化
- RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建)
- AppraiseWindowBase: 评价等级本地化、操作消息重建
- EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized
- StudentOperateRecorder: 新增InjectOperateMsgLocalized方法
- LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选
- 字体切换时保留颜色和verticalOverflow
2026-07-16 10:05:59 +08:00

69 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
public class CarDetailCtrl : MonoBehaviour
{
public Text carName;
public Button Button_Colse;
public EditorContentCtrl contentCtrl_childEquip;
public EditorContentCtrl contentCtrl_person;
bool init = false;
CarIconInstanceCtrl currentCar;//当前操作的车辆
// Start is called before the first frame update
void Start()
{
//Hide();
}
//隐藏窗口
/// <summary>
/// 初始化窗口事件和组件 并隐藏窗口
/// </summary>
public void Hide()
{
InitEvent();
this.gameObject.SetActive(false);
}
void InitEvent()
{
if (init) return;
EventCenter.Instance.AddEventListener<CarIconInstanceCtrl>("CarDetailEditor", ActiveCarDetail);
EventCenter.Instance.AddEventListener<string, int>("UpdateOnboardCount", UpdateOnboardGO);//更新当前选中车辆的子物体数量
Button_Colse.onClick.AddListener(CloseButtonClick);
init = true;
}
void ActiveCarDetail(CarIconInstanceCtrl carInstance)
{
currentCar = carInstance;
this.gameObject.SetActive(true);
carName.text = carInstance.text_IconName.text;
string [] ceNames = carInstance.chidlEquipNames.Keys.ToArray<string>();
contentCtrl_childEquip.CreatChildren(ceNames);
contentCtrl_childEquip.SetInitMsg(carInstance.chidlEquipNames);
string[] pNames = carInstance.personNames.Keys.ToArray<string>();
contentCtrl_person.CreatChildren(pNames);
contentCtrl_person.SetInitMsg(carInstance.personNames);
}
void UpdateOnboardGO(string nameStr,int changeValue)
{
currentCar.UpdateOnboardGO(nameStr, changeValue);
}
void CloseButtonClick()
{
this.gameObject.SetActive(false);
contentCtrl_childEquip.RemoveAll();
contentCtrl_person.RemoveAll();
}
}