2025-01-02 12:15:45 +08:00
|
|
|
using CG.Framework;
|
|
|
|
|
using CG.UTility;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
*Create By CG
|
|
|
|
|
*Function
|
|
|
|
|
*******************************************************************************/
|
|
|
|
|
namespace ZXK.LouDiXvMuNiu
|
|
|
|
|
{
|
|
|
|
|
public class SelectToolsPanel : UIBase
|
|
|
|
|
{
|
|
|
|
|
private Transform _toolsContent = null;
|
|
|
|
|
private GameObject _toolItemPrefab = null;
|
|
|
|
|
|
|
|
|
|
private List<GameObject> _toolBtnArray = new List<GameObject>();
|
|
|
|
|
|
|
|
|
|
protected override void Awake()
|
|
|
|
|
{
|
|
|
|
|
base.Awake();
|
|
|
|
|
_toolsContent = GetWedage("ToolsItemContent_N").transform;
|
|
|
|
|
_toolItemPrefab = GetWedage("SelectToolsPanel_ToolsItem_N");
|
|
|
|
|
CreateTool();
|
|
|
|
|
}
|
|
|
|
|
private void OnEnable()
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < _toolBtnArray.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
_toolBtnArray[i].transform.Find("BeUseImg/ChoseRight").gameObject.SetActive(false);
|
|
|
|
|
_toolBtnArray[i].transform.Find("BeUseImg/ChoseError").gameObject.SetActive(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void CreateTool()
|
|
|
|
|
{
|
2025-01-04 19:56:41 +08:00
|
|
|
List<NiuData> tempData = GameManager.Instance._DataNiuHandler.NiuStepTypeDic[GameManager.Instance._CurModelType];
|
|
|
|
|
for (int i = 0; i < tempData.Count; i++)
|
2025-01-02 12:15:45 +08:00
|
|
|
{
|
2025-01-04 19:56:41 +08:00
|
|
|
string itemTools = tempData[i].ToolsName;
|
|
|
|
|
string itemErroTools= tempData[i].OptionErro;
|
2025-01-02 12:15:45 +08:00
|
|
|
if (string.IsNullOrEmpty(itemTools)) continue;
|
2025-01-04 19:56:41 +08:00
|
|
|
string[] rightTools = itemTools.Split("|");
|
|
|
|
|
string[] erroTools = itemErroTools.Split("|");
|
|
|
|
|
string[] allTools = new string[rightTools.Length + erroTools.Length];
|
|
|
|
|
rightTools.CopyTo(allTools, 0);
|
|
|
|
|
erroTools.CopyTo(allTools, rightTools.Length);
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < allTools.Length; j++)
|
2025-01-02 12:15:45 +08:00
|
|
|
{
|
|
|
|
|
GameObject toolItemGeo = Instantiate(_toolItemPrefab, _toolsContent);
|
2025-01-04 19:56:41 +08:00
|
|
|
toolItemGeo.name = allTools[j];
|
|
|
|
|
toolItemGeo.transform.Find("NoUseImg/Text").GetComponent<Text>().text = allTools[j];
|
|
|
|
|
Sprite sprite = Resources.Load<Sprite>("ToolsLogo/" + allTools[j]);
|
2025-01-02 12:15:45 +08:00
|
|
|
//UtilitiesMng.LoadSpriteByURL(ItemInfo[i].picURL, (sprite) =>
|
|
|
|
|
//{
|
|
|
|
|
//DataBJCJHandler._BJCZSpriteArray.Add(ItemInfo[i].partName, sprite);
|
|
|
|
|
toolItemGeo.transform.Find("ToolsConnet").GetComponent<Image>().sprite = sprite;
|
|
|
|
|
//});
|
|
|
|
|
|
|
|
|
|
toolItemGeo.GetComponent<Button>().onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
NiuData curStep = GameManager.Instance._DataNiuHandler.CurNiuHandler.Value;
|
|
|
|
|
if (!curStep.TaskType.Equals(ConstCtrl.TASKTYPE_ShowGeo)) return;
|
|
|
|
|
toolItemGeo.GetComponent<Button>().interactable = false;
|
|
|
|
|
string[] curTools = curStep.ToolsName.Split("|");
|
|
|
|
|
|
|
|
|
|
bool rightSelect = false;
|
|
|
|
|
for (int i = 0; i < curTools.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (curTools[i].Equals(toolItemGeo.name)) rightSelect = true;
|
|
|
|
|
}
|
|
|
|
|
if (rightSelect)
|
|
|
|
|
{
|
|
|
|
|
toolItemGeo.transform.Find("BeUseImg/ChoseRight").gameObject.SetActive(true);
|
|
|
|
|
GameManager.Instance._EventManager.Raise(new ClickToolArgs() { SelectTool = toolItemGeo.name });
|
|
|
|
|
GameManager.Instance._DataNiuHandler.AddScore(curStep.ModuleName, curStep.ThreeTaskName, 1);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
toolItemGeo.transform.Find("BeUseImg/ChoseError").gameObject.SetActive(true);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
toolItemGeo.SetActive(true);
|
|
|
|
|
_toolBtnArray.Add(toolItemGeo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|