예제 #1
0
 public MatchedCase(List <Cell> candidates, Cell targetCell, MatchedType matchedType, CandyColor candyColor)
 {
     this.Candidates  = candidates;
     this.TargetCell  = targetCell;
     this.MatchedType = matchedType;
     this.CandyColor  = candyColor;
 }
예제 #2
0
    private void SpawnPoints(Vector2 position, int points, CandyColor candyColor)
    {
        PointsController point = Instantiate(m_pointsController, position, m_pointsController.transform.rotation) as PointsController;

        point.gameObject.transform.SetParent(gameObject.transform, false);
        point.SetUp(position, points, m_candyColor2RGBAColorDictonary[candyColor]);
    }
예제 #3
0
 public CellData(int rowNum, int colNum, CandyColor color , CandyEffect effect)
 {
     m_rowNum = rowNum;
     m_colNum = colNum;
     m_color = color;
     m_candyEffect = effect;
     Reset(rowNum, colNum, color, effect);
 }
예제 #4
0
파일: Grid.cs 프로젝트: JackyCBN/CandyLike
 public void SetColor(int row, int col, CandyColor color)
 {
     m_cellDatas[row, col].Color = color;
 }
예제 #5
0
파일: Grid.cs 프로젝트: JackyCBN/CandyLike
 /// <summary>
 /// 
 /// </summary>
 /// <param name="row">从0索引开始</param>
 /// <param name="col">从0索引开始</param>
 /// <param name="direction"></param>
 /// <param name="customColor"></param>
 /// <param name="outList"></param>
 /// <returns></returns>
 private bool MatchThree(int row, int col, CandyDirection direction, CandyColor customColor, List<CellData> outList = null)
 {
     bool bMatch = false;
     switch (direction)
     {
         case CandyDirection.Left:
             if (col > 1)
             {
                 bMatch = (m_cellDatas[row, col - 2].Color == m_cellDatas[row, col - 1].Color
                     && m_cellDatas[row, col - 1].Color == customColor);
                 if (bMatch && outList != null)
                 {
                     outList.Add(m_cellDatas[row, col]);
                     outList.Add(m_cellDatas[row, col - 1]);
                     outList.Add(m_cellDatas[row, col - 2]);
                 }
             }
             break;
         case CandyDirection.Right:
             if (col < Cols - 2)
             {
                 bMatch = (customColor == m_cellDatas[row, col + 1].Color
                     && m_cellDatas[row, col + 1].Color == m_cellDatas[row, col + 2].Color);
                 if (bMatch && outList != null)
                 {
                     outList.Add(m_cellDatas[row, col]);
                     outList.Add(m_cellDatas[row, col + 1]);
                     outList.Add(m_cellDatas[row, col + 2]);
                 }
             }
             break;
         case CandyDirection.Upper:
             if (row > 1)
             {
                 bMatch = (m_cellDatas[row - 2, col].Color == m_cellDatas[row - 1, col].Color
                     && m_cellDatas[row - 1, col].Color == customColor);
                 if (bMatch && outList != null)
                 {
                     outList.Add(m_cellDatas[row, col]);
                     outList.Add(m_cellDatas[row - 1, col]);
                     outList.Add(m_cellDatas[row - 2, col]);
                 }
             }
             break;
         case CandyDirection.Down:
             if (row < Rows - 2)
             {
                 bMatch = (customColor == m_cellDatas[row + 1, col].Color
                     && m_cellDatas[row + 1, col].Color == m_cellDatas[row + 2, col].Color);
                 if (bMatch && outList != null)
                 {
                     outList.Add(m_cellDatas[row, col]);
                     outList.Add(m_cellDatas[row + 1, col]);
                     outList.Add(m_cellDatas[row + 2, col]);
                 }
             }
             break;
     }
     return bMatch;
 }
예제 #6
0
 public void Reset(int rowNum, int colNum, CandyColor color, CandyEffect effect)
 {
     RowNum = rowNum;
     ColNum = colNum;
     m_color = color;
     m_candyEffect = effect;
 }
예제 #7
0
 public CandyConfig(CandyColor candyColor, CandyType candyType)
 {
     this.CandyColor = candyColor;
     this.CandyType  = candyType;
 }