-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDoubleLanguages.cs
More file actions
54 lines (45 loc) · 1.65 KB
/
Copy pathDoubleLanguages.cs
File metadata and controls
54 lines (45 loc) · 1.65 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
using System;
using System.Collections;
using Celeste.Mod.DoubleLanguages.Hooks;
using Microsoft.Xna.Framework;
using Monocle;
using MonoMod.Utils;
namespace Celeste.Mod.DoubleLanguages {
public class DoubleLanguages : EverestModule {
public static DoubleLanguages Instance { get; private set; }
public override Type SettingsType => typeof(DoubleLanguagesModuleSettings);
public static DoubleLanguagesModuleSettings Settings => (DoubleLanguagesModuleSettings) Instance._Settings;
public static Language Language = null;
public static PixelFont Font => Fonts.Get(Language.FontFace);
public DoubleLanguages() {
Instance = this;
#if DEBUG
// debug builds use verbose logging
Logger.SetLogLevel(nameof(DoubleLanguages), LogLevel.Verbose);
#else
// release builds use info logging to reduce spam in log files
Logger.SetLogLevel(nameof(DoubleLanguagesModule), LogLevel.Info);
#endif
}
public override void Load() {
On.Celeste.GameLoader.LoadThread += loadLanguage;
MainMenu.Load();
Hooks.Dialog.Unload();
}
public override void Unload()
{
MainMenu.Unload();
Hooks.Dialog.Unload();
}
private void loadLanguage(On.Celeste.GameLoader.orig_LoadThread orig, GameLoader loader)
{
orig(loader);
Language = Dialog.Languages[Settings.SecondLanguage];
Fonts.Load(Language.FontFace);
}
public static string Translate(string id)
{
return Dialog.Clean(id, Language);
}
}
}