using AX.MessageSystem; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PowerAttributePanel : ResourceLoadPanel { // public Dropdown TeamNameDropdown; public DropdownListData DropdownListData; public InputField TaskInput; public InputField TypeNameInput; public Button ConfirmBtn; public Button CancleBtn; public Button TaskListBtn; public GameObject TaskListobj; public PowerAttribute PowerAttribute; public PlusMinusCtrl PlusMinusCtrl; public RectTransform Content; public GameObject TaskItem; public GameObject powerattributepanel; GameObject selectobj; void Start() { // Typenametext = transform.Find("TruckAttributePanel/ContainPanel/TypeName/TypeNameText"); ConfirmBtn.onClick.AddListener(Confirm); CancleBtn.onClick.AddListener(Cancle); TaskListBtn.onClick.AddListener(TaskList); MessageDispatcher.AddListener("SelectChange", RadioSelect); MessageDispatcher.AddListener("CANCEL_SELECTED_COMMAND", EscCancelSelected); MessageDispatcher.AddListener("DeleteObj", DeleteObj); } private void DeleteObj(IMessage message) { if (!gameObject.activeSelf) return; var obj = message.Data as GameObject; if (obj == selectobj) gameObject.SetActive(false); } private void EscCancelSelected(IMessage obj) { powerattributepanel.SetActive(false); TaskListobj.SetActive(false); WaterFlowAttribute.GetInstance.gameObject.SetActive(false); } private void RadioSelect(IMessage obj) { GameObject select = (GameObject)obj.Data; // if (SelectedObjs.selectedObj != selectobj | !SelectedObjs.selectedCharacters.Contains(selectobj)) // { // powerattributepanel.SetActive(false); // WaterFlowAttribute.Instance.gameObject.SetActive(false); // } if (select != selectobj) { powerattributepanel.SetActive(false); WaterFlowAttribute.GetInstance.gameObject.SetActive(false); } } private void OnDestroy() { MessageDispatcher.RemoveListener("SelectChange", RadioSelect); MessageDispatcher.RemoveListener("DeleteObj", DeleteObj); MessageDispatcher.RemoveListener("CANCEL_SELECTED_COMMAND", EscCancelSelected); } private void TaskList() { TaskListobj.SetActive(!TaskListobj.activeSelf); } //public void BulkEditing() //{ // powerattributepanel.SetActive(true); // TaskListobj.transform.Find("Staff").gameObject.SetActive(true); // DropdownListData.SelectText = ""; // TaskInput.text = ""; // PlusMinusCtrl.Number = 0; //} private void Cancle() { gameObject.SetActive(false); } private void Confirm() { if (string.IsNullOrEmpty(TaskInput.text)) { TaskInput.text = "待命"; } if (string.IsNullOrEmpty(TypeNameInput.text)) { ResourceLoadWindow.Instance.LoadTextHintWindow("类型名不能为空", 2f); return; } PowerAttribute.Number = PlusMinusCtrl.Number; PowerAttribute.Affiliation = DropdownListData.SelectText; PowerAttribute.Task = TaskInput.text; PowerAttribute.TypeName = TypeNameInput.text; // MessageDispatcher.SendMessage("TaskChange", (object)TaskInput.text); if (RecordEvent.IsRecord()) { string json = JsonUtility.ToJson(new PowerAttributeRecordEventData() { GameId = selectobj.GetComponent().GameObjID, Task = PowerAttribute.Task, Affiliation = PowerAttribute.Affiliation, Number = PowerAttribute.Number, TypeName = PowerAttribute.TypeName }); RecordEvent.AddEventData(selectobj.GetComponent().gameObjType, RecordEventType.PowerAttribute, json); } TaskListobj.SetActive(false); powerattributepanel.SetActive(false); } public void SetAttribute(GameObject obj) { gameObject.SetActive(true); powerattributepanel.SetActive(true); selectobj = obj; PowerAttribute = obj.GetComponent(); ShowTaskList(PowerAttribute); DropdownListData.DataBind(TeamNameSetting.GetInstance.GetTeamNameList()); if (!TeamNameSetting.GetInstance.GetTeamNameList().Contains(PowerAttribute.Affiliation)) DropdownListData.AddData(PowerAttribute.Affiliation); DropdownListData.SelectText = PowerAttribute.Affiliation; TaskInput.text = PowerAttribute.Task; PlusMinusCtrl.Number = PowerAttribute.Number; TypeNameInput.text = PowerAttribute.TypeName; //if (obj.GetComponent()) //{ // TruckSkillSPanel.GetInstance.gameObject.SetActive(true); // MessageDispatcher.SendMessage("TruckSkillsPanelDraw", selectobj); //} //else if (obj.GetComponent().gameObjType == CloneObjType.FireMan) //{ // FireManSkillsPanel.GetInstance.gameObject.SetActive(true); // MessageDispatcher.SendMessage("FiremanSkillsPanelDraw", selectobj); //} } void ShowTaskList(PowerAttribute powerattribute) { TaskListobj.SetActive(false); foreach (Transform item in Content) { Destroy(item.gameObject); } if (powerattribute.Tasklist.Length > 0) { for (int i = 0; i < powerattribute.Tasklist.Length; i++) { var item = Instantiate(TaskItem, Content); item.GetComponent().group = Content.GetComponent(); item.transform.Find("TaskName").GetComponent().text = powerattribute.Tasklist[i]; } } else { var item = Instantiate(TaskItem, Content); item.GetComponent().group = Content.GetComponent(); } } private void OnEnable() { } private void OnDisable() { powerattributepanel.SetActive(false); TaskListobj.SetActive(false); WaterFlowAttribute.GetInstance.gameObject.SetActive(false); } private void SetTypenametext() { CloneObjType type = selectobj.GetComponent().gameObjType; if (Convert.ToInt32(type) < 19) { TypeNameInput.text = "消防车"; } else if (type == CloneObjType.Robot) { TypeNameInput.text = "机器人"; } else if (type == CloneObjType.BlizzardCannon) { TypeNameInput.text = "暴风雪炮"; } else if (type == CloneObjType.WaterCannon) { TypeNameInput.text = "移动水泡"; } else if (type == CloneObjType.FireMan) { TypeNameInput.text = "消防员"; } } }