forked from TheMysticSword/MysticsItems
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FunEvents.cs
83 lines (76 loc) · 2.81 KB
/
FunEvents.cs
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
using MysticsRisky2Utils;
using RoR2;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.SceneManagement;
namespace MysticsItems
{
internal static class FunEvents
{
public static void Init()
{
ConfigOptions.ConfigurableValue<bool> enabledByConfig = ConfigOptions.ConfigurableValue.CreateBool(
ConfigManager.General.categoryGUID,
ConfigManager.General.categoryName,
ConfigManager.General.config,
"Misc",
"Fun Events",
true,
"Enable fun events that happen on specific dates",
restartRequired: true
);
if (enabledByConfig)
{
var today = System.DateTime.Now;
if (today.Month == 4 && today.Day == 1)
{
AprilFools.Init();
}
if ((today.Month == 12 && today.Day >= 25) || (today.Month == 1 && today.Day <= 5))
{
ChristmasAndNewYear.Init();
}
}
}
public static class ChristmasAndNewYear
{
public static GameObject festiveEffectsPrefab;
public static void Init()
{
SceneManager.sceneLoaded += SceneManager_sceneLoaded;
}
private static void SceneManager_sceneLoaded(Scene scene, LoadSceneMode mode)
{
if (scene.name == "bazaar")
{
if (festiveEffectsPrefab == null)
{
festiveEffectsPrefab = Main.AssetBundle.LoadAsset<GameObject>("Assets/Mods/Mystic's Items/Effects/FestiveStage.prefab");
foreach (var particleSystem in festiveEffectsPrefab.GetComponentsInChildren<ParticleSystem>())
{
var shape = particleSystem.shape;
shape.radius = 100f;
}
}
Object.Instantiate(festiveEffectsPrefab, Vector3.zero, Quaternion.identity);
}
}
}
public static class AprilFools
{
public static void Init()
{
On.RoR2.Language.GetLocalizedStringByToken += Language_GetLocalizedStringByToken;
}
private static string Language_GetLocalizedStringByToken(On.RoR2.Language.orig_GetLocalizedStringByToken orig, Language self, string token)
{
var result = orig(self, token);
if (token.Contains("MYSTICSITEMS_"))
{
result = "<link=\"MysticsItemsAprilFools\">" + result + "</link>";
}
return result;
}
}
}
}