//**********************************************// //作者:#李云峰# //日期:#2-15.06.12# //简述:#用于管理物品和装备所用的altas# //*********************************************// using UnityEngine; using System.Collections; using System.Collections.Generic; using Thousandto.Core.Base; namespace Thousandto.Plugins.Common { /// <summary> /// 类ItemAndEquipAltas说明 /// </summary> public class UIIconAltas { #region //私有变量 private UIAtlas _altas; //altas 引用 private int _retainCount; //引用计数,用于管理载入和删除altas private string _altasName; //altas 名字 private int _index; //altas的索引 private List<MyAction<UIAtlas>> _callBackList = new List<MyAction<UIAtlas>>(); #endregion #region //属性 public UIAtlas Altas { get { return _altas; } set { _altas = value; } } public int RetainCount { get { return _retainCount; } set { _retainCount = value; if (_retainCount < 0) { _retainCount = 0; } } } public string AltasName { get { return _altasName; } set { _altasName = value; } } public int Index { get { return _index; } set { _index = value; } } #endregion #region //构造函数 public UIIconAltas() { _altas = null; _retainCount = 0; _altasName = ""; _index = -1; } public void AddCallBack(MyAction<UIAtlas> callBack) { //FLogger.LogError("1UIIconAltas:AddCallBack", _altasName,_retainCount); if (callBack != null) { //FLogger.LogError("2UIIconAltas:AddCallBack", _altasName, _retainCount); if (_altas != null) { callBack(_altas); } else { //FLogger.LogError("3UIIconAltas:AddCallBack", _altasName, _retainCount); _callBackList.Add(callBack); } } } public void RemoveCallBack(MyAction<UIAtlas> callBack) { //FLogger.LogError("UIIconAltas:RemoveCallBack", _altasName, _retainCount); if (callBack != null && _callBackList.Count > 0) { _callBackList.Remove(callBack); } } public void DoCallBack() { //FLogger.LogError("UIIconAltas:DoCallBack", _altasName, _retainCount, _callBackList.Count); for (int i = 0; i < _callBackList.Count; i++) { _callBackList[i](_altas); } _callBackList.Clear(); } #endregion } }