101 lines
2.8 KiB
C#
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;
|
|
}
|
|
} |