コード例 #1
0
ファイル: Tetramino.cs プロジェクト: Sirius504/Tetris
 public Tetramino(TetraminoTypeEnum type, int[,] matrix, Vector2 pivot, RotationStateEnum currentRotation, MinoColorsEnum color)
 {
     Type   = type;
     Matrix = matrix;
     Pivot  = pivot;
     CurrentRotationState = currentRotation;
     Color = color;
     Size  = new Vector2Int(Matrix.GetLength(0), Matrix.GetLength(1));
 }
コード例 #2
0
ファイル: ColorMaterials.cs プロジェクト: Sirius504/Tetris
        public Material GetMaterial(MinoColorsEnum color)
        {
            if (colorMaterials == null)
            {
                InitializeMaterialsDictionary();
            }

            return(colorMaterials[color]);
        }
コード例 #3
0
        public void OnMouseInput(GridInputMouseSignal signal)
        {
            var            colorValues = (MinoColorsEnum[])Enum.GetValues(typeof(MinoColorsEnum));
            MinoColorsEnum color       = colorValues[UnityEngine.Random.Range(0, colorValues.Length)];

            if (tetrisGrid.GetCell(signal.Position) != null)
            {
                tetrisGrid.DeleteMino(signal.Position);
            }
            else
            {
                tetrisGrid.CreateMino(signal.Position, color);
            }
        }
コード例 #4
0
ファイル: GameGrid.cs プロジェクト: Sirius504/Tetris
        public Mino CreateMino(int x, int y, MinoColorsEnum color)
        {
            CheckIfPositionValid(x, y);

            if (Grid[x, y] != null)
            {
                throw new ArgumentException($"Existing cell found at passed coordinates ({x}, {y}).");
            }

            var result = new Mino(color);

            Grid[x, y] = result;
            OnMinoAdded?.Invoke(new Vector2Int(x, y), result);
            return(result);
        }
コード例 #5
0
ファイル: GameGrid.cs プロジェクト: Sirius504/Tetris
 public Mino CreateMino(Vector2Int position, MinoColorsEnum color)
 {
     return(CreateMino(position.x, position.y, color));
 }
コード例 #6
0
 public Mino(MinoColorsEnum color)
 {
     Color = color;
 }
コード例 #7
0
 public void SetColor(MinoColorsEnum color)
 {
     spriteRenderer.material = colorMaterials.GetMaterial(color);
 }