- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg) - LoginPanel: InputField placeholder本地化、字体颜色保持 - HistoryPanel: 用时数据本地化、placeholder本地化 - RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建) - AppraiseWindowBase: 评价等级本地化、操作消息重建 - EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized - StudentOperateRecorder: 新增InjectOperateMsgLocalized方法 - LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选 - 字体切换时保留颜色和verticalOverflow
123 lines
3.5 KiB
C#
123 lines
3.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using XFramework;
|
|
|
|
public class OnlineStudentPrefabCtrl : MonoBehaviour,IGroutIcon
|
|
{
|
|
Text text_IP;
|
|
Text text_State;
|
|
Text text_Name;
|
|
Text text_Stage;//
|
|
Image image_State;
|
|
Toggle toggle_Select;
|
|
OnlineStudent studentMsg;
|
|
IGroutIcon GroupCtrl;//编队标志控制器
|
|
|
|
public Color[] color_State; //与枚举类顺序保持一致
|
|
|
|
public int GroupNumber
|
|
{
|
|
get { return studentMsg.groupNumber; }
|
|
set
|
|
{
|
|
studentMsg.groupNumber = value;
|
|
GroupCtrl.GroupNumber = value;
|
|
}
|
|
}
|
|
public bool IsMaster
|
|
{
|
|
get
|
|
{
|
|
return studentMsg.isMaster;
|
|
}
|
|
set
|
|
{
|
|
studentMsg.isMaster = value;
|
|
GroupCtrl.IsMaster = value;
|
|
}
|
|
}
|
|
|
|
// Start is called before the first frame update
|
|
void Awake()
|
|
{
|
|
InitComponent();
|
|
}
|
|
|
|
void InitComponent()
|
|
{
|
|
text_IP = this.transform.Find("Text_ip").GetComponent<Text>();
|
|
text_State = this.transform.Find("Text_state").GetComponent<Text>();
|
|
text_Name = this.transform.FindChildTrans("Text_name").GetComponent<Text>();
|
|
text_Stage = this.transform.Find("Text_stage").GetComponent<Text>();
|
|
|
|
image_State = this.transform.Find("Image_state").GetComponent<Image>();
|
|
toggle_Select = this.GetComponent<Toggle>();
|
|
toggle_Select.onValueChanged.AddListener(OnToggleChange);
|
|
GroupCtrl = new GroupIconCtrl(this.transform.Find("Image_Group"));
|
|
}
|
|
|
|
//初始化学员登录状态图标
|
|
public void SetMsg(OnlineStudent student)
|
|
{
|
|
studentMsg = student;
|
|
image_State.color = color_State[(int)student.state];
|
|
text_State.text = LocalizationManager.Get(((LearnStateText)student.state).ToString());
|
|
text_IP.text =$"[{student.ip}]" ;
|
|
text_Name.text = $"{student.user}";
|
|
text_Stage.text = "";
|
|
GroupNumber = student.groupNumber;
|
|
}
|
|
|
|
//学员选中状态发生变化
|
|
void OnToggleChange(bool ison)
|
|
{
|
|
EventCenter.Instance.EventTrigger<OnlineStudent, bool>("StudentSelectToggle", studentMsg, ison);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 改变学习状态
|
|
/// </summary>
|
|
/// <param name="currentSubject"></param>
|
|
/// <param name="state"> 学习状态</param>
|
|
public void ChangeState(string currentSubject, LearnState state)
|
|
{
|
|
studentMsg.subName = currentSubject;
|
|
image_State.color = color_State[(int)state];
|
|
LocalizationManager.SetFormatted(text_State, "{0}{1}", LocalizationManager.DisplayName(currentSubject), LocalizationManager.Get(((LearnStateText)state).ToString()));
|
|
studentMsg.state = state;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 改变该学员所处的科目阶段
|
|
/// </summary>
|
|
/// <param name="stage"> 行军阶段显示行军中 其他阶段不显示 </param>
|
|
public void ChangeStage(NetSubStage stage)
|
|
{
|
|
|
|
switch (stage)
|
|
{
|
|
case NetSubStage.其他阶段:
|
|
text_Stage.text = "";
|
|
break;
|
|
case NetSubStage.行军阶段:
|
|
text_Stage.text = LocalizationManager.Get("(行军中)");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
studentMsg.subStage = stage;
|
|
}
|
|
|
|
public OnlineStudent GetStudentMsg()
|
|
{
|
|
return studentMsg;
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
toggle_Select.isOn = false;
|
|
}
|
|
}
|