Files
TierMakerGodot/Settings.cs
2024-04-21 15:43:32 -05:00

39 lines
1.2 KiB
C#

using System.Collections.Generic;
using Godot;
public partial class Settings : Node
{
public bool AllowStreamer { get; set; }
public bool AllowModerators { get; set; }
public List<string> UserWhitelist { get; } = new();
public List<string> UserBlacklist { get; } = new();
public Vector2 CardSize { get; private set; }
[Signal]
public delegate void ChangeCardSizeEventHandler(Vector2 size);
public void SetCardSize(Vector2 size)
{
CardSize = size;
EmitSignal(SignalName.ChangeCardSize, size);
}
public bool IsUserAuthorized(string user, bool isStreamer = false, bool isModerator = false)
{
if (UserBlacklist.Contains(user))
return false;
if (UserWhitelist.Contains(user))
return true;
if (AllowStreamer && isStreamer)
return true;
if (AllowModerators && isModerator)
return true;
return false;
}
public void SetUserLists(IEnumerable<string> white, IEnumerable<string> black)
{
UserWhitelist.Clear();
UserWhitelist.AddRange(white);
UserBlacklist.Clear();
UserBlacklist.AddRange(black);
}
}