| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- using Robust.Shared.Serialization;
- namespace Content.Shared.Arcade
- {
- [Serializable, NetSerializable]
- public struct BlockGameBlock
- {
- public Vector2i Position;
- public readonly BlockGameBlockColor GameBlockColor;
- public BlockGameBlock(Vector2i position, BlockGameBlockColor gameBlockColor)
- {
- Position = position;
- GameBlockColor = gameBlockColor;
- }
- [Serializable, NetSerializable]
- public enum BlockGameBlockColor
- {
- Red,
- Orange,
- Yellow,
- Green,
- Blue,
- LightBlue,
- 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
- };
- }
- }
- public static class BlockGameVector2Extensions
- {
- public static BlockGameBlock ToBlockGameBlock(this Vector2i vector2, BlockGameBlock.BlockGameBlockColor gameBlockColor)
- {
- return new(vector2, gameBlockColor);
- }
- public static Vector2i AddToX(this Vector2i vector2, int amount)
- {
- return new(vector2.X + amount, vector2.Y);
- }
- public static Vector2i AddToY(this Vector2i vector2, int amount)
- {
- return new(vector2.X, vector2.Y + amount);
- }
- public static Vector2i Rotate90DegreesAsOffset(this Vector2i vector)
- {
- return new(-vector.Y, vector.X);
- }
- }
- }
|