_xiaofang/xiaofang/Assets/yhj/scripts/JueseChoicePop.cs

112 lines
3.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEditor.Experimental.GraphView;
using UnityEngine;
using UnityEngine.Networking.Types;
using UnityEngine.UI;
public class JueseChoicePop : MonoBehaviour
{
public ClassMate classMate;
public ClassItem classItem;
public Button CloseBtn;
public Button Surebtn;
public GameObject classmatePrefab;
public Transform content;
public List<ClassMate> classMateList = new List<ClassMate> ();
public string s;
public JSONReader jsonReader;
public Panel panel;
//Start is called before the first frame update
void Start()
{
this.gameObject.SetActive(false);
CloseBtn.onClick.AddListener(CLosePop);
Surebtn.onClick.AddListener(CLosePop);
//Surebtn.onClick.AddListener(SetFenguan);
//SetClass();
}
void CLosePop()
{
this.gameObject.SetActive(false);
}
public void openPop()
{
this.gameObject.SetActive(true);
}
void SetFenguan()
{
//设置此区分的分管人员为用户选中的角色,并刷新界面信息
classItem.isSet = true;
//classItem.setClassItem();
}
// Update is called once per frame
void Update()
{
}
public void SetClass(int id)
{
// 清除当前内容
foreach (Transform child in content)
{
Destroy(child.gameObject);
}
// 获取指定 ID 的 LocationData
LocationData locationData = jsonReader.GetAreaDateById(id);
// 判断 Oversee 字段
if (locationData.Oversee == "-1")
{
Debug.Log($"Skipping ID {id}: Oversee is -1.");
return; // 跳过
}
// 分割 Oversee 字段
string[] overseeParts = locationData.Oversee.Split(',');
string firstElement = overseeParts[0];
string lastElement = overseeParts[1];
if (overseeParts.Length > 0)
{
// 判断第一个元素是否为 "1"
if (lastElement == "1")
{
foreach (var pair in panel.sceneDataDictionary)
{
foreach (var selectedInfo in pair.Value)
{
if (selectedInfo.dutyId == firstElement)
{
GameObject item = GameObject.Instantiate(classmatePrefab, content);
ClassMate classMate = item.GetComponent<ClassMate>();
classMate.classmatename.text = selectedInfo.name;
}
}
}
Debug.Log($"Instantiated ClassMate for ID {id} with name {locationData.Name}");
}
}
}
public void SetClassItem(ClassItem classItem)
{
this.classItem = classItem;
}
public void SetClassMate(ClassMate classMate, string a = "")
{
classMate.isBeSet = true;
classItem.isSet = true;
this.classMate = classMate;
//classItem.setClassItem(classMate.classmatename.text);
//s = classMate.classmatename.text;
this.classMate.classmatename.text = classMate.classmatename.text + "(" + classItem.classname.text + ")";
}
}