| System/OpenServerActivity/PoolItemCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/PoolItemCell.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/WishingPoolModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/WishingPoolModel.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/WishingPoolWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/WishingPoolWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/OpenServerActivity/PoolItemCell.cs
New file @@ -0,0 +1,42 @@ using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; namespace Snxxz.UI { public class PoolItemCell : MonoBehaviour,IDragHandler,IDropHandler { [SerializeField] CommonItemBaisc itemBaisc; [SerializeField] GameObject bestIconObj; ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } WishingPoolModel wishingModel { get { return ModelCenter.Instance.GetModel<WishingPoolModel>(); } } int itemId = 0; public void OnDrag(PointerEventData eventData) { Debug.Log("拖拽开始"); wishingModel.isDraging = true; wishingModel.dragItemId = itemId; } public void OnDrop(PointerEventData eventData) { Debug.Log("拖拽结束"); wishingModel.ResetDragData(); } public void Display(int itemId) { this.itemId = itemId; bestIconObj.SetActive(false); ItemCellModel cellModel = new ItemCellModel(itemId); itemBaisc.Init(cellModel); itemBaisc.cellBtn.RemoveAllListeners(); itemBaisc.cellBtn.AddListener(()=> { ItemAttrData attrData = new ItemAttrData(itemId); tipsModel.SetItemTipsModel(attrData); }); } } } System/OpenServerActivity/PoolItemCell.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: cfb17095c4683604ab0d6ee15f706366 timeCreated: 1539852829 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/OpenServerActivity/WishingPoolModel.cs
New file @@ -0,0 +1,81 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class WishingPoolModel : Model,IBeforePlayerDataInitialize,IPlayerLoginOk { public override void Init() { } public void OnBeforePlayerDataInitialize() { ResetDragData(); ResetPoolData(); } public void OnPlayerLoginOk() { SetWishingPoolData(); } public override void UnInit() { } #region 本地数据 public bool isDraging { get; set; } public int dragItemId { get; set; } public void ResetDragData() { isDraging = false; dragItemId = 0; } #endregion #region 协议 Dictionary<int, int> poolDataDict = new Dictionary<int, int>(); public void SetWishingPoolData() { for(int i = 0; i< 8; i++) { int itemId = 10101 + i; poolDataDict.Add(i,itemId); } } Dictionary<int, int> wishingDataDict = new Dictionary<int, int>(); public void SetWishingData(int index,int id) { if(!wishingDataDict.ContainsKey(index)) { wishingDataDict.Add(index,id); } else { wishingDataDict[index] = id; } } public bool TryGetPoolDataByIndex(int index,out int id) { return poolDataDict.TryGetValue(index,out id); } public bool TryGetWishDataByIndex(int index, out int id) { return wishingDataDict.TryGetValue(index, out id); } #endregion public void ResetPoolData() { poolDataDict.Clear(); wishingDataDict.Clear(); } } } System/OpenServerActivity/WishingPoolModel.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 15695b2ce757fe2489989e1c5b8112c2 timeCreated: 1539851881 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/OpenServerActivity/WishingPoolWin.cs
New file @@ -0,0 +1,129 @@ using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; using System; namespace Snxxz.UI { public class WishingPoolWin : Window { [SerializeField] DragItem dragItem; [SerializeField] List<PoolItemCell> poolItemCells = new List<PoolItemCell>(); [SerializeField] List<WishingCell> wishingCells = new List<WishingCell>(); ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } WishingPoolModel wishingModel { get { return ModelCenter.Instance.GetModel<WishingPoolModel>(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion private void Display() { UpdatePoolItem(); for(int i = 0; i < wishingCells.Count; i++) { UpdateWishItemByIndex(i); } } protected override void LateUpdate() { if(wishingModel.isDraging) { } } private void UpdatePoolItem() { for (int i = 0; i < poolItemCells.Count; i++) { UpdatePoolItemByIndex(i); } } private void UpdatePoolItemByIndex(int index) { int id = 0; var poolItemCell = poolItemCells[index]; bool isPoolData = wishingModel.TryGetPoolDataByIndex(index, out id); if (isPoolData) { poolItemCell.gameObject.SetActive(true); poolItemCell.Display(id); } else { poolItemCell.gameObject.SetActive(false); } } private void UpdateWishItemByIndex(int index) { int id = 0; var wishCell = wishingCells[index]; bool isWishData = wishingModel.TryGetWishDataByIndex(index, out id); if (isWishData) { wishCell.itemBaisc.gameObject.SetActive(true); wishCell.noneItemObj.gameObject.SetActive(false); ItemCellModel cellModel = new ItemCellModel(id); wishCell.itemBaisc.Init(cellModel); wishCell.itemBaisc.cellBtn.RemoveAllListeners(); wishCell.itemBaisc.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(id); tipsModel.SetItemTipsModel(attrData); }); } else { wishCell.itemBaisc.gameObject.SetActive(false); wishCell.noneItemObj.gameObject.SetActive(true); } } [Serializable] public class WishingCell { public CommonItemBaisc itemBaisc; public GameObject noneItemObj; public Button noneItemBtn; } [Serializable] public class DragItem { [SerializeField] CommonItemBaisc dragItemBasic; [SerializeField] GameObject dragBestIcon; } } } System/OpenServerActivity/WishingPoolWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: c258b8a747a14734ea67448bf5870305 timeCreated: 1539851707 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: