unityzgy/Assets/Scripts/UIScripts/Teacher/SubjectEditorBase.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

85 lines
2.5 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using XFramework;
public class SubjectEditorBase : BasePanel
{
public Dropdown dropdown_Terrain;
public Text subName;
public Image image_Map;
public Button button_Save;
public Button button_finish;
public InputField input_TaskIntr;
public InputField input_FileIntr;
public SubjectEditorBase(string panelName) : base(new UIType(panelName))
{
}
protected override void InitEvent()
{
dropdown_Terrain = ActivePanel.FindChildTrans("Dropdown_terrain").GetComponent<Dropdown>();
subName = ActivePanel.FindChildTrans("Text_subName").GetComponent<Text>();
image_Map = ActivePanel.FindChildTrans("Image_map").GetComponent<Image>();
button_Save = ActivePanel.Find("Button_save").GetComponent<Button>();
button_finish = ActivePanel.Find("Button_finish").GetComponent<Button>();
input_TaskIntr = ActivePanel.Find("InputField_renwujianjie").GetComponent<InputField>();
input_FileIntr = ActivePanel.Find("InputField_renwujianjie (1)").GetComponent<InputField>();
string[] terrainNames = DBManager.Instance.GetABNames(ABType.);
dropdown_Terrain.options.Clear();
for (int i = 0; i < terrainNames.Length; i++)
{
dropdown_Terrain.options.Add(new Dropdown.OptionData(terrainNames[i]));
}
dropdown_Terrain.value = 0;
TerrainChange(0);
dropdown_Terrain.onValueChanged.AddListener(TerrainChange);
button_Save?.onClick.AddListener(SaveFile);
button_finish?.onClick.AddListener(FinishEditor);
}
void ShowTerrainMap(Sprite texture)
{
image_Map.sprite = texture;
image_Map.SetNativeSize();
image_Map.GetComponent<MyDragMap>()?.InitSize();
}
/// <summary>
/// 结束编辑
/// </summary>
protected void FinishEditor()
{
Pop();
}
public void SetSubName(string subNameStr)
{
subName.text = subNameStr;
}
async void TerrainChange(int terrainIndex)
{
Sprite sprite = await OutSpriteLoader.LoadSprite(StreamingAssetsManager.GetPath($"{dropdown_Terrain.options[terrainIndex].text}_Map"));
ShowTerrainMap(sprite);
}
public virtual void SaveFile()
{
}
public override void OnDestroy(bool isDestroy = false)
{
base.OnDestroy(isDestroy);
input_TaskIntr.text = "";
input_FileIntr.text = "";
}
}