public void AlltileGetSurroundCard() { ///测定计算周围的卡片 foreach (TileCard tc in m_tileCardMap) { TileCard up = null; TileCard down = null; TileCard left = null; TileCard right = null; TileCardAnchor upAnchor = new TileCardAnchor(tc.m_Anchor.x, tc.m_Anchor.y + 1); TileCardAnchor downAnchor = new TileCardAnchor(tc.m_Anchor.x, tc.m_Anchor.y - 1); TileCardAnchor leftAnchor = new TileCardAnchor(tc.m_Anchor.x - 1, tc.m_Anchor.y); TileCardAnchor rightAnchor = new TileCardAnchor(tc.m_Anchor.x + 1, tc.m_Anchor.y); if (upAnchor.x >= 0 && upAnchor.x < 4 && upAnchor.y >= 0 && upAnchor.y < 4) { up = m_tileCardMap[upAnchor.x, upAnchor.y]; } if (downAnchor.x >= 0 && downAnchor.x < 4 && downAnchor.y >= 0 && downAnchor.y < 4) { down = m_tileCardMap[downAnchor.x, downAnchor.y]; } if (leftAnchor.x >= 0 && leftAnchor.x < 4 && leftAnchor.y >= 0 && leftAnchor.y < 4) { left = m_tileCardMap[leftAnchor.x, leftAnchor.y]; } if (rightAnchor.x >= 0 && rightAnchor.x < 4 && rightAnchor.y >= 0 && rightAnchor.y < 4) { right = m_tileCardMap[rightAnchor.x, rightAnchor.y]; } NeighborCard nc = new NeighborCard(up, down, left, right); tc.StartByTileCardMangerSetNeighbor(nc); } }
public NeighborCard(NeighborCard n) { up = n.up; down = n.down; left = n.left; right = n.right; if (up) { allTileCard.Add(up); } if (down) { allTileCard.Add(down); } if (left) { allTileCard.Add(left); } if (right) { allTileCard.Add(right); } }
private void Awake() { m_Calculate = GetComponent <TileObjCalculate>(); for (int x = 0; x < 4; x++) { for (int y = 0; y < 4; y++) { TileCardAnchor tca = new TileCardAnchor(x, y); m_tileCardAnchorMap[x, y] = tca; } } foreach (TileCardAnchor tca in m_tileCardAnchorMap) { GameObject obj = Instantiate(m_TileCardPrefab, tca.position, transform.rotation); m_tileCardMap[tca.x, tca.y] = obj.GetComponent <TileCard>(); StringBuilder sb = new StringBuilder(tca.x + "," + tca.y); obj.name = sb.ToString(); obj.GetComponent <TileCard>().StartByTileCardManger(tca); } ///测定计算周围的卡片 foreach (TileCard tc in m_tileCardMap) { TileCard up = null; TileCard down = null; TileCard left = null; TileCard right = null; TileCardAnchor upAnchor = new TileCardAnchor(tc.m_Anchor.x, tc.m_Anchor.y + 1); TileCardAnchor downAnchor = new TileCardAnchor(tc.m_Anchor.x, tc.m_Anchor.y - 1); TileCardAnchor leftAnchor = new TileCardAnchor(tc.m_Anchor.x - 1, tc.m_Anchor.y); TileCardAnchor rightAnchor = new TileCardAnchor(tc.m_Anchor.x + 1, tc.m_Anchor.y); if (upAnchor.x >= 0 && upAnchor.x < 4 && upAnchor.y >= 0 && upAnchor.y < 4) { up = m_tileCardMap[upAnchor.x, upAnchor.y]; } if (downAnchor.x >= 0 && downAnchor.x < 4 && downAnchor.y >= 0 && downAnchor.y < 4) { down = m_tileCardMap[downAnchor.x, downAnchor.y]; } if (leftAnchor.x >= 0 && leftAnchor.x < 4 && leftAnchor.y >= 0 && leftAnchor.y < 4) { left = m_tileCardMap[leftAnchor.x, leftAnchor.y]; } if (rightAnchor.x >= 0 && rightAnchor.x < 4 && rightAnchor.y >= 0 && rightAnchor.y < 4) { right = m_tileCardMap[rightAnchor.x, rightAnchor.y]; } NeighborCard nc = new NeighborCard(up, down, left, right); tc.StartByTileCardMangerSetNeighbor(nc); } }
public void StartByTileCardMangerSetNeighbor(NeighborCard n) { m_neigbborCard = new NeighborCard(n); }