HAARFTE/Assets/DemoGame/GameScript/Hotfix/UI/Logic/TaskListUI.cs

101 lines
2.8 KiB
C#

using System;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using Newtonsoft.Json;
using TMPro;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
using ZC.Item;
namespace ZC
{
[UIType(UIType.TaskListUI)]
public class TaskListUI : UIBase
{
private Toggle tog_Item;
// private TaskListDatas ListDatas;
// List<TaskItemData> _listData = new List<TaskItemData>();
Dictionary<string, TaskListItem> items = new Dictionary<string, TaskListItem>();
public override void Init()
{
base.Init();
this.tog_Item = GetValue<Toggle>("tog_Item");
// TODO:
// ListDatas = ZCGame
// ListDatas = ResourcesLocalComponent.Instance.LoadAssetSync<TaskListDatas>(AssetConst.Assets_DemoGame_GameRes_Config_TaskListData_asset);
InitItem().Forget();
}
public void SetItemState(string itemName, TaskListType state)
{
if (items.TryGetValue(itemName, out TaskListItem item))
{
item.SetState(state);
}
}
async UniTask InitItem()
{
List<string> list = new List<string>()
{
"1.老年人健康评估",
"1.1基本资料采集",
"1.2体格检查",
"1.3功能评估",
"1.4心理评估",
"2.康复计划制定",
"2.1确定康复目标",
"2.2选择康复方法和技术",
"2.3制定康复计划",
"2.4监控和调整康复计划",
"3.康复治疗实施",
"3.1确定康复目标",
"3.2选择康复方法和技术",
"3.3制定康复计划",
"3.4监控和调整康复计划",
};
foreach (var str in list)
{
await GenItem(str, TaskListType.);
}
SetItemState("1.老年人健康评估", TaskListType.);
SetItemState("1.1基本资料采集", TaskListType.);
}
async UniTask GenItem(string itemName, TaskListType state)
{
this.tog_Item.gameObject.SetActive(false);
var go = GameObject.Instantiate(this.tog_Item.gameObject, this.tog_Item.transform.parent);
go.SetActive(true);
var taskListItem = go.AddComponent<TaskListItem>();
await taskListItem.SetDataAsync(itemName, state);
items.Add(itemName, taskListItem);
}
}
class TaskItemData
{
public enum TaskItemDataType
{
,
,
,
,
}
public string name;
public TaskItemDataType type;
}
}