备份CatanBuilding瘦身独立工程
This commit is contained in:
95
Assets/Scripts/TravelMap/TraveMapScrollViewController.cs
Normal file
95
Assets/Scripts/TravelMap/TraveMapScrollViewController.cs
Normal file
@@ -0,0 +1,95 @@
|
||||
using EnhancedUI.EnhancedScroller;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
public class TraveMapScrollViewController : EnhancedScroller, IEnhancedScrollerDelegate
|
||||
{
|
||||
TravelMapCtrl m_ctrl;
|
||||
EnhancedScroller m_Scroller;
|
||||
public TraveMapItem mapItemLeft;
|
||||
public TraveMapItem mapItemRight;
|
||||
List<TraveMapItemData> scrollerDataList = new List<TraveMapItemData>();
|
||||
int lastLeft = 0;
|
||||
|
||||
GameObject m_tips_noopen;
|
||||
public void Init(GameObject tips_noopen, EnhancedScroller scroller, TravelMapCtrl ctrl)
|
||||
{
|
||||
m_tips_noopen = tips_noopen;
|
||||
m_Scroller = scroller;
|
||||
m_ctrl = ctrl;
|
||||
scrollerDataList = m_ctrl.traveMapDataManager.mapItemList;
|
||||
//InitScrollerListData();
|
||||
lastLeft = scrollerDataList.Count % 2;
|
||||
m_Scroller.Delegate = this;
|
||||
m_Scroller.ReloadData();
|
||||
}
|
||||
public EnhancedScrollerCellView GetCellView(EnhancedScroller scroller, int dataIndex, int cellIndex)
|
||||
{
|
||||
TraveMapItem cellView;
|
||||
if (dataIndex % 2 == lastLeft)
|
||||
{
|
||||
cellView = scroller.GetCellView(mapItemLeft) as TraveMapItem;
|
||||
}
|
||||
else
|
||||
{
|
||||
cellView = scroller.GetCellView(mapItemRight) as TraveMapItem;
|
||||
}
|
||||
TraveMapItemData data = scrollerDataList[dataIndex];
|
||||
if (cellView.data != null && cellView.data.showTips)
|
||||
{
|
||||
//隐藏提示
|
||||
m_tips_noopen.SetActive(false);
|
||||
}
|
||||
if (data.showTips)
|
||||
{
|
||||
//显示提示
|
||||
m_tips_noopen.SetActive(true);
|
||||
}
|
||||
|
||||
cellView.SetData(data);
|
||||
cellView.onClickAction = OnClickMapItem;
|
||||
//cellView.gameObject.name = data.DataType + "-" + GetTypeDataIndex(data.DataType, dataIndex);
|
||||
return cellView;
|
||||
}
|
||||
|
||||
public float GetCellViewSize(EnhancedScroller scroller, int dataIndex)
|
||||
{
|
||||
return 541;
|
||||
}
|
||||
|
||||
public int GetNumberOfCells(EnhancedScroller scroller)
|
||||
{
|
||||
return scrollerDataList.Count;
|
||||
}
|
||||
|
||||
public void OnClickMapItem(TraveMapItemData data)
|
||||
{
|
||||
if (data.type == TraveMapType.current)
|
||||
{
|
||||
m_ctrl.InBuildAct();
|
||||
}
|
||||
else if (data.type == TraveMapType.unlocked)
|
||||
{
|
||||
m_ctrl.InVisit(data.index);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public TraveMapItem GetCurrentItem()
|
||||
{
|
||||
if (Container == null) return null;
|
||||
TraveMapItem[] items = Container.GetComponentsInChildren<TraveMapItem>();
|
||||
if (items == null || items.Length < 1) return null;
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
if (item.data.type == TraveMapType.current) return item;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user