206 lines
8.9 KiB
C#
206 lines
8.9 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using System.IO;
|
||
using TMPro;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
|
||
public class UI_StepsPanel : BasePanel
|
||
{
|
||
/// <summary>
|
||
/// 步骤预制体父物体
|
||
/// </summary>
|
||
public RectTransform StepsContent;
|
||
|
||
/// <summary>
|
||
/// 步骤滑动条
|
||
/// </summary>
|
||
public ScrollRect scrollRect;
|
||
|
||
public UI_StepsPanelItem StepsItem;
|
||
|
||
public UI_FineSoilPreparationPanel FineSoilPreparationPanel;
|
||
|
||
public PptFilesData data = new PptFilesData();
|
||
|
||
public Sprite XuanZhongsprite;
|
||
|
||
public CanvasGroup canvasGroup;
|
||
|
||
public string jsonFileName = "StepsConfig"; // JSON文件名
|
||
protected override void Awake()
|
||
{
|
||
base.Awake();
|
||
canvasGroup.alpha = 0f;
|
||
data = JsonManager.LoadData<PptFilesData>(jsonFileName);
|
||
foreach (var pptFile in data.pptFiles)
|
||
{
|
||
if (StepsItem == null || StepsContent == null)
|
||
{
|
||
Debug.LogError("按钮预制体或父对象未设置");
|
||
return;
|
||
}
|
||
|
||
// 实例化按钮
|
||
var item = Instantiate(StepsItem, StepsContent);
|
||
item.Init(pptFile.fileName);
|
||
var buttonText = item.GetComponentInChildren<TextMeshProUGUI>();
|
||
Toggle button = item.GetComponentInChildren<Toggle>();
|
||
button.name = pptFile.fileName;
|
||
if (buttonText != null)
|
||
{
|
||
buttonText.text = $"{pptFile.fileName}";
|
||
}
|
||
}
|
||
}
|
||
|
||
public override async void ShowMe(int time = 0)
|
||
{
|
||
base.ShowMe();
|
||
await ToolManager.CanvasFadeIn(canvasGroup, 0.5f);
|
||
}
|
||
|
||
public override async void HideMe(int time = 0)
|
||
{
|
||
base.HideMe();
|
||
await ToolManager.CanvasFadeOut(canvasGroup, 0.5f);
|
||
}
|
||
protected override async void OnClick(string btnName)
|
||
{
|
||
base.OnClick(btnName);
|
||
Debug.Log(btnName);
|
||
await ToolManager.RefreshScrollView(StepsContent, scrollRect);
|
||
switch (btnName)
|
||
{
|
||
case "retrun_Btn":
|
||
|
||
Bootstrap.Instance.scenesManager.LoadSceneAsyn("MenuScene", () =>
|
||
{
|
||
Bootstrap.Instance.uiManager.ShowPanel<UI_SelectModePanel>(this, E_UI_Layer.Top, (panel) =>
|
||
{
|
||
Bootstrap.Instance.uiManager.ShowPanel<UI_BGPanel>(this, E_UI_Layer.Bot, (panel) =>
|
||
{
|
||
Debug.Log("加载场景成功");
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_TipsForPracticePanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_StepsPanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_MainTitlePanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_ContentPanel>();
|
||
Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.UpdateProgress, 0.9f);
|
||
Debug.Log("UI_StepsPanel已经显示在" + E_UI_Layer.System);
|
||
|
||
Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.拖车, false);
|
||
});
|
||
});
|
||
|
||
});
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
|
||
|
||
protected override async void OnChangeToggle(string togglePath, bool isOn)
|
||
{
|
||
base.OnChangeToggle(togglePath, isOn);
|
||
await ToolManager.RefreshScrollView(StepsContent, scrollRect);
|
||
switch (togglePath)
|
||
{
|
||
case "retrun_Btn":
|
||
if (isOn)
|
||
{
|
||
Bootstrap.Instance.scenesManager.LoadSceneAsyn("MenuScene", () =>
|
||
{
|
||
Bootstrap.Instance.uiManager.ShowPanel<UI_SelectModePanel>(this, E_UI_Layer.Top, (panel) =>
|
||
{
|
||
Bootstrap.Instance.uiManager.ShowPanel<UI_BGPanel>(this, E_UI_Layer.Bot, (panel) =>
|
||
{
|
||
Debug.Log("加载场景成功");
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_TipsForPracticePanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_StepsPanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_MainTitlePanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_ContentPanel>();
|
||
Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.UpdateProgress, 0.9f);
|
||
Debug.Log("UI_StepsPanel已经显示在" + E_UI_Layer.System);
|
||
|
||
Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.拖车, false);
|
||
});
|
||
});
|
||
|
||
});
|
||
}
|
||
break;
|
||
case "育苗前种子处理":
|
||
Debug.Log("育苗前种子处理");
|
||
|
||
UI_ContentPanel.instance.Tips = "1.选种是为了淘汰瘦小、损伤、虫蛀和霉变的种子,选出粒大饱满、外观光滑且有光泽的籽粒。选种方法包括风选和筛选,风选可用风车或簸箕将枇子、虫蛀等籽粒扇掉,筛选则使用3.5毫米-4毫米孔径的筛子筛去小粒种子。选种后,种子发芽率更高,出苗整齐一致,有利于培育壮苗。(在簸箕中选择完整种子并进行泡发)\r\n" +
|
||
"\n2.再用%广枯宁水剂浸泡10~12小时,待种子吸胀后捞起滤干备用。这种方法既能有效防治病害,又能保证高粱产品的有机品质"
|
||
;
|
||
UI_ContentPanel.instance.fizhi();
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
CameraManager.instance.Camera.transform.SetPositionAndRotation
|
||
(CameraManager.instance.StepTrans[0].transform.position, CameraManager.instance.StepTrans[0].transform.rotation);
|
||
|
||
UI_ContentPanel.instance.Tips = "";
|
||
break;
|
||
case "播撒育苗技术流程":
|
||
Debug.Log("播撒育苗技术流程");
|
||
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
CameraManager.instance.Camera.transform.SetPositionAndRotation
|
||
(CameraManager.instance.StepTrans[4].transform.position, CameraManager.instance.StepTrans[4].transform.rotation);
|
||
break;
|
||
case "精细整地要求":
|
||
//UI_ContentPanel.instance.Tips = "";
|
||
Bootstrap.Instance.uiManager.ShowPanel<UI_FineSoilPreparationPanel>(this, E_UI_Layer.Mid, (panel) =>
|
||
{
|
||
UI_ContentPanel.instance.Tips = "1.在整地过程中,需彻底清除杂草,以减少杂草与高粱争夺养分。" +
|
||
"\n2.在播种前进行精细整地,春季解冻后深翻至20~30cm,确保土壤疏松无硬结,为播种和保苗创造良好条件。" +
|
||
"\n3.整地时需注意地表平整,无坷垃,以便于后续的播种和田间管理。";
|
||
UI_ContentPanel.instance.fizhi();
|
||
Debug.Log("精细整地要求");
|
||
CameraManager.instance.Camera.fieldOfView = 60;
|
||
CameraManager.instance.Camera.transform.SetPositionAndRotation
|
||
(CameraManager.instance.StepTrans[1].transform.position, CameraManager.instance.StepTrans[1].transform.rotation);
|
||
|
||
});
|
||
UI_ContentPanel.instance.Tips = "";
|
||
//Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.拖车, true);
|
||
break;
|
||
case "苗龄与叶龄标准":
|
||
Debug.Log("育苗前种子处理");
|
||
UI_ContentPanel.instance.Tips = "";
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
|
||
break;
|
||
case "移栽时机和方式管理":
|
||
Debug.Log("移栽时机和方式管理");
|
||
UI_ContentPanel.instance.Tips = "";
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
break;
|
||
case "移栽后管理":
|
||
Debug.Log("移栽后管理");
|
||
UI_ContentPanel.instance.Tips = "";
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
break;
|
||
case "田间管理":
|
||
Debug.Log("田间管理");
|
||
UI_ContentPanel.instance.Tips = "";
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
break;
|
||
case "病虫害防治":
|
||
Debug.Log("病虫害防治");
|
||
UI_ContentPanel.instance.Tips = "";
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
break;
|
||
case "种子收货与储藏":
|
||
Debug.Log("种子收货与储藏");
|
||
UI_ContentPanel.instance.Tips = "";
|
||
Bootstrap.Instance.uiManager.HidePanel<UI_FineSoilPreparationPanel>();
|
||
break;
|
||
}
|
||
}
|
||
}
|