147 lines
4.1 KiB
C#
147 lines
4.1 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine.UI;
|
|
using UnityEngine;
|
|
using ZXL.Helper;
|
|
using ZXL.Manager;
|
|
using ZXL.Scripts.UI;
|
|
|
|
namespace ZXL
|
|
{
|
|
public class AssetsUILogic : UIBase
|
|
{
|
|
public Toggle togGS;
|
|
public Toggle togGR;
|
|
public Toggle togXM;
|
|
public Toggle togItem;
|
|
public Button btnPush;
|
|
|
|
public List<AssetItem> items = new List<AssetItem>();
|
|
|
|
void Awake()
|
|
{
|
|
togGS = transform.FindChildDeep<Toggle>("togGS");
|
|
togGR = transform.FindChildDeep<Toggle>("togGR");
|
|
togXM = transform.FindChildDeep<Toggle>("togXM");
|
|
togItem = transform.FindChildDeep<Toggle>("togItem");
|
|
btnPush = transform.FindChildDeep<Button>("btnPush");
|
|
togItem.gameObject.SetActive(false);
|
|
|
|
btnPush.onClick.AddListener(PushModel);
|
|
togGS.onValueChanged.AddListener(OnValueChangedtogGS);
|
|
togGR.onValueChanged.AddListener(OnValueChangedtogGR);
|
|
togXM.onValueChanged.AddListener(OnValueChangedtogXM);
|
|
assetTag = AssetTag.公司;
|
|
}
|
|
|
|
private void PushModel()
|
|
{
|
|
var ui = (PushModelUILogic)UIManager.Instance.Open(UIType.PushModelUI);
|
|
ui.SetTag(assetTag);
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
AssetManager.Instance.addItemAction += GenItemAndSetData;
|
|
AssetManager.Instance.initAction += Refresh;
|
|
}
|
|
|
|
private void OnValueChangedtogGS(bool b)
|
|
{
|
|
assetTag = AssetTag.公司;
|
|
Refresh();
|
|
}
|
|
|
|
private void OnValueChangedtogGR(bool b)
|
|
{
|
|
assetTag = AssetTag.个人;
|
|
Refresh();
|
|
}
|
|
|
|
private void OnValueChangedtogXM(bool b)
|
|
{
|
|
assetTag = AssetTag.项目;
|
|
Refresh();
|
|
}
|
|
|
|
List<AssetInfo> assetInfos;
|
|
AssetTag assetTag;
|
|
|
|
void Refresh()
|
|
{
|
|
assetInfos = AssetManager.Instance.GetAssets(assetTag);
|
|
|
|
if (assetInfos.Count > items.Count)
|
|
{
|
|
var count = assetInfos.Count - items.Count;
|
|
for (var i = 0; i < count; i++)
|
|
{
|
|
GenItem();
|
|
}
|
|
}
|
|
|
|
HideAll();
|
|
for (var i = 0; i < assetInfos.Count; i++)
|
|
{
|
|
items[i].SetItemData(assetInfos[i]);
|
|
items[i].gameObject.SetActive(true);
|
|
}
|
|
}
|
|
|
|
void HideAll()
|
|
{
|
|
foreach (var assetItem in items)
|
|
{
|
|
assetItem.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
AssetItem GenItem()
|
|
{
|
|
var go = GameObject.Instantiate(togItem, togItem.transform.parent).gameObject;
|
|
go.SetActive(true);
|
|
go.name = togItem.name;
|
|
var assetItem = go.AddComponent<AssetItem>();
|
|
items.Add(assetItem);
|
|
return assetItem;
|
|
}
|
|
|
|
void GenItemAndSetData(AssetInfo assetInfo)
|
|
{
|
|
var assetItem = GenItem();
|
|
assetItem.SetItemData(assetInfo);
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.Delete))
|
|
{
|
|
CommonHelper.MessageBox("删除文件", "是否确认删除?", () =>
|
|
{
|
|
foreach (var assetItem in items)
|
|
{
|
|
if (assetItem.isSelected)
|
|
{
|
|
AssetManager.Instance.DeleteAssets(assetItem.assetInfo);
|
|
}
|
|
}
|
|
|
|
Refresh();
|
|
}, null, CommonHelper.MessageBoxType.确定取消);
|
|
}
|
|
}
|
|
|
|
void OnDestroy()
|
|
{
|
|
togGS.onValueChanged.RemoveListener(OnValueChangedtogGS);
|
|
togGR.onValueChanged.RemoveListener(OnValueChangedtogGR);
|
|
togXM.onValueChanged.RemoveListener(OnValueChangedtogXM);
|
|
|
|
togGS = null;
|
|
togGR = null;
|
|
togXM = null;
|
|
togItem = null;
|
|
}
|
|
}
|
|
} |