/// <summary> /// 倒序摸牌 /// </summary> /// <returns></returns> public MahjongItem RevPopMahjong() { int index = 0; var mayIndex = MahjongList.Count - 2; if (mayIndex >= 0 && MahjongList.Count % 2 == 0) { index = mayIndex; } else { index = MahjongList.Count - 1; } MahjongItem item = MahjongList[index]; MahjongList.RemoveAt(index); MahjongManager.Instance.Recycle(item); if (MahjongList.Count <= 0) { EventDispatch.Dispatch((int)GameEventId.RevWallMahjongFinish, new EventData()); } return(item); }
//用来处理 获取最后麻将时候 index 的偏移 public override MahjongItem GetLastMj() { MahjongItem item = null; if (MahjongList.Count == 0) { return(null); } else if (MahjongList.Count == 1) { item = MahjongList[0]; MahjongList.RemoveAt(0); return(item); } int index = MahjongList.Count - 2; if (MahjongList[index].transform.position.y > 0.4f) { item = MahjongList[index]; MahjongList.RemoveAt(index); return(item); } item = MahjongList[index + 1]; MahjongList.RemoveAt(index + 1); return(item); }
public virtual MahjongItem PopMahjong() { MahjongItem item = MahjongList[MahjongList.Count - 1]; MahjongList.RemoveAt(MahjongList.Count - 1); MahjongManager.Instance.Recycle(item); return(item); }
public MahjongItem PopMahjong() { MahjongItem item = MahjongList[StartIndex]; MahjongList.RemoveAt(StartIndex); MahjongManager.Instance.Recycle(item); if (StartIndex >= MahjongList.Count) { StartIndex = 0; EventDispatch.Dispatch((int)GameEventId.WallMahjongFinish, new EventData()); } return(item); }
public void PopMahjong(int cnt) { for (int i = 0; i < cnt; i++) { MahjongItem item = MahjongList[StartIndex]; MahjongList.RemoveAt(StartIndex); MahjongManager.Instance.Recycle(item); if (StartIndex >= MahjongList.Count) { StartIndex = 0; EventDispatch.Dispatch((int)GameEventId.WallMahjongFinish, new EventData(cnt - (i + 1))); break; } } }