123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- /****************************************************************************
- * 2023.10 DESKTOP-DL7CJI0
- ****************************************************************************/
- using System;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- using QFramework;
- using ChivaXR;
- using DG.Tweening;
- using System.Collections;
- using UnityEngine.Tilemaps;
- using I2.Loc;
- namespace QFramework
- {
- public enum BtnState
- {
- normal,
- highter,
- select
- }
- public partial class OperateStep : UIElement
- {
- private List<GameObject> itemList = new List<GameObject>();
- private List<FistStepItem> firstStepItems = new List<FistStepItem>();
- private void Awake()
- {
- HelpBtn.Button.onClick.AddListener(OnHelpBtnClick);
- HelpBtn.isToggle = true;
- ToolLibraryBtn.Button.onClick.AddListener(OnToolLibraryBtnClick);
- AutoPlayBtn.Button.onClick.AddListener(OnAutoPlayBtnClick);
- AutoPlayBtn.isToggle = true;
- EndExam.Button.onClick.AddListener(OnEndExamBtnClick);
- OperateLogBtn.onClick.AddListener(OnOperateLogBtnClick);
- PlayBtn.onClick.AddListener(OnPlayBtnClick);
- PauseBtn.onClick.AddListener(OnPauseBtnClick);
- ExpandBtn.onClick.AddListener(OnExpandBtnClick);
- ScrollViewCtrl.gameObject.SetActive(false);
- }
- public void StartOperation()
- {
- ScrollViewCtrl.gameObject.SetActive(true);
- }
- /// <summary>
- /// 播放按钮点击
- /// </summary>
- private void OnPlayBtnClick()
- {
- Time.timeScale = 0;
- AudioHelper.AudioPause();
- GameObject tmpMiniModelView = GameObject.Find("MiniModelView/CreatModel");
- tmpMiniModelView.GetComponentInChildren<AudioSource>()?.Pause();
- PauseBtn.gameObject.SetActive(true);
- PlayBtn.gameObject.SetActive(false);
- RoamCameraController.Instance.SetCameraMoveState(true);
- }
- /// <summary>
- /// 暂停按钮点击
- /// </summary>
- private void OnPauseBtnClick()
- {
- Time.timeScale = 1;
- AudioHelper.AudioPlay();
- PlayBtn.gameObject.SetActive(true);
- PauseBtn.gameObject.SetActive(false);
- GameObject tmpMiniModelView = GameObject.Find("MiniModelView/CreatModel");
- tmpMiniModelView.GetComponentInChildren<AudioSource>()?.Play();
- RoamCameraController.Instance.SetCameraMoveState(false);
- }
- private void OnHelpBtnClick()
- {
- if (!OperateSetting.Instance.ToolPackUILogic.GetHint())
- {
- HelpBtn.SetBtnState(BtnState.select);
-
- OperateSetting.Instance.ToolPackUILogic.SetHint(true);
- }
- else
- {
- HelpBtn.SetBtnState(BtnState.normal);
- OperateSetting.Instance.ToolPackUILogic.SetHint(false);
- }
- }
- public void OnAutoPlayBtnClick()
- {
- if (ProcessManagement.Instance.autoEnterNextProcess)
- {
- AutoPlayBtn.SetBtnState(BtnState.normal);
- ProcessManagement.Instance.autoEnterNextProcess = false;
- ProcessManagement.Instance.delayTime = 0;
- }
- else
- {
- AutoPlayBtn.SetBtnState(BtnState.select);
- ProcessManagement.Instance.autoEnterNextProcess = true;
- //如果当前步骤已完成,点击自动播放默认进入下一步
- if (ProcessManagement.Instance.GetCurrentProcess().finished)
- {
- ProcessManagement.Instance.EnterNextProcess();
- }
- ProcessManagement.Instance.delayTime = 1;
- }
- }
- public void OnEndExamBtnClick()
- {
- UIKit.GetPanel<PC_OperatePanel>().SubmitResult.gameObject.SetActive(true);
- }
- private void OnToolLibraryBtnClick()
- {
- ToolLibraryForm tmpToolLibraryForm = UIKit.GetPanel<ToolLibraryForm>();
- if (tmpToolLibraryForm == null)
- {
- UIKit.OpenPanel<ToolLibraryForm>(UILevel.PopUI);
- }
- else if (tmpToolLibraryForm != null && !tmpToolLibraryForm.isActiveAndEnabled)
- {
- UIKit.ShowPanel<ToolLibraryForm>();
- }
- }
- public void ShowToolLibraryHighter(bool state)
- {
-
- }
- private bool isLibraryEnter;
- public void SetTitle(string str)
- {
- Title_LowestLayer.text = Title_MiddleLayer.text = Title_TopLayer.text = str;
- }
- /// <summary>
- /// 将所有列表初始化出来
- /// </summary>
- public void GenerateFirstStepItemList(Dictionary<string, List<OperationStepDataInfo>> dicStepMsgInfos)
- {
- int tmpNum = 1;
- foreach (var item in dicStepMsgInfos)
- {
- var tempItem = Instantiate(FistStepItem.gameObject, Content);
- FistStepItem tmpStepItem = tempItem.GetComponent<FistStepItem>();
- tmpStepItem.GenerateSecondStepItemList(tmpNum, item.Key, item.Value);
- firstStepItems.Add(tmpStepItem);
- tempItem.SetActive(false);
- tmpNum++;
- }
- }
- /// <summary>
- /// 展开所有一级列表
- /// </summary>
- public void ExpandAllFirstStepItem()
- {
- foreach (var item in firstStepItems)
- {
- item.gameObject.SetActive(true);
- item.SetState(true);
- }
- }
- public void InitList(Dictionary<int, List<object>> dic)
- {
- if (dic.Count > 0)
- {
- foreach (var key in dic.Keys)
- {
- var tempItem = Instantiate(FistStepItem.gameObject, Content);
- tempItem.SetActive(false);
- //StepItem stepItem = tempItem.GetComponent<StepItem>();
- //stepItem.SetItemInfo(key, dic[key][0].ToString());
- itemList.Add(tempItem);
- }
- }
- else
- {
- Debug.LogError("树形步骤表为空!!!");
- }
- }
- /// <summary>
- /// 练习模式
- /// </summary>
- /// <param name="stepID"></param>
- public void ShowSecondStepItemByStepId(int stepID)
- {
- bool tmpResul = false;
- foreach (var item in firstStepItems)
- {
- if (!tmpResul)
- {
- item.gameObject.SetActive(true);
- item.SetState(true);
- tmpResul = item.OpenSecondStepItem(stepID);
- if (tmpResul) item.Select.gameObject.SetActive(true);
- else item.Select.gameObject.SetActive(false);
- }
- else
- {
- item.SetState(false);
- item.gameObject.SetActive(false);
- }
- }
- Canvas.ForceUpdateCanvases();
- ScrollView.verticalNormalizedPosition = 0;
- if (Content.transform.GetComponent<RectTransform>().sizeDelta.y >= 929f)
- {
- BottomImage.gameObject.SetActive(false);
- }
- else
- {
- BottomImage.gameObject.SetActive(true);
- }
- }
- /// <summary>
- /// 学习模式
- /// </summary>
- /// <param name="stepID"></param>
- public void SetSecondStepItemSelectByStepId(int stepID)
- {
- foreach (var item in firstStepItems)
- {
- item.SetSecondStepItemSelectState(stepID);
- }
- }
- /// <summary>
- /// 刷新列表
- /// </summary>
- /// <param name="stepID"></param>
- public void RefreshList(int stepID)
- {
- Debug.LogError(stepID);
- if (itemList.Count > 0 && stepID < itemList.Count)
- {
- for (int i = 0; i < itemList.Count; i++)
- {
- itemList[i].SetActive(false);
- if (i <= stepID)
- {
- itemList[i].SetActive(true);
- }
- }
- }
- Canvas.ForceUpdateCanvases();
- ScrollView.verticalNormalizedPosition = 0;
- }
- bool expande = false;
- /// <summary>
- /// 菜单展开
- /// </summary>
- public void OnExpandBtnClick()
- {
- if (!expande)
- {
- ScrollViewCtrl.transform.DOMove(ScrollViewCtrlExpandTarget.transform.position, 1f).SetUpdate(true);
- ExpandBtn.transform.DOScaleX(-1, 1).SetUpdate(true);
- }
- else
- {
- //SetUpdate(ture)设置这个Tween不受Time.scale影响
- ScrollViewCtrl.transform.DOMove(ScrollViewCtrlUnExpandTarget.transform.position, 1f).SetUpdate(true);
- ExpandBtn.transform.DOScaleX(1, 1).SetUpdate(true);
- }
- expande = !expande;
- }
- /// <summary>
- /// 操作记录按钮点击
- /// </summary>
- private void OnOperateLogBtnClick()
- {
- LogSystemForm logSystemForm = UIKit.GetPanel<LogSystemForm>();
- if (logSystemForm == null)
- {
- logSystemForm = UIKit.OpenPanel<LogSystemForm>();
- }
- if (logSystemForm.ScrollView.gameObject.activeSelf)
- {
- logSystemForm.SetLogState(false);
- }
- else
- {
- logSystemForm.SetLogState(true);
- }
- }
- protected override void OnBeforeDestroy()
- {
- }
- }
- }
|