应急人员配置数据串联
This commit is contained in:
parent
441a9a200c
commit
5db2740f34
@ -143,6 +143,8 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
schoolId: 0
|
schoolId: 0
|
||||||
schoolName: {fileID: 8240735975125479954}
|
schoolName: {fileID: 8240735975125479954}
|
||||||
|
maskImage: {fileID: 0}
|
||||||
|
isOpen: 0
|
||||||
--- !u!1 &8240735974858230823
|
--- !u!1 &8240735974858230823
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -312,7 +314,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &8240735975124526756
|
--- !u!224 &8240735975124526756
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"ID": 2001,
|
"ID": "2001",
|
||||||
"Note": "厨房起火",
|
"Note": "厨房起火",
|
||||||
"Name": 2001,
|
"Name": "2001",
|
||||||
"Scene": "9003",
|
"Scene": "9003",
|
||||||
"Position": "36,1,2",
|
"Position": "36,1,2",
|
||||||
"Volume": "-1",
|
"Volume": "-1",
|
||||||
@ -12,9 +12,9 @@
|
|||||||
"GeneralRole": "8000,8001,8002,8003,8004,8005,8006,8008,8009,8010"
|
"GeneralRole": "8000,8001,8002,8003,8004,8005,8006,8008,8009,8010"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ID": 2002,
|
"ID": "2002",
|
||||||
"Note": "学生宿舍起火",
|
"Note": "学生宿舍起火",
|
||||||
"Name": 2002,
|
"Name": "2002",
|
||||||
"Scene": "9002",
|
"Scene": "9002",
|
||||||
"Position": "0,0,0",
|
"Position": "0,0,0",
|
||||||
"Volume": "-1",
|
"Volume": "-1",
|
||||||
@ -22,5 +22,29 @@
|
|||||||
"SpecialEvent": "-1,-1,-1,-1|1,50,10,20|1,50,20,20",
|
"SpecialEvent": "-1,-1,-1,-1|1,50,10,20|1,50,20,20",
|
||||||
"Role": "8000,8001,8002,8003,8004,8005,8007,8011|8000,8001,8002,8003,8004,8005,8007,8011|8000,8001,8002,8003,8004,8005,8007,8011",
|
"Role": "8000,8001,8002,8003,8004,8005,8007,8011|8000,8001,8002,8003,8004,8005,8007,8011|8000,8001,8002,8003,8004,8005,8007,8011",
|
||||||
"GeneralRole": "8000,8001,8002,8003,8004,8005,8007,8010,8011"
|
"GeneralRole": "8000,8001,8002,8003,8004,8005,8007,8010,8011"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ID": "2003",
|
||||||
|
"Note": "test1",
|
||||||
|
"Name": "2003",
|
||||||
|
"Scene": "9003",
|
||||||
|
"Position": "1,1,1",
|
||||||
|
"Volume": "-1",
|
||||||
|
"Difficulty": "2|3",
|
||||||
|
"SpecialEvent": "-1,-1,-1,-1|1,50,10,20",
|
||||||
|
"Role": "8001,8002,8003,8004,8005|8001,8002,8003,8004,8005",
|
||||||
|
"GeneralRole": "8010"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ID": "2004",
|
||||||
|
"Note": "test2",
|
||||||
|
"Name": "2004",
|
||||||
|
"Scene": "9003",
|
||||||
|
"Position": "2,2,2",
|
||||||
|
"Volume": "-1",
|
||||||
|
"Difficulty": "1|5|6",
|
||||||
|
"SpecialEvent": "-1,-1,-1,-1|1,50,10,20|1,50,20,20",
|
||||||
|
"Role": "8000,8001,8002,8003,8004,8005,8006,8008,8009|8000,8001,8002,8003,8004,8005,8006,8008,8009|8000,8001,8002,8003,8004,8005,8006,8008,8009,8010",
|
||||||
|
"GeneralRole": "8010"
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -4,13 +4,13 @@
|
|||||||
"Note": "火灾",
|
"Note": "火灾",
|
||||||
"Name": "5001",
|
"Name": "5001",
|
||||||
"Role": "8000|8001|8002|8003|8004|8005|8006|8008|8009|8010",
|
"Role": "8000|8001|8002|8003|8004|8005|8006|8008|8009|8010",
|
||||||
"DisasterLocation": "2001"
|
"DisasterLocation": "2001|2002|2003"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ID": "5002",
|
"ID": "5002",
|
||||||
"Note": "塌方",
|
"Note": "塌方",
|
||||||
"Name": "5002",
|
"Name": "5002",
|
||||||
"Role": "8000|8001|8002|8003|8004|8005|8006|8008|8009|8010",
|
"Role": "8000|8001|8002|8003|8004|8005|8006|8008|8009|8010",
|
||||||
"DisasterLocation": "2004|2002"
|
"DisasterLocation": "2004"
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -2133,7 +2133,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &618256459
|
--- !u!224 &618256459
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -8210,6 +8210,7 @@ MonoBehaviour:
|
|||||||
incidentSiteJosnFile: {fileID: 4900000, guid: 1efa4372b10d4294199638c49173ff4c, type: 3}
|
incidentSiteJosnFile: {fileID: 4900000, guid: 1efa4372b10d4294199638c49173ff4c, type: 3}
|
||||||
NPCJosnFile: {fileID: 4900000, guid: 41009f009f0718647a782c7e1aec97dd, type: 3}
|
NPCJosnFile: {fileID: 4900000, guid: 41009f009f0718647a782c7e1aec97dd, type: 3}
|
||||||
LanguageJsonFile: {fileID: 4900000, guid: 62a41129c4663ee41a06274114d28feb, type: 3}
|
LanguageJsonFile: {fileID: 4900000, guid: 62a41129c4663ee41a06274114d28feb, type: 3}
|
||||||
|
SelectJsonFile: {fileID: 4900000, guid: 3efd15f4195557144a45659d2baa1ba3, type: 3}
|
||||||
--- !u!4 &1417128758
|
--- !u!4 &1417128758
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -14630,9 +14631,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 7468736063934366934}
|
m_Father: {fileID: 7468736063934366934}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 334.1322, y: -55}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 187, y: 110}
|
m_SizeDelta: {x: 187, y: 110}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &7468736064122132329
|
--- !u!1 &7468736064122132329
|
||||||
@ -14913,9 +14914,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 7468736063934366934}
|
m_Father: {fileID: 7468736063934366934}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 753.3966, y: -55}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 187, y: 110}
|
m_SizeDelta: {x: 187, y: 110}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &7468736064198941274
|
--- !u!1 &7468736064198941274
|
||||||
@ -15673,7 +15674,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 3.3229}
|
m_AnchoredPosition: {x: 0, y: 3.3229}
|
||||||
m_SizeDelta: {x: 1834, y: 1070}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &7468736064579811972
|
--- !u!1 &7468736064579811972
|
||||||
GameObject:
|
GameObject:
|
||||||
@ -15695,7 +15696,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 0
|
m_IsActive: 1
|
||||||
--- !u!114 &7468736064579811982
|
--- !u!114 &7468736064579811982
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -16153,9 +16154,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 7468736063934366934}
|
m_Father: {fileID: 7468736063934366934}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 543.7644, y: -55}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 187, y: 110}
|
m_SizeDelta: {x: 187, y: 110}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &7468736064659112359
|
--- !u!1 &7468736064659112359
|
||||||
@ -16359,9 +16360,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 7468736064579811971}
|
m_Father: {fileID: 7468736064579811971}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 917, y: -53.335}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 1834, y: 106.67}
|
m_SizeDelta: {x: 1834, y: 106.67}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &7468736064728012045
|
--- !u!1 &7468736064728012045
|
||||||
@ -16521,9 +16522,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 7468736063934366934}
|
m_Father: {fileID: 7468736063934366934}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 124.5, y: -55}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 187, y: 110}
|
m_SizeDelta: {x: 187, y: 110}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &7468736064820222392
|
--- !u!1 &7468736064820222392
|
||||||
@ -16934,9 +16935,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 7468736064579811971}
|
m_Father: {fileID: 7468736064579811971}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 4
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 917, y: -588.33496}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 1834, y: 498.685}
|
m_SizeDelta: {x: 1834, y: 498.685}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &7468736064937661071
|
--- !u!1 &7468736064937661071
|
||||||
|
@ -42,9 +42,9 @@ public class JSONReader : MonoBehaviour
|
|||||||
|
|
||||||
|
|
||||||
GetLanguageByID(20008);
|
GetLanguageByID(20008);
|
||||||
foreach (var npc in sceneDictionary)
|
foreach (var npc in npcDictionary)
|
||||||
{
|
{
|
||||||
// Debug.Log(npc.Value.ID);
|
//Debug.Log(npc.Value.ID);
|
||||||
//Debug.Log(npc.Value.Name);
|
//Debug.Log(npc.Value.Name);
|
||||||
}
|
}
|
||||||
GetNpcDataByID(8001);
|
GetNpcDataByID(8001);
|
||||||
@ -271,6 +271,16 @@ public class JSONReader : MonoBehaviour
|
|||||||
else return null;
|
else return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public NPCData GetRoleDateById(int id)
|
||||||
|
{
|
||||||
|
NPCData info = null;
|
||||||
|
if (npcDictionary.TryGetValue(id, out info))
|
||||||
|
{
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
//设置UI文本的方法
|
//设置UI文本的方法
|
||||||
public void SetUIText(Text text, int id)
|
public void SetUIText(Text text, int id)
|
||||||
{
|
{
|
||||||
@ -356,7 +366,7 @@ public class MatialData
|
|||||||
public class SceneData
|
public class SceneData
|
||||||
{
|
{
|
||||||
public int ID;
|
public int ID;
|
||||||
public int Name;
|
public string Name;
|
||||||
public int Type;
|
public int Type;
|
||||||
public string IncidentType;
|
public string IncidentType;
|
||||||
public string ObjList;
|
public string ObjList;
|
||||||
@ -374,6 +384,8 @@ public class IncidentSite
|
|||||||
public int Volume;
|
public int Volume;
|
||||||
public string Difficulty;
|
public string Difficulty;
|
||||||
public string SpecialEvent;
|
public string SpecialEvent;
|
||||||
|
public string Role;
|
||||||
|
public string GeneralRole;
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
|
@ -4,6 +4,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Threading;
|
||||||
using Unity.VisualScripting;
|
using Unity.VisualScripting;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Events;
|
using UnityEngine.Events;
|
||||||
@ -91,13 +92,8 @@ public class Panel : MonoBehaviour
|
|||||||
{
|
{
|
||||||
selectedInfo = new SelectedInfo();
|
selectedInfo = new SelectedInfo();
|
||||||
DynamicLoadingPeople();
|
DynamicLoadingPeople();
|
||||||
DynamicLoadingDuty();
|
|
||||||
DynamicLoadingScene();
|
DynamicLoadingScene();
|
||||||
for (int i = 1; i < panelToggle.Length; i++)
|
InstantiateToggle();
|
||||||
{
|
|
||||||
panelToggle[i].interactable = false;
|
|
||||||
panelToggle[i].gameObject.transform.GetComponent<Image>().sprite = toggleImage[0];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
@ -124,36 +120,48 @@ public class Panel : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
//动态加载职责
|
//动态加载职责
|
||||||
public void DynamicLoadingDuty()
|
public void DynamicLoadingDuty(int id)
|
||||||
{
|
{
|
||||||
foreach (var npcData in jsonReader1.npcDictionary)
|
if (selectScenePanel.difficultyToRoles.ContainsKey(id))
|
||||||
{
|
{
|
||||||
string[] nameSections = npcData.Value.Name.Split('|');
|
List<string> rolesForSelectedDifficulty = selectScenePanel.difficultyToRoles[id];
|
||||||
foreach (var section in nameSections)
|
|
||||||
{
|
|
||||||
string[] sectionParts = section.Split(',');
|
|
||||||
|
|
||||||
//判断事件然后确定有哪些职责
|
// 遍历角色并做相关处理
|
||||||
if (int.Parse(sectionParts[0]) == 2001)
|
foreach (var role in rolesForSelectedDifficulty)
|
||||||
{
|
{
|
||||||
int key = int.Parse(sectionParts[1]);
|
int roleId = int.Parse(role);
|
||||||
if (jsonReader1.npcDictionary.ContainsKey(key))
|
NPCData npcData = jsonReader1.GetRoleDateById(roleId);
|
||||||
|
if (jsonReader1.npcDictionary.ContainsKey(roleId))
|
||||||
{
|
{
|
||||||
var npcInfo = jsonReader1.npcDictionary[key];
|
var npcInfo = jsonReader1.npcDictionary[roleId];
|
||||||
// 创建DutyItem实例
|
// 创建DutyItem实例
|
||||||
GameObject item = GameObject.Instantiate(dutyPrefab, dutyCount);
|
GameObject item = GameObject.Instantiate(dutyPrefab, dutyCount);
|
||||||
DutyItem dutyItem = item.GetComponent<DutyItem>();
|
DutyItem dutyItem = item.GetComponent<DutyItem>();
|
||||||
Button dutuybutton = item.transform.Find("TextBtn").GetComponent<Button>();
|
Button dutuybutton = item.transform.Find("TextBtn").GetComponent<Button>();
|
||||||
dutuybutton.onClick.AddListener(() => OnDutyItemClicked(item, Color.red, selectedDuty));
|
dutuybutton.onClick.AddListener(() =>
|
||||||
dutyItem.dutyNameText.text = npcData.Value.Note;
|
{
|
||||||
dutyItem.leader = npcData.Value.GroupLeader;
|
OnDutyItemClicked(item, Color.red, selectedDuty);
|
||||||
dutyItem.dutyId = npcData.Value.ID;
|
if(dutyItem.dutyNameText.text=="主持人")
|
||||||
|
{
|
||||||
|
peopleList.Clear();
|
||||||
|
foreach (Transform child in sceneCount)
|
||||||
|
{
|
||||||
|
Destroy(child.gameObject);
|
||||||
|
}
|
||||||
|
Debug.Log("无需指定位置");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetScene(dutyItem.dutyId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dutyItem.dutyNameText.text = npcData.Note;
|
||||||
|
dutyItem.leader = npcData.GroupLeader;
|
||||||
|
dutyItem.dutyId = npcData.ID;
|
||||||
peopleList.Add(item);
|
peopleList.Add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//动态加载场景
|
//动态加载场景
|
||||||
@ -163,7 +171,7 @@ public class Panel : MonoBehaviour
|
|||||||
{
|
{
|
||||||
// 解析角色限制字段
|
// 解析角色限制字段
|
||||||
string roleLimit = npcData.Value.RoleLimit;
|
string roleLimit = npcData.Value.RoleLimit;
|
||||||
|
int sceneLimit = npcData.Value.Scene;
|
||||||
if (!string.IsNullOrEmpty(roleLimit))
|
if (!string.IsNullOrEmpty(roleLimit))
|
||||||
{
|
{
|
||||||
// 先按“|”分隔
|
// 先按“|”分隔
|
||||||
@ -183,12 +191,13 @@ public class Panel : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if(selectScenePanel.scnenId== sceneLimit)
|
||||||
{
|
{
|
||||||
GameObject item = GameObject.Instantiate<GameObject>(scenePrefab, sceneCount);
|
GameObject item = GameObject.Instantiate<GameObject>(scenePrefab, sceneCount);
|
||||||
SceneItem sceneItem = item.GetComponent<SceneItem>();
|
SceneItem sceneItem = item.GetComponent<SceneItem>();
|
||||||
Button scenebutton = item.transform.Find("TextBtn").GetComponent<Button>();
|
Button scenebutton = item.transform.Find("TextBtn").GetComponent<Button>();
|
||||||
scenebutton.onClick.AddListener(() => OnSceneItemClicked(item, Color.green, selectedScene));
|
scenebutton.onClick.AddListener(() => OnSceneItemClicked(item, Color.green, selectedScene));
|
||||||
|
|
||||||
// 设置limitNum
|
// 设置limitNum
|
||||||
sceneItem.dutyId = int.Parse(roleLimits[1]);
|
sceneItem.dutyId = int.Parse(roleLimits[1]);
|
||||||
sceneItem.limitNum = int.Parse(roleLimits[2]);
|
sceneItem.limitNum = int.Parse(roleLimits[2]);
|
||||||
@ -197,6 +206,7 @@ public class Panel : MonoBehaviour
|
|||||||
peopleList.Add(item);
|
peopleList.Add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// 如果不满足实例化条件,跳过当前NPC的实例化
|
// 如果不满足实例化条件,跳过当前NPC的实例化
|
||||||
if (!shouldInstantiate)
|
if (!shouldInstantiate)
|
||||||
{
|
{
|
||||||
@ -226,6 +236,57 @@ public class Panel : MonoBehaviour
|
|||||||
ManagerPanel.gameObject.SetActive(true);
|
ManagerPanel.gameObject.SetActive(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//根据选择的职责加载出对应场景
|
||||||
|
public void SetScene(int id)
|
||||||
|
{
|
||||||
|
peopleList.Clear();
|
||||||
|
foreach(Transform child in sceneCount)
|
||||||
|
{
|
||||||
|
Destroy(child.gameObject);
|
||||||
|
}
|
||||||
|
// 遍历所有的 NPC 数据
|
||||||
|
foreach (var npcData in jsonReader1.locationDictionary)
|
||||||
|
{
|
||||||
|
// 判断是否属于当前选择的场景
|
||||||
|
if (npcData.Value.Scene == selectScenePanel.scnenId)
|
||||||
|
{
|
||||||
|
// 按“|”分隔不同的角色限制部分
|
||||||
|
string[] roleLimitSections = npcData.Value.RoleLimit.Split('|');
|
||||||
|
bool shouldInstantiate = true;
|
||||||
|
// 遍历每个角色限制部分
|
||||||
|
foreach (var section in roleLimitSections)
|
||||||
|
{
|
||||||
|
// 按“,”分隔出事故位置ID、职业ID和最低要求人数
|
||||||
|
string[] roleLimits = section.Split(',');
|
||||||
|
if (section.Contains("-1"))
|
||||||
|
{
|
||||||
|
if (roleLimits[0] == "-1")
|
||||||
|
{
|
||||||
|
shouldInstantiate = false; // 不实例化该NPC
|
||||||
|
break; // 跳出循环,直接处理下一个NPC
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int accidentLocationId = int.Parse(roleLimits[0]); // 事故位置ID
|
||||||
|
int roleId = int.Parse(roleLimits[1]); // 职业ID
|
||||||
|
int minRequired = int.Parse(roleLimits[2]); // 最低要求人数
|
||||||
|
if (accidentLocationId == selectScenePanel.idcidentId && roleId == id)
|
||||||
|
{
|
||||||
|
GameObject item = GameObject.Instantiate<GameObject>(scenePrefab, sceneCount);
|
||||||
|
SceneItem sceneItem = item.GetComponent<SceneItem>();
|
||||||
|
Button scenebutton = item.transform.Find("TextBtn").GetComponent<Button>();
|
||||||
|
scenebutton.onClick.AddListener(() => OnSceneItemClicked(item, Color.green, selectedScene));
|
||||||
|
sceneItem.dutyId = accidentLocationId;
|
||||||
|
sceneItem.limitNum = minRequired;
|
||||||
|
sceneItem.sceneName.text = npcData.Value.Note;
|
||||||
|
peopleList.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//处理点击确认按钮
|
//处理点击确认按钮
|
||||||
public void ClickSureBtn()
|
public void ClickSureBtn()
|
||||||
{
|
{
|
||||||
@ -374,7 +435,17 @@ public class Panel : MonoBehaviour
|
|||||||
panelToggle[4].interactable = selectScenePanel.isSure; // 启用第三个Toggle
|
panelToggle[4].interactable = selectScenePanel.isSure; // 启用第三个Toggle
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//设置最初的时候Toggle的状态
|
||||||
|
public void InstantiateToggle()
|
||||||
|
{
|
||||||
|
for (int i = 1; i < panelToggle.Length; i++)
|
||||||
|
{
|
||||||
|
panelToggle[i].interactable = false;
|
||||||
|
panelToggle[i].gameObject.transform.GetComponent<Image>().sprite = toggleImage[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//判断确认按钮是否可以点击
|
||||||
private void UpdateConfirmButtonState()
|
private void UpdateConfirmButtonState()
|
||||||
{
|
{
|
||||||
// 如果人员、职责和场景都已选择,则启用确认按钮,否则禁用
|
// 如果人员、职责和场景都已选择,则启用确认按钮,否则禁用
|
||||||
|
@ -5,6 +5,7 @@ using System.Xml.Serialization;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
using static System.Collections.Specialized.BitVector32;
|
using static System.Collections.Specialized.BitVector32;
|
||||||
|
using static UnityEditor.Progress;
|
||||||
|
|
||||||
public class EvacuationPanel : MonoBehaviour
|
public class EvacuationPanel : MonoBehaviour
|
||||||
{
|
{
|
||||||
@ -65,6 +66,11 @@ public class EvacuationPanel : MonoBehaviour
|
|||||||
nPC.roleId = roleid;
|
nPC.roleId = roleid;
|
||||||
createTemplateInfo.Instance.auth_CreateTemplate.npcList = new List<NpcList>();
|
createTemplateInfo.Instance.auth_CreateTemplate.npcList = new List<NpcList>();
|
||||||
createTemplateInfo.Instance.auth_CreateTemplate.npcList.Add(nPC);
|
createTemplateInfo.Instance.auth_CreateTemplate.npcList.Add(nPC);
|
||||||
|
//foreach(NpcList item in createTemplateInfo.Instance.auth_CreateTemplate.npcList)
|
||||||
|
//{
|
||||||
|
// Debug.Log("npcType>>>>>>>>>>>>>>>>>" + item.userId);
|
||||||
|
// Debug.Log("roleid>>>>>>>>>>>>>>>>>" + item.roleId);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetNpcType()
|
public void SetNpcType()
|
||||||
|
@ -56,7 +56,9 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
public string idcidentName{ get; set; }
|
public string idcidentName{ get; set; }
|
||||||
public string difficulty { get; set; }
|
public string difficulty { get; set; }
|
||||||
public string isBuy { get; set; }
|
public string isBuy { get; set; }
|
||||||
|
public int difficultyId { get; set; }
|
||||||
public bool isSure { get; set; } = false;//判断是否点击了提交按钮
|
public bool isSure { get; set; } = false;//判断是否点击了提交按钮
|
||||||
|
public Dictionary<int, List<string>> difficultyToRoles = new Dictionary<int, List<string>>();
|
||||||
public JSONReader jsonReader;
|
public JSONReader jsonReader;
|
||||||
// Start is called before the first frame update
|
// Start is called before the first frame update
|
||||||
void Start()
|
void Start()
|
||||||
@ -66,7 +68,7 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
eventChoiceLable.gameObject.SetActive(false);
|
eventChoiceLable.gameObject.SetActive(false);
|
||||||
incidentLable.gameObject.SetActive(false);
|
incidentLable.gameObject.SetActive(false);
|
||||||
InstantiateScenePrefab();
|
InstantiateScenePrefab();
|
||||||
InstantiateSchoolPrefab();
|
//InstantiateSchoolPrefab();
|
||||||
SetEventToggleOpenorClose(incidentInfos);
|
SetEventToggleOpenorClose(incidentInfos);
|
||||||
continueBtn.onClick.AddListener(OnClickContinueBtn);
|
continueBtn.onClick.AddListener(OnClickContinueBtn);
|
||||||
SetFirstChoise(scenetoggleList);
|
SetFirstChoise(scenetoggleList);
|
||||||
@ -123,26 +125,60 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
toggle.group = sceneGroup;
|
toggle.group = sceneGroup;
|
||||||
scenetoggleList.Add(toggle); // 使用 Add() 方法添加 Toggle 元素
|
scenetoggleList.Add(toggle); // 使用 Add() 方法添加 Toggle 元素
|
||||||
sceneItemList.Add(item);
|
sceneItemList.Add(item);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
toggle.onValueChanged.AddListener((isSelected) =>
|
||||||
|
{
|
||||||
|
if (isSelected) // 只有当Toggle被选中时,才调用SelectEventBtn
|
||||||
|
{
|
||||||
|
// 清空事件列表
|
||||||
|
schoolInfoList.Clear();
|
||||||
|
foreach (Transform child in schoolList)
|
||||||
|
{
|
||||||
|
Destroy(child.gameObject);
|
||||||
|
}
|
||||||
|
this.scnenId = item.sceneId; // 获取 Text 组件的文本
|
||||||
|
this.sceneName = item.sceneName.text;
|
||||||
|
InstantiateSchoolPrefab(scnenId);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//动态加载学校选择预制体(这里面的东西需要判断场景的Id来加载对应的场景)
|
//动态加载学校选择预制体(这里面的东西需要判断场景的Id来加载对应的场景)
|
||||||
public void InstantiateSchoolPrefab()
|
public void InstantiateSchoolPrefab(int id)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 6; i++)
|
foreach (var sceneDate in jsonReader.sceneDictionary)
|
||||||
|
{
|
||||||
|
if (sceneDate.Key == id)
|
||||||
{
|
{
|
||||||
GameObject slot = GameObject.Instantiate<GameObject>(schoolPrefab, schoolList);
|
GameObject slot = GameObject.Instantiate<GameObject>(schoolPrefab, schoolList);
|
||||||
SchoolInfo item = slot.GetComponent<SchoolInfo>();
|
SchoolInfo item = slot.GetComponent<SchoolInfo>();
|
||||||
item.schoolName.text = "南山中学";
|
item.schoolName.text = sceneDate.Value.Name;
|
||||||
item.schoolId = i;
|
item.schoolId = sceneDate.Value.ID;
|
||||||
Toggle toggle = slot.GetComponent<Toggle>();
|
Toggle toggle = slot.GetComponent<Toggle>();
|
||||||
|
|
||||||
if (toggle != null)
|
if (toggle != null)
|
||||||
{
|
{
|
||||||
toggle.group = schoolGroup;
|
// 将 Toggle 添加到 ToggleGroup 中
|
||||||
|
toggle.group = incidentGroup;
|
||||||
|
toggle.isOn = false;
|
||||||
schooltoggleList.Add(toggle);
|
schooltoggleList.Add(toggle);
|
||||||
schoolInfoList.Add(item);
|
schoolInfoList.Add(item);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
toggle.onValueChanged.AddListener((isSelected) =>
|
||||||
|
{
|
||||||
|
if (isSelected) // 只有当Toggle被选中时,才调用SelectEventBtn
|
||||||
|
{
|
||||||
|
this.schoolId = item.schoolId; // 获取 Text 组件的文本
|
||||||
|
this.schoolName = item.schoolName.text;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,13 +189,13 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
{
|
{
|
||||||
if (eventData.Key == eventId)
|
if (eventData.Key == eventId)
|
||||||
{
|
{
|
||||||
//Debug.Log("<<<<<<<<<<<<<<<<<eventId" + eventData.Key);
|
|
||||||
GameObject slot = GameObject.Instantiate<GameObject>(incidentPrefab, incidentList);
|
GameObject slot = GameObject.Instantiate<GameObject>(incidentPrefab, incidentList);
|
||||||
IncidentInfo item = slot.GetComponent<IncidentInfo>();
|
IncidentInfo item = slot.GetComponent<IncidentInfo>();
|
||||||
item.incidentText.text = eventData.Value.Note;
|
item.incidentText.text = eventData.Value.Note;
|
||||||
item.incidentID = eventData.Value.ID;
|
item.incidentID = eventData.Value.ID;
|
||||||
|
this.idcidentId = item.incidentID;
|
||||||
|
this.idcidentName = item.incidentText.text;
|
||||||
Toggle toggle = slot.GetComponent<Toggle>();
|
Toggle toggle = slot.GetComponent<Toggle>();
|
||||||
|
|
||||||
if (toggle != null)
|
if (toggle != null)
|
||||||
{
|
{
|
||||||
// 将 Toggle 添加到 ToggleGroup 中
|
// 将 Toggle 添加到 ToggleGroup 中
|
||||||
@ -167,10 +203,6 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
toggle.isOn = false;
|
toggle.isOn = false;
|
||||||
eventToggleList.Add(toggle);
|
eventToggleList.Add(toggle);
|
||||||
incidentInfos.Add(item);
|
incidentInfos.Add(item);
|
||||||
if (incidentInfos.Count > 1)
|
|
||||||
{
|
|
||||||
//随机按钮设置
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -178,30 +210,43 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
}
|
}
|
||||||
toggle.onValueChanged.AddListener((isSelected) =>
|
toggle.onValueChanged.AddListener((isSelected) =>
|
||||||
{
|
{
|
||||||
|
|
||||||
if (isSelected)
|
if (isSelected)
|
||||||
{
|
{
|
||||||
this.idcidentName = item.incidentText.text;
|
this.idcidentName = item.incidentText.text;
|
||||||
this.idcidentId = item.incidentID;
|
this.idcidentId = item.incidentID;
|
||||||
datePanel.placeId = item.incidentID;
|
datePanel.placeId = item.incidentID;
|
||||||
|
|
||||||
string[] difficulty = eventData.Value.Difficulty.Split('|');
|
string[] difficulty = eventData.Value.Difficulty.Split('|');
|
||||||
|
string[] roleGroups = eventData.Value.Role.Split('|'); // 分割Role字段,得到多个角色组
|
||||||
|
|
||||||
// 确保difficultyList和difficulty的长度匹配
|
// 确保difficultyList和difficulty的长度匹配
|
||||||
for (int i = 0; i < difficultyList.Count && i < difficulty.Length; i++)
|
for (int i = 0; i < difficultyList.Count && i < difficulty.Length; i++)
|
||||||
{
|
{
|
||||||
Toggle item = difficultyList[i]; // 获取对应的Toggle
|
Toggle item = difficultyList[i]; // 获取对应的Toggle
|
||||||
DifficultyInfo difficultyInfo = item.gameObject.GetComponent<DifficultyInfo>();
|
DifficultyInfo difficultyInfo = item.gameObject.GetComponent<DifficultyInfo>();
|
||||||
|
|
||||||
if (difficultyInfo == null)
|
if (difficultyInfo == null)
|
||||||
{
|
{
|
||||||
difficultyInfo = item.gameObject.AddComponent<DifficultyInfo>();
|
difficultyInfo = item.gameObject.AddComponent<DifficultyInfo>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 给每个Toggle设置不同的difficulty值
|
// 给每个Toggle设置不同的difficulty值
|
||||||
difficultyInfo.difficulty = int.Parse(difficulty[i]);
|
difficultyInfo.difficulty = int.Parse(difficulty[i]);
|
||||||
|
|
||||||
// 打印出设置的难度值,帮助调试
|
// 将难度和对应的角色存入字典
|
||||||
Debug.Log($"Toggle {i} - Difficulty: {difficultyInfo.difficulty}");
|
if (difficultyInfo.difficulty == int.Parse(difficulty[i]))
|
||||||
|
{
|
||||||
|
// 获取与当前难度相关的角色组(根据索引)
|
||||||
|
string[] correspondingRoles = roleGroups[i].Split(',');
|
||||||
|
// 打印或者处理角色
|
||||||
|
List<string> rolesList = new List<string>(correspondingRoles); // 转换为List
|
||||||
|
if (!difficultyToRoles.ContainsKey(difficultyInfo.difficulty))
|
||||||
|
{
|
||||||
|
difficultyToRoles.Add(difficultyInfo.difficulty, rolesList);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
difficultyToRoles[difficultyInfo.difficulty] = rolesList; // 如果已存在,更新角色列表
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -212,6 +257,11 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
//点击继续按钮后更换场景图片及名称
|
//点击继续按钮后更换场景图片及名称
|
||||||
public void InstantiateEventPrefab(int id)
|
public void InstantiateEventPrefab(int id)
|
||||||
{
|
{
|
||||||
|
incidentInfos.Clear();
|
||||||
|
foreach (Transform child in incidentList)
|
||||||
|
{
|
||||||
|
Destroy(child.gameObject);
|
||||||
|
}
|
||||||
text20008.text = sceneName;
|
text20008.text = sceneName;
|
||||||
// 通过 id 获取对应的 sceneData
|
// 通过 id 获取对应的 sceneData
|
||||||
if (jsonReader.sceneDictionary.TryGetValue(id, out var sceneData))
|
if (jsonReader.sceneDictionary.TryGetValue(id, out var sceneData))
|
||||||
@ -228,8 +278,6 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
{
|
{
|
||||||
// 根据 incidentId 获取对应的事件数据
|
// 根据 incidentId 获取对应的事件数据
|
||||||
EventData eventData=jsonReader.GetEvenById(incidentId);
|
EventData eventData=jsonReader.GetEvenById(incidentId);
|
||||||
Debug.Log("eventData.ID:" + eventData.ID);
|
|
||||||
Debug.Log("eventData.DisasterLocation:" + eventData.DisasterLocation);
|
|
||||||
string[] incidentIds2 = eventData.DisasterLocation.Split('|');
|
string[] incidentIds2 = eventData.DisasterLocation.Split('|');
|
||||||
GameObject slot = GameObject.Instantiate<GameObject>(eventPrefab, eventList);
|
GameObject slot = GameObject.Instantiate<GameObject>(eventPrefab, eventList);
|
||||||
EventInfo item = slot.GetComponent<EventInfo>();
|
EventInfo item = slot.GetComponent<EventInfo>();
|
||||||
@ -285,46 +333,6 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//学校选择
|
|
||||||
public void SelectSchoolBtn()
|
|
||||||
{
|
|
||||||
if (isSure)
|
|
||||||
{
|
|
||||||
SchoolInfo gameObject = GetComponentInChildren<SchoolInfo>();
|
|
||||||
foreach (SchoolInfo item in schoolInfoList)
|
|
||||||
{
|
|
||||||
if (item.gameObject.transform.GetComponent<Toggle>().isOn)
|
|
||||||
{
|
|
||||||
this.schoolId = item.schoolId;
|
|
||||||
this.schoolName = item.schoolName.text;
|
|
||||||
title.text = item.schoolName.text;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Debug.Log("###############1:" + this.schoolId);
|
|
||||||
Debug.Log("###############2:" + this.schoolName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//场景选择
|
|
||||||
public void SelectSceneBtn()
|
|
||||||
{
|
|
||||||
bool sceneSelected = false; // 检查是否有场景被选择
|
|
||||||
foreach (SceneItem item in sceneItemList)
|
|
||||||
{
|
|
||||||
// 检查当前的 Toggle 是否被选中
|
|
||||||
if (item.gameObject.transform.GetComponent<Toggle>().isOn)
|
|
||||||
{
|
|
||||||
// 设置场景名称
|
|
||||||
this.sceneName = item.sceneName.text; // 获取 Text 组件的文本
|
|
||||||
this.scnenId = item.sceneId;
|
|
||||||
Debug.Log("------------this.scnenId:" + this.scnenId);
|
|
||||||
createTemplateInfo.Instance.auth_CreateTemplate.sceneId = item.sceneId.ToString();
|
|
||||||
sceneSelected = true;
|
|
||||||
break; // 找到选中的场景后退出循环
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//事件及难度选择
|
//事件及难度选择
|
||||||
public void SelectEvent()
|
public void SelectEvent()
|
||||||
{
|
{
|
||||||
@ -337,8 +345,6 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
this.eventName = item.eventName.text;
|
this.eventName = item.eventName.text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Debug.Log("%%%%%%%%%%%%%1:" + this.eventId);
|
|
||||||
Debug.Log("%%%%%%%%%%%%%2:" + this.eventName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//随机事件
|
//随机事件
|
||||||
@ -386,6 +392,8 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
{
|
{
|
||||||
if (item.isOn)
|
if (item.isOn)
|
||||||
{
|
{
|
||||||
|
DifficultyInfo difficultyInfo = item.GetComponent<DifficultyInfo>();
|
||||||
|
this.difficultyId = difficultyInfo.difficulty;
|
||||||
this.difficulty = item.transform.parent.GetComponentInChildren<Text>().text;
|
this.difficulty = item.transform.parent.GetComponentInChildren<Text>().text;
|
||||||
auth_CreateTemplate.mode = this.difficulty;//给结构体“难度”赋值
|
auth_CreateTemplate.mode = this.difficulty;//给结构体“难度”赋值
|
||||||
}
|
}
|
||||||
@ -395,8 +403,8 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
//继续按钮,点击后上传数据
|
//继续按钮,点击后上传数据
|
||||||
public void OnClickContinueBtn()
|
public void OnClickContinueBtn()
|
||||||
{
|
{
|
||||||
SelectSchoolBtn();
|
//SelectSchoolBtn();
|
||||||
SelectSceneBtn();
|
//SelectSceneBtn();
|
||||||
InstantiateEventPrefab(this.scnenId);
|
InstantiateEventPrefab(this.scnenId);
|
||||||
SetFirstChoise(evnetsceneList);
|
SetFirstChoise(evnetsceneList);
|
||||||
if (continueBtn.interactable)
|
if (continueBtn.interactable)
|
||||||
@ -415,12 +423,12 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
//提交按钮,点击上传数据和隐藏界面
|
//提交按钮,点击上传数据和隐藏界面
|
||||||
public void SubmitBtn()
|
public void SubmitBtn()
|
||||||
{
|
{
|
||||||
SelectEvent();
|
|
||||||
SelsctDifficulty();
|
SelsctDifficulty();
|
||||||
SetDataPanelInfo();
|
SetDataPanelInfo();
|
||||||
this.gameObject.SetActive(false);
|
this.gameObject.SetActive(false);
|
||||||
panel.gameObject.SetActive(true);
|
panel.gameObject.SetActive(true);
|
||||||
DisableUIInteraction();
|
DisableUIInteraction();
|
||||||
|
panel.DynamicLoadingDuty(this.difficultyId);
|
||||||
isSure = true;
|
isSure = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,24 +464,35 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
//通过判断Toggle的IsOn是否被打开来判断继续按钮是否置灰
|
//通过判断Toggle的IsOn是否被打开来判断继续按钮是否置灰
|
||||||
public void IsClick()
|
public void IsClick()
|
||||||
{
|
{
|
||||||
bool anyToggleSelected = true;
|
bool anysceneSelected = false;
|
||||||
|
bool anyschoolSelected = false;
|
||||||
|
bool isOk = false;
|
||||||
// 检查场景选择
|
// 检查场景选择
|
||||||
foreach (Toggle toggle in scenetoggleList)
|
foreach (Toggle toggle in scenetoggleList)
|
||||||
{
|
{
|
||||||
if (toggle.isOn)
|
if (toggle.isOn)
|
||||||
{
|
{
|
||||||
anyToggleSelected = true;
|
anysceneSelected = true;
|
||||||
|
break; // 如果有一个场景 Toggle 被选中,停止检查
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach (Toggle toggle in schooltoggleList)
|
||||||
|
{
|
||||||
|
if (toggle.isOn)
|
||||||
|
{
|
||||||
|
anyschoolSelected = true;
|
||||||
break; // 如果有一个场景 Toggle 被选中,停止检查
|
break; // 如果有一个场景 Toggle 被选中,停止检查
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 根据是否有 Toggle 被选中,设置 ContinueBtn 是否可交互
|
// 根据是否有 Toggle 被选中,设置 ContinueBtn 是否可交互
|
||||||
if (continueBtn != null)
|
if (continueBtn != null&& anysceneSelected==true&& anyschoolSelected==true)
|
||||||
{
|
{
|
||||||
continueBtn.interactable = anyToggleSelected; // 如果有选中的 Toggle,继续按钮可交互,否则不可交互
|
isOk = true;
|
||||||
|
continueBtn.interactable = isOk; // 如果有选中的 Toggle,继续按钮可交互,否则不可交互
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
continueBtn.interactable = isOk;
|
||||||
Debug.LogError("ContinueBtn 按钮组件未找到!");
|
Debug.LogError("ContinueBtn 按钮组件未找到!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -497,7 +516,6 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
//检查事件选择
|
//检查事件选择
|
||||||
foreach (Toggle toggle in eventToggleList)
|
foreach (Toggle toggle in eventToggleList)
|
||||||
{
|
{
|
||||||
Debug.LogError("事件选择:" + anyToggleSelected);
|
|
||||||
if (toggle.isOn)
|
if (toggle.isOn)
|
||||||
{
|
{
|
||||||
anyeventSelected = true;
|
anyeventSelected = true;
|
||||||
@ -505,18 +523,15 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
break; // 如果有一个场景 Toggle 被选中,停止检查
|
break; // 如果有一个场景 Toggle 被选中,停止检查
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Debug.Log(submitBtn != null && anyToggleSelected == true && anyeventSelected == true);
|
|
||||||
// 根据是否有 Toggle 被选中,设置 ContinueBtn 是否可交互
|
// 根据是否有 Toggle 被选中,设置 ContinueBtn 是否可交互
|
||||||
if (submitBtn != null && anyToggleSelected == true&& anyeventSelected==true)
|
if (submitBtn != null && anyToggleSelected == true&& anyeventSelected==true)
|
||||||
{
|
{
|
||||||
Debug.LogError("提交按钮组件未找到!");
|
|
||||||
isOk = true;
|
isOk = true;
|
||||||
submitBtn.interactable = isOk; // 如果有选中的 Toggle,继续按钮可交互,否则不可交互
|
submitBtn.interactable = isOk; // 如果有选中的 Toggle,继续按钮可交互,否则不可交互
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
submitBtn.interactable = isOk;
|
submitBtn.interactable = isOk;
|
||||||
Debug.LogWarning("提交按钮组件未找到!");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -605,26 +620,35 @@ public class SelectScenePanel : MonoBehaviour
|
|||||||
// 禁用场景选择中的所有Toggle按钮
|
// 禁用场景选择中的所有Toggle按钮
|
||||||
foreach (Toggle toggle in scenetoggleList)
|
foreach (Toggle toggle in scenetoggleList)
|
||||||
{
|
{
|
||||||
toggle.interactable = false; // 设置Toggle为不可交互
|
if (toggle != null)
|
||||||
|
{
|
||||||
|
toggle.interactable = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 禁用学校选择中的所有Toggle按钮
|
// 禁用学校选择中的所有Toggle按钮
|
||||||
foreach (Toggle toggle in schooltoggleList)
|
foreach (Toggle toggle in schooltoggleList)
|
||||||
|
{
|
||||||
|
if (toggle != null)
|
||||||
{
|
{
|
||||||
toggle.interactable = false;
|
toggle.interactable = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// 禁用事件选择中的所有Toggle按钮
|
// 禁用事件选择中的所有Toggle按钮
|
||||||
foreach (Toggle toggle in eventToggleList)
|
foreach (Toggle toggle in eventToggleList)
|
||||||
{
|
{
|
||||||
toggle.interactable = false;
|
if (toggle != null)
|
||||||
}
|
|
||||||
|
|
||||||
// 禁用事件场景选择中的所有Toggle按钮
|
|
||||||
foreach (Toggle toggle in evnetsceneList)
|
|
||||||
{
|
{
|
||||||
toggle.interactable = false;
|
toggle.interactable = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// 禁用事件场景选择中的所有Toggle按钮
|
||||||
|
foreach (Toggle toggle in evnetsceneList)
|
||||||
|
{
|
||||||
|
if (toggle != null)
|
||||||
|
{
|
||||||
|
toggle.interactable = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
// 禁用继续按钮
|
// 禁用继续按钮
|
||||||
continueBtn.interactable = false;
|
continueBtn.interactable = false;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user