This commit is contained in:
lq 2024-11-27 23:59:00 +08:00
parent 2833129a25
commit 96039b8e08
6 changed files with 1470 additions and 4925 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,85 +1,5 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1462379535581518296
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1462379535581518297}
- component: {fileID: 1462379535581518299}
- component: {fileID: 1462379535581518298}
m_Layer: 5
m_Name: date
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1462379535581518297
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1462379535581518296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1462379537105919718}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1462379535581518299
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1462379535581518296}
m_CullTransparentMesh: 1
--- !u!114 &1462379535581518298
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1462379535581518296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.4490565, g: 0.42279094, b: 0.42279094, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 36
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 30
--- !u!1 &1462379535643329294
GameObject:
m_ObjectHideFlags: 0
@ -643,3 +563,105 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 0
--- !u!1001 &4238621719466172834
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 1462379537105919718}
m_Modifications:
- target: {fileID: 3357980596602828922, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_Name
value: date
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
--- !u!224 &1462379535581518297 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3357980596602828923, guid: b524d085a39d50d43b48381d1d7f2587, type: 3}
m_PrefabInstance: {fileID: 4238621719466172834}
m_PrefabAsset: {fileID: 0}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
@ -36,6 +37,8 @@ public class Panel : MonoBehaviour
public GameObject ManagerPanel;//人员管理界面
public Transform peopleCountent;//人员的窗口
public GameObject peoplePrefab;//人员的预制体
public Transform panelContent;
public GameObject ManagerPanelPrefab; // 预制体,包含人员管理面板
[Header("数据")]
@ -45,6 +48,7 @@ public class Panel : MonoBehaviour
private GameObject selectedPerson = null; // 当前选中的角色
public SelectedInfo selectedInfo;
public Dictionary<string, List<SelectedInfo>> sceneDataDictionary = new Dictionary<string, List<SelectedInfo>>();//不同的场景存取不同的人员数据
public ManagerPanel managerPanel1;
// Start is called before the first frame update
void Start()
@ -68,12 +72,33 @@ public class Panel : MonoBehaviour
GameObject item = GameObject.Instantiate<GameObject>(peoplePrefab, peopleCountent);
peopleList.Add(item); // 将每个实例化的角色添加到列表中
}
}
//动态加载职责
public void DynamicLoadingDuty()
{
}
//动态加载场景
public void DynamicLoadingScene()
{
}
//处理人员管理按钮
public void ClickPersonnelManagement()
{
Debug.Log("调用人员管理");
ManagerPanel.gameObject.SetActive(true);
foreach (var sceneEntry in sceneDataDictionary)
{
Debug.Log($"场景: {sceneEntry.Key},人数: {sceneEntry.Value.Count}");
GameObject managerPanelInstance = Instantiate(ManagerPanelPrefab, panelContent);
//ManagerPanel managerPanelScript = managerPanelInstance.GetComponentInParent<ManagerPanel>();
Text sceneText= managerPanelInstance.transform.Find("top/sceneName").GetComponent<Text>();
sceneText.text = sceneEntry.Key;
managerPanel1.CreateScenePanel(sceneEntry.Key, sceneEntry.Value);
//managerPanel1.SetPlate();
ManagerPanel.gameObject.SetActive(true);
}
}
//处理点击确认按钮

View File

@ -48,36 +48,33 @@ public class ManagerPanel : MonoBehaviour
}
// 根据场景名称和对应的人员列表生成场景面板和人员项
private void CreateScenePanel(string sceneName, List<SelectedInfo> peopleList)
public void CreateScenePanel(string sceneName, List<SelectedInfo> peopleList)
{
// 为每个场景生成一个新的面板
GameObject scenePanel = Instantiate(scenePanelPrefab, panelContent);
//GameObject scenePanel = Instantiate(scenePanelPrefab, panelContent);
// 在每个场景面板上找到场景名称的文本组件并设置
Text sceneText = scenePanel.transform.Find("top/sceneName").GetComponent<Text>();
sceneText.text = sceneName;
//Text sceneText = scenePanel.transform.Find("top/sceneName").GetComponent<Text>();
//sceneText.text = sceneName;
// 遍历该场景下的所有人员生成对应的UI项
foreach (SelectedInfo person in peopleList)
{
CreatePersonItem(scenePanel, person); // 调用封装方法生成人员项
CreatePersonItem(person); // 调用封装方法生成人员项
}
}
// 根据人员信息生成一个UI项
private void CreatePersonItem(GameObject scenePanel, SelectedInfo person)
private void CreatePersonItem(SelectedInfo person)
{
// 实例化一个人员项并将其作为场景面板的子物体
GameObject item = Instantiate(personItemPrefab, managerPanelContent);
// 获取并设置人员信息
Text nameText = item.transform.Find("name").GetComponent<Text>();
Text dutyText = item.transform.Find("Profession").GetComponent<Text>();
ArrangementItem arrangementItem= personItemPrefab.gameObject.GetComponent<ArrangementItem>();
Debug.Log("----------------------" + nameText.text);
Debug.Log("++++++++++++++++++++++" + dutyText.text);
nameText.text = person.name; // 设置姓名
dutyText.text = person.duty; // 设置职责
arrangementItem.name.text = person.name; // 设置姓名
arrangementItem.duty.text = person.duty; // 设置职责
Debug.Log("----------------------" + arrangementItem.name.text);
Debug.Log("++++++++++++++++++++++" + arrangementItem.duty.text);
}
// 点击项时调用
//public void OnItemClicked(GameObject clickedItem)