129 lines
4.0 KiB
C#
129 lines
4.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using DG.Tweening;
|
|
using CG.Framework;
|
|
/// <summary>
|
|
/// 示教器状态
|
|
/// </summary>
|
|
//public enum SJQState
|
|
//{
|
|
// Retract,//收起
|
|
// Expand,//展开
|
|
// Hide,//隐藏
|
|
// None
|
|
//}
|
|
namespace ZXK.GYJQR
|
|
{
|
|
/// <summary>
|
|
/// 示教器管理类
|
|
/// </summary>
|
|
public class ShiJiaoQiTuLiCtrlPanel : UIBase
|
|
{
|
|
private Button sjqButton;//示教器按鈕
|
|
private List<Toggle> sJQToggles=new List<Toggle>();//Toggle列表
|
|
//[HideInInspector]
|
|
//public SJQState jQState = SJQState.None;//示教器状态枚举
|
|
[NonSerialized]//需要受控的对象
|
|
public GameObject sjq;
|
|
private int clickCount = 0;//按钮点击次數
|
|
public Action _ShouQiCall = null;
|
|
public Action _ZhanKaiCall = null;
|
|
public Action _YinCangCall = null;
|
|
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
}
|
|
void Start()
|
|
{
|
|
sjqButton = transform.GetComponent<Button>();
|
|
sJQToggles.Add(transform.Find("TogglePanel/shouqiTog").GetComponent<Toggle>());
|
|
sJQToggles.Add(transform.Find("TogglePanel/zhankaiTog").GetComponent<Toggle>());
|
|
sJQToggles.Add(transform.Find("TogglePanel/yincangTog").GetComponent<Toggle>());
|
|
sjqButton.onClick.AddListener(OnSJQButtonClick);
|
|
foreach (var item in sJQToggles)
|
|
{
|
|
item.onValueChanged.AddListener((args) => OnSJQToggleClick(item, args));
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 示教器按鈕點擊事件
|
|
/// </summary>
|
|
public void OnSJQButtonClick()
|
|
{
|
|
clickCount++;
|
|
if (clickCount == 1)
|
|
{
|
|
//OnSJQToggleState(SJQState.Retract);
|
|
_ShouQiCall?.Invoke();
|
|
sJQToggles[0].isOn = true;
|
|
}
|
|
else if (clickCount == 2)
|
|
{
|
|
//OnSJQToggleState(SJQState.Expand);
|
|
_ZhanKaiCall?.Invoke();
|
|
sJQToggles[1].isOn = true;
|
|
}
|
|
else if (clickCount == 3)
|
|
{
|
|
//OnSJQToggleState(SJQState.Hide);
|
|
_YinCangCall?.Invoke();
|
|
sJQToggles[2].isOn = true;
|
|
clickCount = 0;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 示教器Toggle点击事件
|
|
/// </summary>
|
|
public void OnSJQToggleClick(Toggle toggle, bool args)
|
|
{
|
|
if (args)
|
|
{
|
|
if (toggle.transform.GetComponentInChildren<Text>().text == "收起")
|
|
{
|
|
_ShouQiCall?.Invoke();
|
|
//jQState = SJQState.Retract;
|
|
//OnSJQToggleState(jQState);
|
|
}
|
|
else if (toggle.transform.GetComponentInChildren<Text>().text == "展开")
|
|
{
|
|
_ZhanKaiCall?.Invoke();
|
|
//jQState = SJQState.Expand;
|
|
//OnSJQToggleState(jQState);
|
|
}
|
|
else if (toggle.transform.GetComponentInChildren<Text>().text == "隐藏")
|
|
{
|
|
_YinCangCall?.Invoke();
|
|
//jQState = SJQState.Hide;
|
|
//OnSJQToggleState(jQState);
|
|
}
|
|
}
|
|
}
|
|
///// <summary>
|
|
///// 设置示教器状态
|
|
///// </summary>
|
|
//public void OnSJQToggleState(SJQState jQState)
|
|
//{
|
|
// switch (jQState)
|
|
// {
|
|
// case SJQState.Retract:
|
|
// sjq.transform.DOScale(Vector3.one * 0.5f, 1.0f);
|
|
// break;
|
|
// case SJQState.Expand:
|
|
// sjq.transform.DOScale(Vector3.one * 1.0f, 1.0f);
|
|
// break;
|
|
// case SJQState.Hide:
|
|
// sjq.transform.DOScale(Vector3.zero, 1.0f);
|
|
// break;
|
|
// case SJQState.None:
|
|
// break;
|
|
// default:
|
|
// break;
|
|
// }
|
|
//}
|
|
}
|
|
}
|