Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
WidgetSceneCustomizer.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using SFB;
3using UnityEngine;
4using UnityEngine.UI;
5
7{
9
11
13
15
16 public List<LiquidProfile> liquids;
17
18 public List<RefractionProfile> refractions;
19
20 public List<OverlayProfile> overlays;
21
22 public List<string> luts;
23
25
27
28 public Slider sliderLutBlend;
29
30 public Slider sliderLutBrightness;
31
32 public Slider sliderLutContrast;
33
35
36 public override void OnActivate()
37 {
39 ddLiquid.SetList(conf.idLiquid, liquids, (LiquidProfile a, int b) => a.name, delegate(int a, LiquidProfile b)
40 {
41 if (conf.idLiquid != b.name)
42 {
43 conf.idLiquid = b.name;
44 conf.colorLiquid = null;
45 EMono.scene.ApplyZoneConfig();
46 }
48 });
49 ddRefraction.SetList(conf.idRefraction, refractions, (RefractionProfile a, int b) => a.name, delegate(int a, RefractionProfile b)
50 {
51 if (conf.idRefraction != b.name)
52 {
53 conf.idRefraction = b.name;
54 EMono.scene.ApplyZoneConfig();
55 }
56 });
57 ddLut.SetList(conf.idLut, luts, (string a, int b) => a, delegate(int a, string b)
58 {
59 if (conf.idLut != b)
60 {
61 conf.idLut = b;
62 EMono.scene.ApplyZoneConfig();
63 }
64 });
65 sliderLutBlend.SetSlider(conf.lutBlend, delegate(float a)
66 {
67 conf.lutBlend = a;
69 return Lang.Get("lutBlend") + "(" + (int)(a * 100f) + "%)";
70 });
71 sliderLutBrightness.SetSlider(conf.lutBrightness, delegate(float a)
72 {
73 conf.lutBrightness = a;
75 return Lang.Get("lutBrightness") + "(" + (int)(a * 100f) + "%)";
76 });
77 sliderLutContrast.SetSlider(conf.lutContrast, delegate(float a)
78 {
79 conf.lutContrast = a;
81 return Lang.Get("lutContrast") + "(" + (int)(a * 100f) + "%)";
82 });
83 List<Texture2D> list = new List<Texture2D>(Resources.LoadAll<Texture2D>("Scene/Profile/Lut/"));
84 list.Insert(0, null);
85 sliderLut.SetList(list.Find((Texture2D a) => (!(a == null)) ? (conf.idLut == a.name) : (conf.idLut == "None")), list, delegate(int a, Texture2D b)
86 {
87 conf.idLut = ((b == null) ? "None" : b.name);
89 }, (Texture2D a) => (!(a == null)) ? a.name : "None");
91 }
92
93 public void ShowPicker()
94 {
97 EMono.ui.AddLayer<LayerColorPicker>().SetColor(conf.colorLiquid?.Get() ?? prof.modColor, prof.modColor, delegate(PickerState state, Color c)
98 {
99 prof.Apply(c);
100 switch (state)
101 {
102 case PickerState.Confirm:
103 conf.colorLiquid = new SerializableColor(c);
104 RefreshColor();
105 break;
106 case PickerState.Cancel:
108 break;
109 }
110 });
111 }
112
113 public void RefreshColor()
114 {
116 Color color = EMono._map.config.colorLiquid?.Get() ?? liquidProfile.modColor;
117 color.a = 1f;
118 buttonColorPicker.icon.color = color;
119 }
120
121 public void OnClickSave()
122 {
124 {
125 string text = StandaloneFileBrowser.SaveFilePanel("Save Zone Config", CorePath.SceneCustomizerSave, "new zone config", "json");
126 if (!string.IsNullOrEmpty(text))
127 {
128 IO.SaveFile(text, EMono._map.config);
129 }
130 });
131 }
132
133 public void OnClickLoad()
134 {
136 {
137 string[] array = StandaloneFileBrowser.OpenFilePanel("Load Zone Config", CorePath.SceneCustomizerSave, "json", multiselect: false);
138 if (array.Length != 0)
139 {
140 EMono._map.config = IO.LoadFile<MapConfig>(array[0]);
141 Reactivate();
142 }
143 });
144 }
145
146 public void OnClickReset()
147 {
148 EMono._map.config = new MapConfig();
149 Reactivate();
150 }
151}
PickerState
Definition: PickerState.cs:2
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
void WaitForEndOfFrame(Action action)
Definition: BaseCore.cs:61
static string SceneCustomizerSave
Definition: CorePath.cs:194
Definition: EMono.cs:4
static Core core
Definition: EMono.cs:5
static Scene scene
Definition: EMono.cs:27
static UI ui
Definition: EMono.cs:15
static Map _map
Definition: EMono.cs:17
Definition: Lang.cs:6
static string Get(string id)
Definition: Lang.cs:91
static void Apply(string id)
static LiquidProfile Get(string id)
string idLut
Definition: MapConfig.cs:17
string idLiquid
Definition: MapConfig.cs:14
float lutContrast
Definition: MapConfig.cs:62
SerializableColor colorLiquid
Definition: MapConfig.cs:50
float lutBrightness
Definition: MapConfig.cs:59
string idRefraction
Definition: MapConfig.cs:20
float lutBlend
Definition: MapConfig.cs:56
MapConfig config
Definition: Map.cs:37
static string[] OpenFilePanel(string title, string directory, string extension, bool multiselect)
static string SaveFilePanel(string title, string directory, string defaultName, string extension)
void ApplyZoneConfig()
Definition: Scene.cs:811
List< LiquidProfile > liquids
List< OverlayProfile > overlays
List< RefractionProfile > refractions
Definition: Widget.cs:7
void Reactivate()
Definition: Widget.cs:324