@@ -682,17 +682,7 @@ namespace Content.Client.Arcade
|
|||||||
var matchingBlock = blocks.FirstOrNull(b => b.Position.X == x && b.Position.Y == y);
|
var matchingBlock = blocks.FirstOrNull(b => b.Position.X == x && b.Position.Y == y);
|
||||||
if (matchingBlock.HasValue)
|
if (matchingBlock.HasValue)
|
||||||
{
|
{
|
||||||
c = matchingBlock.Value.GameBlockColor switch
|
c = BlockGameBlock.ToColor(matchingBlock.Value.GameBlockColor);
|
||||||
{
|
|
||||||
BlockGameBlock.BlockGameBlockColor.Red => Color.Red,
|
|
||||||
BlockGameBlock.BlockGameBlockColor.Orange => Color.Orange,
|
|
||||||
BlockGameBlock.BlockGameBlockColor.Yellow => Color.Yellow,
|
|
||||||
BlockGameBlock.BlockGameBlockColor.Green => Color.LimeGreen,
|
|
||||||
BlockGameBlock.BlockGameBlockColor.Blue => Color.Blue,
|
|
||||||
BlockGameBlock.BlockGameBlockColor.Purple => Color.Purple,
|
|
||||||
BlockGameBlock.BlockGameBlockColor.LightBlue => Color.LightBlue,
|
|
||||||
_ => Color.Olive //olive is error
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
|
|||||||
@@ -700,6 +700,22 @@ namespace Content.Server.Arcade.Components
|
|||||||
var result = new List<BlockGameBlock>();
|
var result = new List<BlockGameBlock>();
|
||||||
result.AddRange(_field);
|
result.AddRange(_field);
|
||||||
result.AddRange(_currentPiece.Blocks(_currentPiecePosition, _currentRotation));
|
result.AddRange(_currentPiece.Blocks(_currentPiecePosition, _currentRotation));
|
||||||
|
|
||||||
|
var dropGhostPosition = _currentPiecePosition;
|
||||||
|
while (_currentPiece.Positions(dropGhostPosition.AddToY(1), _currentRotation)
|
||||||
|
.All(DropCheck))
|
||||||
|
{
|
||||||
|
dropGhostPosition = dropGhostPosition.AddToY(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dropGhostPosition != _currentPiecePosition)
|
||||||
|
{
|
||||||
|
var blox = _currentPiece.Blocks(dropGhostPosition, _currentRotation);
|
||||||
|
for (var i = 0; i < blox.Length; i++)
|
||||||
|
{
|
||||||
|
result.Add(new BlockGameBlock(blox[i].Position, BlockGameBlock.ToGhostBlockColor(blox[i].GameBlockColor)));
|
||||||
|
}
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,51 @@ namespace Content.Shared.Arcade
|
|||||||
Green,
|
Green,
|
||||||
Blue,
|
Blue,
|
||||||
LightBlue,
|
LightBlue,
|
||||||
Purple
|
Purple,
|
||||||
|
GhostRed,
|
||||||
|
GhostOrange,
|
||||||
|
GhostYellow,
|
||||||
|
GhostGreen,
|
||||||
|
GhostBlue,
|
||||||
|
GhostLightBlue,
|
||||||
|
GhostPurple,
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BlockGameBlockColor ToGhostBlockColor(BlockGameBlockColor inColor)
|
||||||
|
{
|
||||||
|
return inColor switch
|
||||||
|
{
|
||||||
|
BlockGameBlockColor.Red => BlockGameBlockColor.GhostRed,
|
||||||
|
BlockGameBlockColor.Orange => BlockGameBlockColor.GhostOrange,
|
||||||
|
BlockGameBlockColor.Yellow => BlockGameBlockColor.GhostYellow,
|
||||||
|
BlockGameBlockColor.Green => BlockGameBlockColor.GhostGreen,
|
||||||
|
BlockGameBlockColor.Blue => BlockGameBlockColor.GhostBlue,
|
||||||
|
BlockGameBlockColor.LightBlue => BlockGameBlockColor.GhostLightBlue,
|
||||||
|
BlockGameBlockColor.Purple => BlockGameBlockColor.GhostPurple,
|
||||||
|
_ => inColor
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Color ToColor(BlockGameBlockColor inColor)
|
||||||
|
{
|
||||||
|
return inColor switch
|
||||||
|
{
|
||||||
|
BlockGameBlockColor.Red => Color.Red,
|
||||||
|
BlockGameBlockColor.Orange => Color.Orange,
|
||||||
|
BlockGameBlockColor.Yellow => Color.Yellow,
|
||||||
|
BlockGameBlockColor.Green => Color.Lime,
|
||||||
|
BlockGameBlockColor.Blue => Color.Blue,
|
||||||
|
BlockGameBlockColor.Purple => Color.DarkOrchid,
|
||||||
|
BlockGameBlockColor.LightBlue => Color.Cyan,
|
||||||
|
BlockGameBlockColor.GhostRed => Color.Red.WithAlpha(0.33f),
|
||||||
|
BlockGameBlockColor.GhostOrange => Color.Orange.WithAlpha(0.33f),
|
||||||
|
BlockGameBlockColor.GhostYellow => Color.Yellow.WithAlpha(0.33f),
|
||||||
|
BlockGameBlockColor.GhostGreen => Color.Lime.WithAlpha(0.33f),
|
||||||
|
BlockGameBlockColor.GhostBlue => Color.Blue.WithAlpha(0.33f),
|
||||||
|
BlockGameBlockColor.GhostPurple => Color.DarkOrchid.WithAlpha(0.33f),
|
||||||
|
BlockGameBlockColor.GhostLightBlue => Color.Cyan.WithAlpha(0.33f),
|
||||||
|
_ => Color.Olive //olive is error
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user