Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
HotItemToggle.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2using UnityEngine;
3
4public class HotItemToggle : HotItem
5{
6 public enum Type
7 {
10 muteBGM,
19 }
20
21 [JsonProperty]
22 public Type type;
23
24 public override string Name => type.ToString().lang();
25
26 public override Sprite SpriteHighlight => SpriteSheet.Get(pathSprite + "_highlight") ?? EClass.core.refs.spritesHighlight[2];
27
28 public override string pathSprite => "icon_" + type;
29
30 public override bool Hidden
31 {
32 get
33 {
34 if (type == Type.instaComplete)
35 {
36 return !EClass.debug.enable;
37 }
38 return false;
39 }
40 }
41
42 public override bool ShouldHighlight()
43 {
44 return type switch
45 {
46 Type.ToggleBuildLight => EClass.game.config.buildLight,
47 Type.SnapFreepos => EClass.game.config.snapFreePos,
48 Type.ToggleFreepos => EClass.game.config.freePos,
49 Type.ToggleWall => EClass.game.config.showWall,
50 Type.ToggleRoof => EClass.game.config.showRoof,
51 Type.ToggleNoRoof => EClass.game.config.noRoof,
52 Type.showBalloon => !EClass.scene.hideBalloon,
53 Type.muteBGM => EClass.Sound.muteBGM,
54 Type.instaComplete => EClass.player.instaComplete,
55 Type.ToggleSlope => EClass.game.config.slope,
56 _ => false,
57 };
58 }
59
60 public override void OnClick(ButtonHotItem b, Hotbar h)
61 {
62 switch (type)
63 {
64 case Type.ToggleBuildLight:
66 break;
67 case Type.SnapFreepos:
69 break;
70 case Type.ToggleFreepos:
72 break;
73 case Type.ToggleWall:
75 break;
76 case Type.ToggleRoof:
78 break;
79 case Type.ToggleNoRoof:
81 break;
82 case Type.showBalloon:
84 break;
85 case Type.muteBGM:
87 break;
88 case Type.instaComplete:
89 EClass.player.instaComplete = !EClass.player.instaComplete;
90 SE.ClickGeneral();
91 if ((bool)b)
92 {
93 b.widget.RefreshHighlight();
94 }
95 break;
96 case Type.ToggleSlope:
98 break;
99 }
100 if ((bool)b)
101 {
103 }
104 }
105}
WidgetHotbar widget
bool enable
Definition: CoreDebug.cs:285
List< Sprite > spritesHighlight
Definition: CoreRef.cs:355
CoreRef refs
Definition: Core.cs:51
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static Scene scene
Definition: EClass.cs:30
static Core core
Definition: EClass.cs:6
static Player player
Definition: EClass.cs:12
static CoreDebug debug
Definition: EClass.cs:48
static SoundManager Sound
Definition: EClass.cs:46
bool buildLight
Definition: Game.cs:36
bool showRoof
Definition: Game.cs:12
bool showWall
Definition: Game.cs:15
bool noRoof
Definition: Game.cs:27
bool snapFreePos
Definition: Game.cs:33
bool slope
Definition: Game.cs:24
bool freePos
Definition: Game.cs:30
Config config
Definition: Game.cs:215
override bool ShouldHighlight()
override bool Hidden
override void OnClick(ButtonHotItem b, Hotbar h)
override string pathSprite
override string Name
override Sprite SpriteHighlight
Definition: Hotbar.cs:5
bool instaComplete
Definition: Player.cs:956
void ToggleBalloon()
Definition: Scene.cs:955
void ToggleShowRoof()
Definition: Scene.cs:869
void ToggleShowWall()
Definition: Scene.cs:903
void ToggleMuteBGM()
Definition: Scene.cs:963
void ToggleLight()
Definition: Scene.cs:875
bool hideBalloon
Definition: Scene.cs:141
void ToggleSlope()
Definition: Scene.cs:915
void ToggleRoof()
Definition: Scene.cs:909
void ToggleFreePos()
Definition: Scene.cs:892
void ToggleSnapFreePos()
Definition: Scene.cs:881
static Sprite Get(string id)
Definition: SpriteSheet.cs:28
bool RefreshHighlight()