using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using System;
///
///
///
public class MySortToggle : MonoBehaviour
{
///
///
///
public CustomizeSortRule curRule = CustomizeSortRule.none;
///
///
///
private GameObject mAsc;
///
///
///
private GameObject mDesc;
///
/// 按钮的选中发生状态对外提供的处理回调
///
private Action OnSortRuleChangedCallBack;
// Use this for initialization
public void Init(Action _valueChangedCallBack)
{
OnSortRuleChangedCallBack = _valueChangedCallBack;
mAsc = this.transform.Find("asc").gameObject;
mDesc = this.transform.Find("desc").gameObject;
mAsc.SetActive(false);
mDesc.SetActive(false);
EventTriggerListenerDialog.Get(gameObject).onClick = ((_btn) =>
{
OnClicked();
});
}
///
///
///
///
private void OnClicked()
{
if (curRule == CustomizeSortRule.none)
{
curRule = CustomizeSortRule.升序排序;
}
else if (curRule == CustomizeSortRule.升序排序)
{
curRule = CustomizeSortRule.降序排序;
}
else if (curRule == CustomizeSortRule.降序排序)
{
curRule = CustomizeSortRule.升序排序;
}
RefreshToggleState();
if (OnSortRuleChangedCallBack != null)
{
OnSortRuleChangedCallBack((int)curRule);
}
}
///
///
///
void OnDestory()
{
curRule = CustomizeSortRule.none;
RefreshToggleState();
OnSortRuleChangedCallBack = null;
}
///
///
///
void RefreshToggleState()
{
switch (curRule)
{
case CustomizeSortRule.none:
mAsc.SetActive(false);
mDesc.SetActive(false);
break;
case CustomizeSortRule.升序排序:
mAsc.SetActive(true);
mDesc.SetActive(false);
break;
case CustomizeSortRule.降序排序:
mAsc.SetActive(false);
mDesc.SetActive(true);
break;
}
}
}
public enum CustomizeSortRule
{
none = 0,
升序排序 = 1,
降序排序 = 2,
}