UISliderEx 封装方法
来源:互联网 发布:网络消费积分的信用卡 编辑:程序博客网 时间:2024/06/05 20:53
using UnityEngine;using System.Collections;using System.Collections.Generic;using CommonEnum;public class UISliderEx : MonoBehaviour {UIButton _AddBtn;UIButton _SubBtn;UISlider _UISlider;UILabel _Lab;string _MaxTips = "";// 满了增加了string _MinTips = "";// 最少了不能减了int _SelectCount = 0;// 当前选中numint _AllCount = 0; // 总数int _MaxCount = 0; // 最多可选择多少numint _MinCount = 0; // 最少可选择多少numCommonDelegate.IntDelegate _Func = null;// changed事件bool _NotCanDrag = false;// 默认可正常拖拽string _Tips = "";bool _IsInit = false;void Init(){if (_IsInit)return;_IsInit = true;_AddBtn = ObjectCommon.GetChildComponent<UIButton>(gameObject, "addbtn");_SubBtn = ObjectCommon.GetChildComponent<UIButton>(gameObject, "subbtn");_UISlider = ObjectCommon.GetChildComponent<UISlider>(gameObject, "slider");_Lab = ObjectCommon.GetChildComponent<UILabel>(gameObject, "lab"); UITools.AddOnclick(_AddBtn,OnAddBtnClick);UITools.AddOnclick(_SubBtn,OnSubBtnClick);if (_UISlider != null){_UISlider.onDragProcess = OnDragProcess;_UISlider.onDragFinished = OnDragFinished;}//if (string.IsNullOrEmpty(_MaxTips))//_MaxTips = "满了,不能选择了";////if (string.IsNullOrEmpty(_MinTips))//_MinTips = "必须选择一个,不能再删除了";}public void Init(CommonDelegate.IntDelegate func,string max = "",string min = ""){_MaxTips = max;_MinTips = min;_Func = func;}void OnClear(){_SelectCount = 0;_AllCount = 0;_MaxCount = 0;_NotCanDrag = false;_Tips = "";}public void SetData(int all,int cur = 1,int min = 0,int max = -1){Init();OnClear();_SelectCount = cur;_AllCount = all;_MinCount = min == 0 ? 0 : min;_MaxCount = max == 0 ? _AllCount : max;UpdataCount(false);}void UpdataCount(bool isOperationChange = true){UITools.SetLabText(_Lab,string.Format("{0}/{1}",_SelectCount,_AllCount));UITools.SetSlider(_UISlider,(float)_SelectCount/(float)_AllCount);if (isOperationChange){if (_Func != null)_Func(_SelectCount);}}// + btnvoid OnAddBtnClick(){if (_SelectCount + 1 > _MaxCount){UITemplate.ShowInfoTips(_MaxTips);return;}_SelectCount++;UpdataCount();}// - btnvoid OnSubBtnClick(){if (_SelectCount - 1 <= 0){UITemplate.ShowInfoTips(_MinTips);return;}_SelectCount--;UpdataCount();}bool IsToMin(){int num = Mathf.CeilToInt(UITools.GetSlider(_UISlider)*_AllCount);if (num < _SelectCount)return true;return false;}void OnDragProcess(){_NotCanDrag = false;_Tips = "";int num = Mathf.CeilToInt(UITools.GetSlider(_UISlider) * _AllCount);if (num < _MinCount) {num = _MinCount;_NotCanDrag = true;// 最少要选择一个_Tips = _MinTips;}else if (num > _MaxCount){num = _MaxCount;// 最多要全选择_NotCanDrag = true;// 最少要选择一个_Tips = _MaxTips;}_SelectCount = num;UpdataCount();}void OnDragFinished(){if (_NotCanDrag)// 不能拖拽提示{if (string.IsNullOrEmpty(_Tips) == false)UITemplate.ShowInfoTips(_Tips);}_NotCanDrag = false;_Tips = "";}}
0 0
- UISliderEx 封装方法
- 封装方法
- 批量封装字段方法
- JDBC常用方法封装
- 接口 DLL 封装 方法
- 封装类的方法
- oci插入方法封装
- 获取缩略图封装方法
- swfupload上传方法封装
- selenium Webdriver 封装方法
- 分页的封装方法
- 各种方法的封装
- javascript怎么封装方法
- jQuery 的封装方法
- Selenium2 常用方法封装
- js 常用封装方法
- 自己常用方法封装
- CURL封装方法
- IOS UIScrollView 手势返回冲突处理
- 软件设计之软件系统不是木桶型的
- 数组的排序问题案例
- elasticsearch 安装过程中可遇到的问题
- 【译】Nodejs最好的ORM
- UISliderEx 封装方法
- 雅虎十四条:网站前端网页优化的14条原则
- 1098. Insertion or Heap Sort (25)
- 预处理,结构体
- iOS 极光推送开发环境可以收到,生产环境收不到推送
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- win7 python3.5.2 安装tensorflow1.1.0
- Tinker接入简单实践
- 【开源】NodeJS仿WebApi路由