-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConfigs.cs
More file actions
92 lines (89 loc) · 5.66 KB
/
Configs.cs
File metadata and controls
92 lines (89 loc) · 5.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using CustomPlayerEffects;
using EffectDisplay.Features.Sereliazer;
using Exiled.API.Enums;
using Exiled.API.Features;
using Exiled.API.Interfaces;
using PlayerRoles;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
namespace EffectDisplay
{
public class Configs : IConfig
{
[Description("will the plugin be active?")]
public bool IsEnabled { get; set; } = true;
[Description("will information be displayed for the developer, will help when errors are detected")]
public bool Debug { get; set; } = false;
[Description("will a database be used")]
public bool DataBaseEnabled { get; set; } = true;
[Description("the time period for which information is updated")]
public float UpdateTime { get; set; } = 0.9f;
[Description("these lines will be displayed for each effect type separately, allowing you to customize them")]
public Dictionary<StatusEffectBase.EffectClassification, string> EffectLine { get; set; } = new Dictionary<StatusEffectBase.EffectClassification, string>()
{
{StatusEffectBase.EffectClassification.Mixed, $"<color=purple>%effect%</color> -> %time%/%duration% LVL: %intensity%" },
{StatusEffectBase.EffectClassification.Positive, $"<color=green>%effect%</color> -> %time%/%duration% LVL: %intensity%" },
{StatusEffectBase.EffectClassification.Negative, $"<color=red>%effect%</color> -> %time%/%duration% LVL: %intensity%" },
{StatusEffectBase.EffectClassification.Technical, " " }
};
[Description("defines a list of effects that the player will not see (the effects of the technical process are hidden)")]
public List<EffectType> BlackList { get; set; } = new List<EffectType>()
{
EffectType.InsufficientLighting,
EffectType.SoundtrackMute,
EffectType.FogControl
};
[Description("https://discord.com/channels/656673194693885975/1172647045237067788/1172647045237067788 determines the name of the effect from the existing list to the one you specify")]
public Dictionary<EffectType, string> EffectTranslation { get; set; } = new Dictionary<EffectType, string>()
{
{ EffectType.None, "UnkownEffect" }
};
[Description("Full path to data base")]
public string DataPath { get; set; } = Path.Combine(Paths.Configs, "EffectDisplay", "data.db");
[Description("List of roles for which the effects display will not be displayed (the roles of the dead are ignored without configs sets)")]
public List<RoleTypeId> IgnoredRoles { get; set; } = new List<RoleTypeId>()
{
RoleTypeId.None,
RoleTypeId.Spectator
};
[Description("Standard settings for displaying information, used in the absence of any supported Hint providers")]
public NativeHintSettings NativeHintSettings { get; set; } = new NativeHintSettings();
[Description("What text will the user see when hovering over a question mark in the settings?")]
public string EnabledDisplayDescription { get; set; } = "Determines whether the display of enabled effects is enabled, replaces .display in the console";
[Description("Will the plugin notify you of a new update")]
public bool CheckForUpdate { get; set; } = true;
[Description("SSS component ID for the main field item (do not duplicate with others)")]
public int HeaderId { get; set; } = 2030;
[Description("Display text when hovering over a question mark")]
public string HeaderDescription { get; set; } = "Provides settings for Effect Display";
[Description("SSS component ID for the TwoButton (do not duplicate with others)")]
public int TwoButtonId { get; set; } = 2031;
[Description("Name of TwoButton field")]
public string TwoButtonLabel { get; set; } = "Time effect display";
[Description("First option name")]
public string TwoButtonEnabled { get; set; } = "ON";
[Description("Second option name")]
public string TwoButtonDisabled { get; set; } = "OFF";
[Description("The player sees this message if you have disabled the database or the file was not found, meaning it is not allowed to be used.")]
public string MessageWnenDataBaseDisabled { get; set; } = "The specified server does not have this function.";
[Description("The player sees this message when turning on the display component.")]
public string MessageWhenPlayerEnabled { get; set; } = "You have <b>enabled</b> the display of active effects.";
[Description("The player sees this message when turning off the display component.")]
public string MessageWhenPlayerDisabled { get; set; } = "You have <b>disabled</b> the display of active effects.";
[Description("The player sees this message when the server was unable to find the player component or the player himself (for example, a call from the Dedicated Server)")]
public string MessageWhenErrorOccurred { get; set; } = "The player's effects display component was not found, or the player himself was not found.";
/// <summary>
/// Return effect name from <see cref="EffectTranslation"/> if not found return <see cref="EffectType"/> as <see cref="string"></see>
/// </summary>
public string GetName(EffectType effectType)
{
string name = string.Empty;
if (EffectTranslation.TryGetValue(effectType, out name))
{
return name;
}
return effectType.ToString();
}
}
}