You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
268 lines
11 KiB
268 lines
11 KiB
using UnityEngine; |
|
using System.Collections; |
|
using UnityEngine.UI; |
|
using AX.MessageSystem; |
|
using System; |
|
using System.Collections.Generic; |
|
using AX.TrackRecord; |
|
/// <summary> |
|
/// 1、编辑中队名称,响应实例化物体时对物体的头顶名的修改 |
|
/// 2、挂载在Canvas下TeamNameWin |
|
/// 3、核心方法:CloseEditForceWin(),ShowtheTeam() |
|
/// |
|
/// </summary> |
|
public class EditForceName : MonoBehaviour { |
|
public static EditForceName Instance; |
|
[HideInInspector] |
|
public InputField Forceinput; |
|
private GameObject ForceContent; |
|
[HideInInspector] |
|
public string JudgeName; |
|
public string Editname = ""; |
|
private GameObject ThePowerUI; |
|
private GameObject PingBiUI; |
|
private Button ChongZhiButton; |
|
public List<String> listName = new List<string>(); |
|
void Awake() |
|
{ |
|
|
|
if (this.gameObject.name.Equals("PowerTeamNameWin") && |
|
ExamInfoHelpClass.applicationMode == ExamInfoHelpClass.ApplicationMode.PATHFINDING && |
|
(ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CopyQuestion || |
|
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CreatQuestion || |
|
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.EditQuestion |
|
|| ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckQuestion)) |
|
{ |
|
if (Instance == null) |
|
{ |
|
Instance = this; |
|
} |
|
} |
|
else if (this.gameObject.name.Equals("TeamNameWin")) |
|
{ |
|
if (Instance == null) |
|
{ |
|
Instance = this; |
|
} |
|
} |
|
|
|
MessageDispatcher.AddListener("ShowtheTeam", ShowtheTeam); |
|
transform.Find("OKButton").GetComponent<Button>().onClick.AddListener(ChangeTeamName); |
|
transform.Find("ChangeButton").GetComponent<Button>().onClick.AddListener(CloseEditForceWin); |
|
Forceinput = transform.Find("InputField").GetComponent<InputField>(); |
|
ForceContent = transform.Find("Scroll View").Find("Viewport").Find("ForceContent").gameObject; |
|
MessageDispatcher.AddListener("ResetTheScene", ResettingInformation); |
|
transform.Find("CloseButton").GetComponent<Button>().onClick.AddListener(CloseEditWin); |
|
if (ExamInfoHelpClass.applicationMode == ExamInfoHelpClass.ApplicationMode.PATHFINDING && this.gameObject.name.Equals("PowerTeamNameWin")) |
|
{ |
|
transform.Find("ModeSelect/AllPower").GetComponent<Toggle>().onValueChanged.AddListener(AllPower); |
|
transform.Find("ModeSelect/PartPower").GetComponent<Toggle>().onValueChanged.AddListener(PartPower); |
|
PingBiUI = transform.Find("ModePingBi").gameObject; |
|
ChongZhiButton = transform.Find("ChongZhiButton").GetComponent<Button>(); |
|
ThePowerUI = GameObject.Find("Canvas").transform.Find("PowerAttributeUI").gameObject; |
|
transform.Find("ChongZhiButton").GetComponent<Button>().onClick.AddListener(ChongZhiBtn); |
|
} |
|
} |
|
void Start() { |
|
|
|
} |
|
public void ShowtheTeam(IMessage message) |
|
{ |
|
if (this.gameObject.name.Equals("PowerTeamNameWin")) |
|
{ |
|
for (int i = 0; i < SetPowerScript.Instance.TeamList.Count; i++) |
|
{ |
|
GameObject checkBox = Instantiate(Resources.Load<GameObject>("Prefabs/TaskList/TeamNameList")) as GameObject; |
|
checkBox.transform.SetParent(ForceContent.transform); |
|
checkBox.transform.localScale = Vector3.one; |
|
checkBox.name = "item"; |
|
checkBox.transform.Find("Label").GetComponent<Text>().text = SetPowerScript.Instance.TeamList[i].TeamName; |
|
Editname = checkBox.transform.Find("Label").GetComponent<Text>().text; |
|
listName.Add(Editname); |
|
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckQuestion) |
|
{ |
|
checkBox.transform.Find("delect").GetComponent<Button>().enabled=false; |
|
} |
|
} |
|
|
|
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckQuestion) |
|
{ |
|
transform.Find("ChangeButton").GetComponent<Button>().interactable = false; |
|
ChongZhiButton.interactable = false; |
|
//PingBiUI.SetActive(true); |
|
Forceinput.enabled = false; |
|
GameObject.Find("Canvas").transform.Find("PowerAttributeUI").Find("PingBi").gameObject.SetActive(true); |
|
transform.Find("ModeSelect/AllPower").GetComponent<Toggle>().interactable = false; |
|
transform.Find("ModeSelect/PartPower").GetComponent<Toggle>().interactable = false; |
|
} |
|
} |
|
|
|
} |
|
public void AllPower(bool check) |
|
{ |
|
transform.Find("ChangeButton").GetComponent<Button>().interactable=false; |
|
ChongZhiButton.interactable = false; |
|
PingBiUI.SetActive(true); |
|
Forceinput.enabled = false; |
|
SetPowerScript.Instance.modeType = ModeType.AllPower; |
|
} |
|
public void PartPower(bool check) |
|
{ |
|
transform.Find("ChangeButton").GetComponent<Button>().interactable = true; |
|
ChongZhiButton.interactable = true; |
|
PingBiUI.SetActive(false); |
|
Forceinput.enabled = true; |
|
SetPowerScript.Instance.modeType = ModeType.PartPower; |
|
} |
|
public void ChongZhiBtn() |
|
{ |
|
Forceinput.text = ""; |
|
JudgeName = ""; |
|
foreach (Transform child in ForceContent.transform) |
|
{ |
|
Destroy(child.gameObject); |
|
} |
|
listName.Clear(); |
|
ThePowerUI.gameObject.SetActive(false); |
|
SetPowerScript.Instance.TeamList.Clear(); |
|
} |
|
public void ShowEditForceWin() |
|
{ |
|
string PowerTeamNameWin = "PowerTeamNameWin"; |
|
string TeamNameWin = "TeamNameWin"; |
|
if (ExamInfoHelpClass.applicationMode == ExamInfoHelpClass.ApplicationMode.PATHFINDING && (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CopyQuestion || |
|
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CreatQuestion || |
|
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.EditQuestion |
|
|| ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckQuestion)) |
|
{ |
|
MessageDispatcher.SendMessage("OPEN", (object)PowerTeamNameWin, "CUBE"); |
|
|
|
} |
|
else |
|
{ |
|
MessageDispatcher.SendMessage("OPEN", (object)TeamNameWin, "CUBE"); |
|
} |
|
|
|
} |
|
public void CloseEditWin() |
|
{ |
|
string PowerTeamNameWin = "PowerTeamNameWin"; |
|
string TeamNameWin = "TeamNameWin"; |
|
if (ExamInfoHelpClass.applicationMode == ExamInfoHelpClass.ApplicationMode.PATHFINDING && (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CopyQuestion || |
|
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CreatQuestion || |
|
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.EditQuestion)) |
|
{ |
|
MessageDispatcher.SendMessage("CLOSE", (object)PowerTeamNameWin, "CUBE"); |
|
|
|
} |
|
else |
|
{ |
|
MessageDispatcher.SendMessage("CLOSE", (object)TeamNameWin, "CUBE"); |
|
} |
|
|
|
Forceinput.text = ""; |
|
} |
|
/// <summary> |
|
/// 判断输入框相对应方式 |
|
/// </summary> |
|
public void CloseEditForceWin() |
|
{ |
|
List<GameObject> list = new List<GameObject>(); |
|
if (Forceinput.text.Equals("已经有此名字") || Forceinput.text.Equals("名字不能为空")) |
|
return; |
|
if (Forceinput.text.Contains("-")) |
|
{ |
|
Forceinput.text = "名字不能有"+":-"; |
|
return; |
|
} |
|
if (Forceinput.text == ""||Forceinput.text==null ) |
|
{ |
|
Forceinput.text = "名字不能为空"; |
|
return; |
|
} |
|
foreach (Transform child in ForceContent.transform) |
|
{ |
|
if (Forceinput.text.Equals(child.transform.Find("Label").GetComponent<Text>().text)) |
|
{ |
|
Forceinput.text = "已经有此名字"; |
|
return; |
|
} |
|
} |
|
|
|
foreach (Transform child in ForceContent.transform) |
|
{ |
|
list.Add(child.gameObject); |
|
} |
|
GameObject checkBox = Instantiate(Resources.Load<GameObject>("Prefabs/TaskList/TeamNameList")) as GameObject; |
|
checkBox.transform.SetParent(ForceContent.transform); |
|
checkBox.transform.localScale = Vector3.one; |
|
checkBox.name = "item"; |
|
checkBox.transform.Find("Label").GetComponent<Text>().text = Forceinput.text; |
|
Editname = checkBox.transform.Find("Label").GetComponent<Text>().text; |
|
listName.Add(Editname); |
|
|
|
//寻路模式下 |
|
if (ExamInfoHelpClass.applicationMode == ExamInfoHelpClass.ApplicationMode.PATHFINDING&& |
|
( ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CreatQuestion || |
|
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.EditQuestion) |
|
) |
|
{ |
|
TeamAttri team = new TeamAttri(); |
|
team.TeamName = Editname; |
|
SetPowerScript.Instance.TeamList.Add(team); |
|
} |
|
if (list.Count != 0) |
|
{ |
|
GameObject game = list[0] as GameObject; |
|
checkBox.transform.SetSiblingIndex(game.transform.GetSiblingIndex()); |
|
} |
|
|
|
} |
|
/// <summary> |
|
/// 提交修改信息 |
|
/// </summary> |
|
public void ChangeTeamName() |
|
{ |
|
//选中单选框后才能进行消防车和消防员头顶名进行修改 |
|
foreach (Transform child in ForceContent.transform) |
|
{ |
|
if (child.GetComponent<Toggle>().isOn==true) |
|
{ |
|
JudgeName = child.GetComponent<TeamNameToggle>().EditName; |
|
|
|
InstantiationCar.Instance.isboolCar = true; |
|
InstantiationStaff.Instance.isboolStaff = true; |
|
} |
|
if (JudgeName != ""&& child.GetComponent<Toggle>().isOn == true) |
|
{ |
|
MessageDispatcher.SendMessage("TeamSelect", (object)JudgeName); |
|
|
|
} |
|
} |
|
MessageDispatcher.SendMessage("CLOSE", (object)this.name, "CUBE"); |
|
MessageDispatcher.SendMessage("IntercalateButton", (object)this.name); |
|
|
|
|
|
} |
|
/// <summary> |
|
/// 重置中队名称信息 |
|
/// </summary> |
|
/// <param name="message"></param> |
|
void ResettingInformation(IMessage message) |
|
{ |
|
Forceinput.text = ""; |
|
JudgeName = ""; |
|
foreach (Transform child in ForceContent.transform) |
|
{ |
|
Destroy(child.gameObject); |
|
} |
|
listName.Clear(); |
|
|
|
} |
|
void OnDestroy() |
|
{ |
|
MessageDispatcher.RemoveListener("ResetTheScene", ResettingInformation); |
|
MessageDispatcher.RemoveListener("ShowtheTeam", ShowtheTeam); |
|
} |
|
|
|
}
|
|
|