Files
spotify-honorific/SpotifyHonorific/Activities/ActivityConfig.cs
2025-06-07 02:03:54 +03:00

49 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
namespace SpotifyHonorific.Activities;
[Serializable]
public class ActivityConfig
{
public static readonly int DEFAULT_VERSION = 1;
private static readonly List<ActivityConfig> DEFAULTS = [
new() {
Name = $"Spotify (V{DEFAULT_VERSION})",
Priority = 1,
TitleTemplate = """
{{- if (Context.SecsElapsed % 30) < 10 -}}
Listening to Spotify
{{- else if (Context.SecsElapsed % 30) < 20 -}}
{{ Activity.SongName | string.truncate 30 }}
{{- else -}}
{{ Activity.Artist | string.truncate 30 }}
{{- end -}}
"""
}
];
public string Name { get; set; } = string.Empty;
public bool Enabled { get; set; } = true;
public int Priority { get; set; } = 0;
public string TypeName { get; set; } = string.Empty;
public string FilterTemplate { get; set; } = string.Empty;
public string TitleTemplate { get; set; } = string.Empty;
public bool IsPrefix { get; set; } = false;
public Vector3? Color { get; set; }
public Vector3? Glow { get; set; }
public ActivityConfig Clone()
{
return (ActivityConfig)MemberwiseClone();
}
public static List<ActivityConfig> GetDefaults()
{
return DEFAULTS.Select(c => c.Clone()).ToList();
}
}