-
Notifications
You must be signed in to change notification settings - Fork 0
/
Core.cs
43 lines (34 loc) · 1.22 KB
/
Core.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
namespace Core
{
public readonly struct Position
{
public int x { get; }
public int y { get; }
public Position(int _x, int _y)
{
x = _x;
y = _y;
}
public static Position operator +(Position a, Position b) => new Position(a.x + b.x, a.y + b.y);
public static implicit operator string(Position _pos) => $"({_pos.x},{_pos.y})";
}
public static class RenderCore
{
public static void DrawPixel(char _pixel, Position _pos, ConsoleColor _color)
{
Console.ForegroundColor = _color;
Console.SetCursorPosition(_pos.x, _pos.y);
Console.Write(_pixel);
}
public static void DrawPixel(char _pixel, Position _pos) => DrawPixel(_pixel, _pos, ConsoleColor.Gray);
public static void DrawText(string _text, Position _pos, ConsoleColor _color)
{
Console.ForegroundColor = _color;
Console.SetCursorPosition(_pos.x, _pos.y);
Console.Write(_text + " ");
}
public static void DrawText(string _text, Position _pos) => DrawText(_text, _pos, ConsoleColor.Gray);
}
}