예제 #1
0
    public Player(
        string name,
        string email,
        Status playerStatus,
        int personalNumber,
        string?nickname,
        string[] roles,
        PlayerItem?playerItem = null,
        string?uniqueId       = null,
        bool?hidden           = null)
    {
        Name           = name ?? throw new ArgumentNullException(nameof(name));
        Email          = email; // allow null
        PlayerStatus   = playerStatus;
        PersonalNumber = (personalNumber != 0 ? personalNumber : playerItem?.GetPersonalNumber()) ?? 0;
        Nickname       = string.IsNullOrEmpty(nickname) ? name : nickname;
        Roles          = roles ?? new string[0];

        // nullable fields
        PlayerItem = playerItem;
        Hidden     = hidden ?? false;
        UniqueId   = uniqueId ?? Guid.NewGuid().ToString();
    }