3 ms·
Note to the author: Since you specifically point out that C# 7.0 is supported, this example: if (ev is InputEventMouse) { var mouseEvent = (Inp
by Arnavion 9y ago
Note to the author: Since you specifically point out that C# 7.0 is supported, this example:
if (ev is InputEventMouse)
{
var mouseEvent = (InputEventMouse)ev;
Vector2 mousePos = mouseEvent.Position;
}
else if (ev is InputEventKey)
{
var keyEvent = (InputEventKey)ev;
bool aPressed = keyEvent.Pressed && keyEvent.Scancode == GD.KEY_A;
}
would be better written as:
switch (ev)
{
case InputEventMouse mouseEvent:
Vector2 mousePos = mouseEvent.Position;
break;
case InputEventKey keyEvent:
bool aPressed = keyEvent.Pressed && keyEvent.Scancode == GD.KEY_A;
break;
}
- knocte 9y agoI think switch blocks are only worth it when you have 2 or more `else if`, otherwise a normal `if` is more readable IMHO.
- deleted 9y ago[deleted]
- tonyedgecombe 9y agoOr: if (ev is InputEventMouse mouseEvent) { Vector2 mousePos = mouseEvent.Position; } else if (ev is InputEventKey keyEvent) { bool aPressed = keyEvent.Pressed && keyEvent.Scancode == GD.KEY_A; }