TableturfBattleApp/TableturfBattleServer/Move.cs
2023-11-23 12:24:57 +11:00

22 lines
928 B
C#

using System.ComponentModel;
namespace TableturfBattleServer;
public class Move(Card card, bool isPass, int x, int y, int rotation, bool isSpecialAttack, bool isTimeout) {
public Card Card { get; } = card ?? throw new ArgumentNullException(nameof(card));
public bool IsPass { get; } = isPass;
public int X { get; } = x;
public int Y { get; } = y;
public int Rotation { get; } = rotation;
public bool IsSpecialAttack { get; } = isSpecialAttack;
public bool IsTimeout { get; } = isTimeout;
[EditorBrowsable(EditorBrowsableState.Never)]
public bool ShouldSerializeX() => !this.IsPass;
[EditorBrowsable(EditorBrowsableState.Never)]
public bool ShouldSerializeY() => !this.IsPass;
[EditorBrowsable(EditorBrowsableState.Never)]
public bool ShouldSerializeRotation() => !this.IsPass;
[EditorBrowsable(EditorBrowsableState.Never)]
public bool ShouldSerializeIsSpecialAttack() => !this.IsPass;
}