using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using SkillsPreview.App.Data;
using SkillsPreview.App.Locale;
using SkillsPreview.App.Logging;
using SkillsPreview.App.Store;
using SkillsPreview.App.UI.CharacterStatsPanel;
using SkillsPreview.App.UI.FavoriteSkillsHud;
using SkillsPreview.App.UI.SettingsPanel;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyCompany("SkillsPreview")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("0.4.2.0")]
[assembly: AssemblyInformationalVersion("0.4.2+466677ba6673f25673ffe840bd8f1f08b9218e36")]
[assembly: AssemblyProduct("SkillsPreview")]
[assembly: AssemblyTitle("SkillsPreview")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.4.2.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : Attribute
{
public readonly byte[] NullableFlags;
public NullableAttribute(byte P_0)
{
NullableFlags = new byte[1] { P_0 };
}
public NullableAttribute(byte[] P_0)
{
NullableFlags = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace SkillsPreview.App
{
[BepInPlugin("godzki.skills_preview", "Skills Preview", "0.4.2")]
public class Plugin : BaseUnityPlugin
{
internal static Plugin Instance;
internal static ManualLogSource Log;
private readonly Harmony _harmony = new Harmony("godzki.skills_preview");
internal static void SaveConfig()
{
((BaseUnityPlugin)Instance).Config.Save();
FavoriteSkillsStore.NotifyConfigChanged();
}
private void Awake()
{
Instance = this;
Log = ((BaseUnityPlugin)this).Logger;
Config.Bind((BaseUnityPlugin)(object)this);
_harmony.PatchAll();
Log.LogInfo((object)"Skills Preview 0.4.2 loaded.");
}
private void OnDestroy()
{
_harmony.UnpatchSelf();
}
}
}
namespace SkillsPreview.App.UI
{
internal static class SpriteUtils
{
internal static Sprite RoundedRect(int radius)
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_009b: Unknown result type (might be due to invalid IL or missing references)
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
int num = radius * 2 + 2;
Texture2D val = new Texture2D(num, num, (TextureFormat)5, false);
((Texture)val).filterMode = (FilterMode)1;
((Texture)val).wrapMode = (TextureWrapMode)1;
Color32[] array = (Color32[])(object)new Color32[num * num];
for (int i = 0; i < num; i++)
{
for (int j = 0; j < num; j++)
{
array[i * num + j] = SampleRoundedRectPixel(j, i, num, num, radius);
}
}
val.SetPixels32(array);
val.Apply(false);
Vector4 val2 = default(Vector4);
((Vector4)(ref val2))..ctor((float)radius, (float)radius, (float)radius, (float)radius);
return Sprite.Create(val, new Rect(0f, 0f, (float)num, (float)num), new Vector2(0.5f, 0.5f), 100f, 0u, (SpriteMeshType)0, val2);
}
internal static Sprite ResetIcon(int size = 24)
{
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
//IL_000a: Expected O, but got Unknown
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_0241: Unknown result type (might be due to invalid IL or missing references)
//IL_0243: Unknown result type (might be due to invalid IL or missing references)
//IL_0245: Unknown result type (might be due to invalid IL or missing references)
//IL_0247: Unknown result type (might be due to invalid IL or missing references)
//IL_026a: Unknown result type (might be due to invalid IL or missing references)
//IL_0279: Unknown result type (might be due to invalid IL or missing references)
//IL_0163: Unknown result type (might be due to invalid IL or missing references)
//IL_0169: Unknown result type (might be due to invalid IL or missing references)
//IL_016f: Unknown result type (might be due to invalid IL or missing references)
//IL_0177: Unknown result type (might be due to invalid IL or missing references)
//IL_017c: Unknown result type (might be due to invalid IL or missing references)
Texture2D val = new Texture2D(size, size, (TextureFormat)5, false);
((Texture)val).filterMode = (FilterMode)1;
((Texture)val).wrapMode = (TextureWrapMode)1;
Color32[] array = (Color32[])(object)new Color32[size * size];
for (int i = 0; i < array.Length; i++)
{
array[i] = new Color32((byte)0, (byte)0, (byte)0, (byte)0);
}
Color32 val2 = default(Color32);
((Color32)(ref val2))..ctor((byte)160, (byte)115, (byte)55, byte.MaxValue);
float num = (float)(size - 1) * 0.5f;
float num2 = (float)(size - 1) * 0.5f;
float num3 = (float)size * 0.44f;
float num4 = (float)size * 0.27f;
float num5 = (num3 + num4) * 0.5f;
float num6 = (num3 - num4) * 0.5f;
for (int j = 0; j < size; j++)
{
for (int k = 0; k < size; k++)
{
float num7 = (float)k - num;
float num8 = (float)j - num2;
float num9 = Mathf.Sqrt(num7 * num7 + num8 * num8);
if (!(num9 < num4 - 1f) && !(num9 > num3 + 1f))
{
float num10 = Mathf.Atan2(num8, num7) * 57.29578f;
if (num10 < 0f)
{
num10 += 360f;
}
if (!(num10 >= 60f) || !(num10 <= 105f))
{
float num11 = Mathf.Min(num9 - num4, num3 - num9);
byte b = (byte)((num11 >= 1f) ? byte.MaxValue : ((num11 > 0f) ? ((byte)(255f * num11)) : 0));
array[j * size + k] = new Color32(val2.r, val2.g, val2.b, b);
}
}
}
}
float num12 = (float)Math.PI / 3f;
float num13 = num + num5 * Mathf.Cos(num12);
float num14 = num2 + num5 * Mathf.Sin(num12);
float num15 = Mathf.Sin(num12);
float num16 = 0f - Mathf.Cos(num12);
float num17 = Mathf.Cos(num12);
float num18 = Mathf.Sin(num12);
float num19 = num6 * 2.8f;
float num20 = num6 * 1.5f;
Vector2 a = default(Vector2);
((Vector2)(ref a))..ctor(num13 + num15 * num19, num14 + num16 * num19);
Vector2 b2 = default(Vector2);
((Vector2)(ref b2))..ctor(num13 + num17 * num20, num14 + num18 * num20);
Vector2 c = default(Vector2);
((Vector2)(ref c))..ctor(num13 - num17 * num20, num14 - num18 * num20);
FillTriangle(array, size, a, b2, c, val2);
val.SetPixels32(array);
val.Apply(false);
return Sprite.Create(val, new Rect(0f, 0f, (float)size, (float)size), new Vector2(0.5f, 0.5f), 100f);
}
private static void FillTriangle(Color32[] pixels, int size, Vector2 a, Vector2 b, Vector2 c, Color32 color)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Unknown result type (might be due to invalid IL or missing references)
//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
int num = Mathf.Max(0, Mathf.FloorToInt(Mathf.Min(a.x, Mathf.Min(b.x, c.x))));
int num2 = Mathf.Min(size - 1, Mathf.CeilToInt(Mathf.Max(a.x, Mathf.Max(b.x, c.x))));
int num3 = Mathf.Max(0, Mathf.FloorToInt(Mathf.Min(a.y, Mathf.Min(b.y, c.y))));
int num4 = Mathf.Min(size - 1, Mathf.CeilToInt(Mathf.Max(a.y, Mathf.Max(b.y, c.y))));
for (int i = num3; i <= num4; i++)
{
for (int j = num; j <= num2; j++)
{
if (PointInTriangle(new Vector2((float)j, (float)i), a, b, c))
{
pixels[i * size + j] = color;
}
}
}
}
private static bool PointInTriangle(Vector2 p, Vector2 a, Vector2 b, Vector2 c)
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
float num = Cross(p - a, b - a);
float num2 = Cross(p - b, c - b);
float num3 = Cross(p - c, a - c);
if (!(num >= 0f) || !(num2 >= 0f) || !(num3 >= 0f))
{
if (num <= 0f && num2 <= 0f)
{
return num3 <= 0f;
}
return false;
}
return true;
}
private static float Cross(Vector2 v1, Vector2 v2)
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0013: Unknown result type (might be due to invalid IL or missing references)
return v1.x * v2.y - v1.y * v2.x;
}
internal static Sprite RoundedRectFrame(int radius, int frameWidth)
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Expected O, but got Unknown
//IL_0118: Unknown result type (might be due to invalid IL or missing references)
//IL_0127: Unknown result type (might be due to invalid IL or missing references)
//IL_0133: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
int num = Mathf.Max(radius * 2 + 2, frameWidth * 2 + 3);
int r = Mathf.Max(0, radius - frameWidth);
int num2 = num - frameWidth * 2;
Texture2D val = new Texture2D(num, num, (TextureFormat)5, false);
((Texture)val).filterMode = (FilterMode)1;
((Texture)val).wrapMode = (TextureWrapMode)1;
Color32[] array = (Color32[])(object)new Color32[num * num];
for (int i = 0; i < num; i++)
{
for (int j = 0; j < num; j++)
{
byte a = SampleRoundedRectPixel(j, i, num, num, radius).a;
int num3 = j - frameWidth;
int num4 = i - frameWidth;
byte b = (byte)((num3 >= 0 && num4 >= 0 && num3 < num2 && num4 < num2) ? SampleRoundedRectPixel(num3, num4, num2, num2, r).a : 0);
array[i * num + j] = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, (byte)(a * (255 - b) / 255));
}
}
val.SetPixels32(array);
val.Apply(false);
Vector4 val2 = default(Vector4);
((Vector4)(ref val2))..ctor((float)radius, (float)radius, (float)radius, (float)radius);
return Sprite.Create(val, new Rect(0f, 0f, (float)num, (float)num), new Vector2(0.5f, 0.5f), 100f, 0u, (SpriteMeshType)0, val2);
}
private static Color32 SampleRoundedRectPixel(int x, int y, int w, int h, int r)
{
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
float num = Mathf.Clamp(x, r, w - r - 1);
float num2 = Mathf.Clamp(y, r, h - r - 1);
float num3 = Mathf.Sqrt(((float)x - num) * ((float)x - num) + ((float)y - num2) * ((float)y - num2));
if (num3 <= (float)r - 1f)
{
return new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue);
}
if (num3 >= (float)r + 0.5f)
{
return new Color32((byte)0, (byte)0, (byte)0, (byte)0);
}
byte b = (byte)(255f * Mathf.Clamp01((float)r + 0.5f - num3));
return new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, b);
}
}
}
namespace SkillsPreview.App.UI.SettingsPanel
{
internal class SettingsPanel
{
private static Log.Scoped Logger { get; } = Log.For("SettingsPanel");
public GameObject Root { get; private set; }
internal bool IsAlive => (Object)(object)Root != (Object)null;
internal bool IsVisible
{
get
{
if ((Object)(object)Root != (Object)null)
{
return Root.activeSelf;
}
return false;
}
}
private SettingsPanel(GameObject root)
{
Root = root;
}
internal void Show()
{
if ((Object)(object)Root != (Object)null)
{
Root.SetActive(true);
}
}
internal void Hide()
{
if ((Object)(object)Root != (Object)null)
{
Root.SetActive(false);
}
}
internal static SettingsPanel Create(Transform skillsFrame)
{
Font builtinResource = Resources.GetBuiltinResource<Font>("Arial.ttf");
GameObject val = SettingsPanelLayout.BuildRoot(skillsFrame);
SettingsPanelLayout.BuildBackground(val, skillsFrame);
ILabels current = L.Current;
Transform content = SettingsPanelLayout.AddScrollView(val.transform);
List<Action> resets = new List<Action>();
SettingsPanelLayout.AddTitle(val.transform, skillsFrame, current.SectionSkillsPanel);
SettingsPanelRows.Populate(content, builtinResource, resets, skillsFrame, current);
SettingsPanelLayout.AddResetAllButton(val.transform, current.ResetAll, resets, skillsFrame);
SettingsPanelLayout.AddCloseButton(val.transform, val, skillsFrame);
Logger.Debug("Settings panel created.");
return new SettingsPanel(val);
}
}
internal static class SettingsPanelLayout
{
private const float PanelWidth = 500f;
private const float PanelHeight = 620f;
private const int SectionFontSize = 12;
private static readonly Color PanelBgColor = new Color(0.08f, 0.06f, 0.04f, 0.97f);
private static readonly Color SectionColor = new Color(0.65f, 0.52f, 0.28f);
internal static GameObject BuildRoot(Transform skillsFrame)
{
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_004d: Unknown result type (might be due to invalid IL or missing references)
//IL_0062: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_00a1: Expected O, but got Unknown
GameObject val = new GameObject("godzki_SettingsPanel", new Type[1] { typeof(RectTransform) });
val.SetActive(false);
val.transform.SetParent(skillsFrame, false);
val.transform.SetAsLastSibling();
RectTransform component = val.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0.5f, 0.5f);
component.anchorMax = new Vector2(0.5f, 0.5f);
component.pivot = new Vector2(0.5f, 0.5f);
component.sizeDelta = new Vector2(500f, 620f);
component.anchoredPosition = Vector2.zero;
return val;
}
internal static void BuildBackground(GameObject root, Transform skillsFrame)
{
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
Transform obj = skillsFrame.Find("bkg");
Image val = ((obj != null) ? ((Component)obj).GetComponent<Image>() : null);
if ((Object)(object)val != (Object)null)
{
GameObject obj2 = Object.Instantiate<GameObject>(((Component)val).gameObject, root.transform);
((Object)obj2).name = "bkg";
RectTransform component = obj2.GetComponent<RectTransform>();
component.anchorMin = Vector2.zero;
component.anchorMax = Vector2.one;
Vector2 offsetMin = (component.offsetMax = Vector2.zero);
component.offsetMin = offsetMin;
}
else
{
GameObject val2 = new GameObject("bkg", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val2.transform.SetParent(root.transform, false);
SettingsPanelWidgets.Stretch(val2.GetComponent<RectTransform>());
((Graphic)val2.GetComponent<Image>()).color = PanelBgColor;
}
}
internal static void AddTitle(Transform parent, Transform skillsFrame, string label)
{
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
Transform obj = skillsFrame.Find("topic");
if ((Object)(object)obj == (Object)null)
{
throw new InvalidOperationException("topic not found in SkillsFrame");
}
GameObject obj2 = Object.Instantiate<GameObject>(((Component)obj).gameObject, parent);
((Object)obj2).name = "Topic";
RectTransform component = obj2.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0.5f, 1f);
component.anchorMax = new Vector2(0.5f, 1f);
component.pivot = new Vector2(0.5f, 1f);
component.anchoredPosition = new Vector2(0f, -10f);
obj2.GetComponentInChildren<TMP_Text>().text = label;
}
internal static Transform AddScrollView(Transform parent)
{
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Expected O, but got Unknown
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00c2: Expected O, but got Unknown
//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0143: Unknown result type (might be due to invalid IL or missing references)
//IL_0148: Unknown result type (might be due to invalid IL or missing references)
//IL_015a: Unknown result type (might be due to invalid IL or missing references)
//IL_016c: Unknown result type (might be due to invalid IL or missing references)
//IL_0181: Unknown result type (might be due to invalid IL or missing references)
//IL_0196: Unknown result type (might be due to invalid IL or missing references)
//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
//IL_01da: Expected O, but got Unknown
//IL_01e7: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject("ScrollView", new Type[2]
{
typeof(RectTransform),
typeof(ScrollRect)
});
val.transform.SetParent(parent, false);
RectTransform component = val.GetComponent<RectTransform>();
component.anchorMin = Vector2.zero;
component.anchorMax = Vector2.one;
component.offsetMin = new Vector2(8f, 90f);
component.offsetMax = new Vector2(-8f, -62f);
GameObject val2 = new GameObject("Viewport", new Type[4]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image),
typeof(Mask)
});
val2.transform.SetParent(val.transform, false);
RectTransform component2 = val2.GetComponent<RectTransform>();
SettingsPanelWidgets.Stretch(component2);
((Graphic)val2.GetComponent<Image>()).color = new Color(0f, 0f, 0f, 0.01f);
val2.GetComponent<Mask>().showMaskGraphic = false;
GameObject val3 = new GameObject("Content", new Type[3]
{
typeof(RectTransform),
typeof(VerticalLayoutGroup),
typeof(ContentSizeFitter)
});
val3.transform.SetParent(val2.transform, false);
RectTransform component3 = val3.GetComponent<RectTransform>();
component3.anchorMin = new Vector2(0f, 1f);
component3.anchorMax = new Vector2(1f, 1f);
component3.pivot = new Vector2(0.5f, 1f);
component3.anchoredPosition = Vector2.zero;
component3.sizeDelta = Vector2.zero;
VerticalLayoutGroup component4 = val3.GetComponent<VerticalLayoutGroup>();
((HorizontalOrVerticalLayoutGroup)component4).spacing = 2f;
((LayoutGroup)component4).padding = new RectOffset(24, 24, 24, 24);
((HorizontalOrVerticalLayoutGroup)component4).childForceExpandWidth = true;
((HorizontalOrVerticalLayoutGroup)component4).childForceExpandHeight = false;
val3.GetComponent<ContentSizeFitter>().verticalFit = (FitMode)2;
ScrollRect component5 = val.GetComponent<ScrollRect>();
component5.content = component3;
component5.viewport = component2;
component5.horizontal = false;
component5.vertical = true;
component5.scrollSensitivity = 30f;
component5.movementType = (MovementType)2;
component5.inertia = false;
return val3.transform;
}
internal static void AddSection(Transform parent, Font font, string label)
{
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject("Section_" + label, new Type[4]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Text),
typeof(LayoutElement)
});
val.transform.SetParent(parent, false);
LayoutElement component = val.GetComponent<LayoutElement>();
float preferredHeight = (component.minHeight = 22f);
component.preferredHeight = preferredHeight;
Text component2 = val.GetComponent<Text>();
component2.font = font;
component2.fontSize = 12;
component2.fontStyle = (FontStyle)1;
component2.alignment = (TextAnchor)6;
((Graphic)component2).color = SectionColor;
component2.text = "— " + label;
((Graphic)component2).raycastTarget = false;
}
internal static void AddResetAllButton(Transform parent, string label, List<Action> resets, Transform skillsFrame)
{
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
//IL_00cc: Expected O, but got Unknown
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00e2: Expected O, but got Unknown
List<Action> resets2 = resets;
Transform obj = skillsFrame.Find("Closebutton");
if ((Object)(object)obj == (Object)null)
{
throw new InvalidOperationException("Closebutton not found in SkillsFrame");
}
GameObject obj2 = Object.Instantiate<GameObject>(((Component)obj).gameObject, parent);
((Object)obj2).name = "ResetBtn";
RectTransform component = obj2.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0f, 0f);
component.anchorMax = new Vector2(0f, 0f);
component.pivot = new Vector2(0f, 0f);
component.sizeDelta = new Vector2(130f, 40f);
component.anchoredPosition = new Vector2(15f, 30f);
obj2.GetComponentInChildren<TMP_Text>().text = label;
Button component2 = obj2.GetComponent<Button>();
component2.onClick = new ButtonClickedEvent();
((UnityEvent)component2.onClick).AddListener((UnityAction)delegate
{
foreach (Action item in resets2)
{
item();
}
});
}
internal static void AddCloseButton(Transform parent, GameObject panelRoot, Transform skillsFrame)
{
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0091: Unknown result type (might be due to invalid IL or missing references)
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_00ab: Expected O, but got Unknown
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Expected O, but got Unknown
GameObject panelRoot2 = panelRoot;
Transform obj = skillsFrame.Find("Closebutton");
if ((Object)(object)obj == (Object)null)
{
throw new InvalidOperationException("Closebutton not found in SkillsFrame");
}
GameObject obj2 = Object.Instantiate<GameObject>(((Component)obj).gameObject, parent);
((Object)obj2).name = "CloseBtn";
RectTransform component = obj2.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0.5f, 0f);
component.anchorMax = new Vector2(0.5f, 0f);
component.pivot = new Vector2(0.5f, 0f);
component.anchoredPosition = new Vector2(0f, 25f);
Button component2 = obj2.GetComponent<Button>();
component2.onClick = new ButtonClickedEvent();
((UnityEvent)component2.onClick).AddListener((UnityAction)delegate
{
panelRoot2.SetActive(false);
});
}
}
internal static class ColorPickerPopup
{
private const float SwatchSize = 22f;
private const float SwatchSpacing = 0f;
private const int GridColumns = 12;
private const int GridRows = 8;
private const float AlphaBarWidth = 18f;
private const float PopupPadding = 8f;
private const float GridToBarGap = 14f;
private static readonly Color PopupBgColor = new Color(0.08f, 0.06f, 0.04f, 0.97f);
private static GameObject? CurrentlyOpenOverlay;
private static Sprite? CachedGradient;
private static Sprite AlphaGradientSprite => CachedGradient ?? (CachedGradient = BuildAlphaGradientSprite());
internal static (GameObject overlay, Action<Color> syncAlpha) Build(Transform panelRoot, Func<Color> getColor, Action<Color> applyColor)
{
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
//IL_00dc: Expected O, but got Unknown
Func<Color> getColor2 = getColor;
Action<Color> applyColor2 = applyColor;
GameObject overlayGo = BuildOverlay(panelRoot);
GameObject val = BuildPopupPanel(overlayGo.transform);
float gridWidth = 264f;
float gridHeight = 176f;
GameObject obj = BuildGrid(val.transform, gridWidth, gridHeight);
GameObject sliderGo = BuildAlphaSlider(val.transform, gridWidth, gridHeight);
Slider slider = sliderGo.GetComponent<Slider>();
slider.value = getColor2().a;
AddSwatches(obj.transform, slider, applyColor2);
((UnityEvent<float>)(object)slider.onValueChanged).AddListener((UnityAction<float>)delegate(float alpha)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
Color val2 = getColor2();
applyColor2(new Color(val2.r, val2.g, val2.b, alpha));
UpdateSliderTint(sliderGo, val2);
});
((UnityEvent)overlayGo.GetComponent<Button>().onClick).AddListener((UnityAction)delegate
{
CloseOverlay(overlayGo);
});
return (overlayGo, SyncAlpha);
void SyncAlpha(Color c)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
slider.value = c.a;
UpdateSliderTint(sliderGo, c);
}
}
internal static void OpenOverlay(GameObject overlay, Color currentColor, Action<Color> syncAlpha)
{
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)CurrentlyOpenOverlay != (Object)null && (Object)(object)CurrentlyOpenOverlay != (Object)(object)overlay)
{
CurrentlyOpenOverlay.SetActive(false);
}
CurrentlyOpenOverlay = overlay;
overlay.SetActive(true);
syncAlpha(currentColor);
}
private static void CloseOverlay(GameObject overlay)
{
overlay.SetActive(false);
if ((Object)(object)CurrentlyOpenOverlay == (Object)(object)overlay)
{
CurrentlyOpenOverlay = null;
}
}
private static GameObject BuildOverlay(Transform panelRoot)
{
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_006a: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0087: Unknown result type (might be due to invalid IL or missing references)
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_00ac: Expected O, but got Unknown
GameObject val = new GameObject("ColorPickerOverlay", new Type[4]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image),
typeof(Button)
});
val.transform.SetParent(panelRoot, false);
val.SetActive(false);
RectTransform component = val.GetComponent<RectTransform>();
component.anchorMin = Vector2.zero;
component.anchorMax = Vector2.one;
Vector2 offsetMin = (component.offsetMax = Vector2.zero);
component.offsetMin = offsetMin;
((Graphic)val.GetComponent<Image>()).color = new Color(0f, 0f, 0f, 0f);
return val;
}
private static GameObject BuildPopupPanel(Transform overlayTransform)
{
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
//IL_0103: Expected O, but got Unknown
float num = 264f;
float num2 = 176f;
float num3 = 8f + num + 14f + 18f + 8f;
float num4 = 8f + num2 + 8f;
GameObject val = new GameObject("ColorPickerPopup", new Type[4]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image),
typeof(Button)
});
val.transform.SetParent(overlayTransform, false);
RectTransform component = val.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0.5f, 0.5f);
component.anchorMax = new Vector2(0.5f, 0.5f);
component.pivot = new Vector2(0.5f, 0.5f);
component.sizeDelta = new Vector2(num3, num4);
component.anchoredPosition = Vector2.zero;
Image component2 = val.GetComponent<Image>();
((Graphic)component2).color = PopupBgColor;
((Selectable)val.GetComponent<Button>()).targetGraphic = (Graphic)(object)component2;
return val;
}
private static GameObject BuildGrid(Transform popupTransform, float gridWidth, float gridHeight)
{
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_0087: Unknown result type (might be due to invalid IL or missing references)
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
//IL_00f1: Expected O, but got Unknown
GameObject val = new GameObject("ColorGrid", new Type[2]
{
typeof(RectTransform),
typeof(GridLayoutGroup)
});
val.transform.SetParent(popupTransform, false);
RectTransform component = val.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0f, 0f);
component.anchorMax = new Vector2(0f, 0f);
component.pivot = new Vector2(0f, 0f);
component.anchoredPosition = new Vector2(8f, 8f);
component.sizeDelta = new Vector2(gridWidth, gridHeight);
GridLayoutGroup component2 = val.GetComponent<GridLayoutGroup>();
component2.cellSize = new Vector2(22f, 22f);
component2.spacing = new Vector2(0f, 0f);
component2.startCorner = (Corner)0;
component2.startAxis = (Axis)0;
component2.constraint = (Constraint)1;
component2.constraintCount = 12;
((LayoutGroup)component2).childAlignment = (TextAnchor)0;
return val;
}
private static void AddSwatches(Transform gridTransform, Slider alphaSlider, Action<Color> applyColor)
{
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0088: Unknown result type (might be due to invalid IL or missing references)
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
//IL_00ca: Expected O, but got Unknown
Slider alphaSlider2 = alphaSlider;
Action<Color> applyColor2 = applyColor;
for (int i = 0; i < ColorPicker.Palette.Length; i++)
{
Color swatchColor = ColorPicker.Palette[i];
GameObject val = new GameObject($"Swatch_{i}", new Type[4]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image),
typeof(Button)
});
val.transform.SetParent(gridTransform, false);
Image component = val.GetComponent<Image>();
((Graphic)component).color = swatchColor;
Button component2 = val.GetComponent<Button>();
((Selectable)component2).targetGraphic = (Graphic)(object)component;
((UnityEvent)component2.onClick).AddListener((UnityAction)delegate
{
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
Color obj = default(Color);
((Color)(ref obj))..ctor(swatchColor.r, swatchColor.g, swatchColor.b, alphaSlider2.value);
applyColor2(obj);
});
}
}
private static GameObject BuildAlphaSlider(Transform popupTransform, float gridWidth, float gridHeight)
{
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Expected O, but got Unknown
//IL_0049: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
//IL_013e: Unknown result type (might be due to invalid IL or missing references)
//IL_0144: Expected O, but got Unknown
//IL_015d: Unknown result type (might be due to invalid IL or missing references)
//IL_0168: Unknown result type (might be due to invalid IL or missing references)
//IL_0173: Unknown result type (might be due to invalid IL or missing references)
//IL_0178: Unknown result type (might be due to invalid IL or missing references)
//IL_0179: Unknown result type (might be due to invalid IL or missing references)
//IL_0180: Unknown result type (might be due to invalid IL or missing references)
//IL_01b9: Unknown result type (might be due to invalid IL or missing references)
//IL_01bf: Expected O, but got Unknown
//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
//IL_021b: Unknown result type (might be due to invalid IL or missing references)
//IL_023d: Unknown result type (might be due to invalid IL or missing references)
//IL_0243: Expected O, but got Unknown
//IL_025c: Unknown result type (might be due to invalid IL or missing references)
//IL_0267: Unknown result type (might be due to invalid IL or missing references)
//IL_027c: Unknown result type (might be due to invalid IL or missing references)
//IL_0290: Unknown result type (might be due to invalid IL or missing references)
//IL_02cc: Unknown result type (might be due to invalid IL or missing references)
//IL_02d3: Expected O, but got Unknown
//IL_02f7: Unknown result type (might be due to invalid IL or missing references)
//IL_030c: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject("AlphaSlider", new Type[2]
{
typeof(RectTransform),
typeof(Slider)
});
val.transform.SetParent(popupTransform, false);
RectTransform component = val.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0f, 0f);
component.anchorMax = new Vector2(0f, 0f);
component.pivot = new Vector2(0f, 0f);
component.anchoredPosition = new Vector2(8f + gridWidth + 14f, 8f);
component.sizeDelta = new Vector2(18f, gridHeight);
GameObject val2 = new GameObject("Background", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val2.transform.SetParent(val.transform, false);
SettingsPanelWidgets.Stretch(val2.GetComponent<RectTransform>());
Image component2 = val2.GetComponent<Image>();
component2.sprite = AlphaGradientSprite;
component2.type = (Type)0;
component2.preserveAspect = false;
((Graphic)component2).color = Color.white;
GameObject val3 = new GameObject("Fill Area", new Type[1] { typeof(RectTransform) });
val3.transform.SetParent(val.transform, false);
RectTransform component3 = val3.GetComponent<RectTransform>();
component3.anchorMin = Vector2.zero;
component3.anchorMax = Vector2.one;
Vector2 offsetMin = (component3.offsetMax = Vector2.zero);
component3.offsetMin = offsetMin;
GameObject val4 = new GameObject("Fill", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val4.transform.SetParent(val3.transform, false);
RectTransform component4 = val4.GetComponent<RectTransform>();
component4.anchorMin = Vector2.zero;
component4.anchorMax = new Vector2(1f, 0f);
component4.sizeDelta = Vector2.zero;
((Graphic)val4.GetComponent<Image>()).color = new Color(0f, 0f, 0f, 0f);
GameObject val5 = new GameObject("Handle Slide Area", new Type[1] { typeof(RectTransform) });
val5.transform.SetParent(val.transform, false);
RectTransform component5 = val5.GetComponent<RectTransform>();
component5.anchorMin = Vector2.zero;
component5.anchorMax = Vector2.one;
component5.offsetMin = new Vector2(0f, 8f);
component5.offsetMax = new Vector2(0f, -8f);
GameObject val6 = new GameObject("Handle", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val6.transform.SetParent(val5.transform, false);
val6.GetComponent<RectTransform>().sizeDelta = new Vector2(24f, 7f);
Image component6 = val6.GetComponent<Image>();
((Graphic)component6).color = Color.white;
SettingsPanelWidgets.ApplyRoundedSprite(component6);
Slider component7 = val.GetComponent<Slider>();
component7.direction = (Direction)2;
component7.minValue = 0f;
component7.maxValue = 1f;
component7.value = 1f;
component7.wholeNumbers = false;
component7.fillRect = val4.GetComponent<RectTransform>();
component7.handleRect = val6.GetComponent<RectTransform>();
((Selectable)component7).targetGraphic = (Graphic)(object)component6;
return val;
}
private static void UpdateSliderTint(GameObject sliderGo, Color color)
{
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_003e: Unknown result type (might be due to invalid IL or missing references)
Transform obj = sliderGo.transform.Find("Background");
Image val = ((obj != null) ? ((Component)obj).GetComponent<Image>() : null);
if ((Object)(object)val != (Object)null)
{
((Graphic)val).color = new Color(color.r, color.g, color.b, 1f);
}
}
private static Sprite BuildAlphaGradientSprite()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
Texture2D val = new Texture2D(1, 64, (TextureFormat)4, false)
{
filterMode = (FilterMode)1,
wrapMode = (TextureWrapMode)1
};
for (int i = 0; i < 64; i++)
{
val.SetPixel(0, i, new Color(1f, 1f, 1f, (float)i / 63f));
}
val.Apply();
return Sprite.Create(val, new Rect(0f, 0f, 1f, 64f), new Vector2(0.5f, 0.5f));
}
}
internal static class SettingsPanelRows
{
[Serializable]
[CompilerGenerated]
private sealed class <>c
{
public static readonly <>c <>9 = new <>c();
public static Func<bool> <>9__3_0;
public static Action<bool> <>9__3_1;
public static Func<bool> <>9__3_2;
public static Func<bool> <>9__3_3;
public static Action<bool> <>9__3_4;
public static Func<bool> <>9__3_5;
public static Func<Color> <>9__3_6;
public static Action<Color> <>9__3_7;
public static Func<Color> <>9__3_8;
public static Func<Color> <>9__3_9;
public static Action<Color> <>9__3_10;
public static Func<Color> <>9__3_11;
public static Func<float> <>9__3_12;
public static Action<float> <>9__3_13;
public static Func<float> <>9__3_14;
public static Func<float> <>9__3_15;
public static Action<float> <>9__3_16;
public static Func<float> <>9__3_17;
public static Func<float> <>9__3_18;
public static Action<float> <>9__3_19;
public static Func<float> <>9__3_20;
public static Func<float> <>9__3_21;
public static Action<float> <>9__3_22;
public static Func<float> <>9__3_23;
public static Func<float> <>9__3_24;
public static Action<float> <>9__3_25;
public static Func<float> <>9__3_26;
public static Func<float> <>9__3_27;
public static Action<float> <>9__3_28;
public static Func<float> <>9__3_29;
public static Func<int> <>9__3_30;
public static Action<int> <>9__3_31;
public static Func<int> <>9__3_32;
public static Func<int> <>9__3_33;
public static Action<int> <>9__3_34;
public static Func<int> <>9__3_35;
public static Func<float> <>9__3_36;
public static Action<float> <>9__3_37;
public static Func<float> <>9__3_38;
public static Func<float> <>9__3_39;
public static Action<float> <>9__3_40;
public static Func<float> <>9__3_41;
public static Func<int> <>9__3_42;
public static Action<int> <>9__3_43;
public static Func<int> <>9__3_44;
public static Func<float> <>9__3_45;
public static Action<float> <>9__3_46;
public static Func<float> <>9__3_47;
public static Func<Color> <>9__3_48;
public static Action<Color> <>9__3_49;
public static Func<Color> <>9__3_50;
public static Func<Color> <>9__3_51;
public static Action<Color> <>9__3_52;
public static Func<Color> <>9__3_53;
public static Func<Color> <>9__3_54;
public static Action<Color> <>9__3_55;
public static Func<Color> <>9__3_56;
public static Func<Color> <>9__3_57;
public static Action<Color> <>9__3_58;
public static Func<Color> <>9__3_59;
public static Func<Color> <>9__3_60;
public static Action<Color> <>9__3_61;
public static Func<Color> <>9__3_62;
public static Func<Color> <>9__3_63;
public static Action<Color> <>9__3_64;
public static Func<Color> <>9__3_65;
public static OnValidateInput <>9__5_0;
internal bool <Populate>b__3_0()
{
return Config.DebugMode.Value;
}
internal void <Populate>b__3_1(bool v)
{
Config.DebugMode.Value = v;
}
internal bool <Populate>b__3_2()
{
return (bool)((ConfigEntryBase)Config.DebugMode).DefaultValue;
}
internal bool <Populate>b__3_3()
{
return Config.HudWidgetsVisible.Value;
}
internal void <Populate>b__3_4(bool v)
{
Config.HudWidgetsVisible.Value = v;
}
internal bool <Populate>b__3_5()
{
return (bool)((ConfigEntryBase)Config.HudWidgetsVisible).DefaultValue;
}
internal Color <Populate>b__3_6()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.FavoriteStarColor.Value;
}
internal void <Populate>b__3_7(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.FavoriteStarColor.Value = v;
}
internal Color <Populate>b__3_8()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.FavoriteStarColor).DefaultValue;
}
internal Color <Populate>b__3_9()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.UnfavoriteStarColor.Value;
}
internal void <Populate>b__3_10(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.UnfavoriteStarColor.Value = v;
}
internal Color <Populate>b__3_11()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.UnfavoriteStarColor).DefaultValue;
}
internal float <Populate>b__3_12()
{
return Config.HudPositionX.Value;
}
internal void <Populate>b__3_13(float v)
{
Config.HudPositionX.Value = v;
}
internal float <Populate>b__3_14()
{
return (float)((ConfigEntryBase)Config.HudPositionX).DefaultValue;
}
internal float <Populate>b__3_15()
{
return Config.HudPositionY.Value;
}
internal void <Populate>b__3_16(float v)
{
Config.HudPositionY.Value = v;
}
internal float <Populate>b__3_17()
{
return (float)((ConfigEntryBase)Config.HudPositionY).DefaultValue;
}
internal float <Populate>b__3_18()
{
return Config.HudScale.Value;
}
internal void <Populate>b__3_19(float v)
{
Config.HudScale.Value = v;
}
internal float <Populate>b__3_20()
{
return (float)((ConfigEntryBase)Config.HudScale).DefaultValue;
}
internal float <Populate>b__3_21()
{
return Config.WidgetWidth.Value;
}
internal void <Populate>b__3_22(float v)
{
Config.WidgetWidth.Value = v;
}
internal float <Populate>b__3_23()
{
return (float)((ConfigEntryBase)Config.WidgetWidth).DefaultValue;
}
internal float <Populate>b__3_24()
{
return Config.WidgetHeight.Value;
}
internal void <Populate>b__3_25(float v)
{
Config.WidgetHeight.Value = v;
}
internal float <Populate>b__3_26()
{
return (float)((ConfigEntryBase)Config.WidgetHeight).DefaultValue;
}
internal float <Populate>b__3_27()
{
return Config.WidgetIconSize.Value;
}
internal void <Populate>b__3_28(float v)
{
Config.WidgetIconSize.Value = v;
}
internal float <Populate>b__3_29()
{
return (float)((ConfigEntryBase)Config.WidgetIconSize).DefaultValue;
}
internal int <Populate>b__3_30()
{
return Config.WidgetFontSizeLevel.Value;
}
internal void <Populate>b__3_31(int v)
{
Config.WidgetFontSizeLevel.Value = v;
}
internal int <Populate>b__3_32()
{
return (int)((ConfigEntryBase)Config.WidgetFontSizeLevel).DefaultValue;
}
internal int <Populate>b__3_33()
{
return Config.WidgetFontSizeProgress.Value;
}
internal void <Populate>b__3_34(int v)
{
Config.WidgetFontSizeProgress.Value = v;
}
internal int <Populate>b__3_35()
{
return (int)((ConfigEntryBase)Config.WidgetFontSizeProgress).DefaultValue;
}
internal float <Populate>b__3_36()
{
return Config.WidgetSpacing.Value;
}
internal void <Populate>b__3_37(float v)
{
Config.WidgetSpacing.Value = v;
}
internal float <Populate>b__3_38()
{
return (float)((ConfigEntryBase)Config.WidgetSpacing).DefaultValue;
}
internal float <Populate>b__3_39()
{
return Config.WidgetBorderSize.Value;
}
internal void <Populate>b__3_40(float v)
{
Config.WidgetBorderSize.Value = v;
}
internal float <Populate>b__3_41()
{
return (float)((ConfigEntryBase)Config.WidgetBorderSize).DefaultValue;
}
internal int <Populate>b__3_42()
{
return Config.WidgetCornerRadius.Value;
}
internal void <Populate>b__3_43(int v)
{
Config.WidgetCornerRadius.Value = v;
}
internal int <Populate>b__3_44()
{
return (int)((ConfigEntryBase)Config.WidgetCornerRadius).DefaultValue;
}
internal float <Populate>b__3_45()
{
return Config.WidgetLevelUpDuration.Value;
}
internal void <Populate>b__3_46(float v)
{
Config.WidgetLevelUpDuration.Value = v;
}
internal float <Populate>b__3_47()
{
return (float)((ConfigEntryBase)Config.WidgetLevelUpDuration).DefaultValue;
}
internal Color <Populate>b__3_48()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.WidgetBorderColor.Value;
}
internal void <Populate>b__3_49(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetBorderColor.Value = v;
}
internal Color <Populate>b__3_50()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.WidgetBorderColor).DefaultValue;
}
internal Color <Populate>b__3_51()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.WidgetBgColor.Value;
}
internal void <Populate>b__3_52(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetBgColor.Value = v;
}
internal Color <Populate>b__3_53()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.WidgetBgColor).DefaultValue;
}
internal Color <Populate>b__3_54()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.WidgetLevelColor.Value;
}
internal void <Populate>b__3_55(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetLevelColor.Value = v;
}
internal Color <Populate>b__3_56()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.WidgetLevelColor).DefaultValue;
}
internal Color <Populate>b__3_57()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.WidgetProgressColor.Value;
}
internal void <Populate>b__3_58(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetProgressColor.Value = v;
}
internal Color <Populate>b__3_59()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.WidgetProgressColor).DefaultValue;
}
internal Color <Populate>b__3_60()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.WidgetProgressMaxColor.Value;
}
internal void <Populate>b__3_61(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetProgressMaxColor.Value = v;
}
internal Color <Populate>b__3_62()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.WidgetProgressMaxColor).DefaultValue;
}
internal Color <Populate>b__3_63()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
return Config.WidgetLevelUpColor.Value;
}
internal void <Populate>b__3_64(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetLevelUpColor.Value = v;
}
internal Color <Populate>b__3_65()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
return (Color)((ConfigEntryBase)Config.WidgetLevelUpColor).DefaultValue;
}
internal char <AddFloatRow>b__5_0(string _, int _, char c)
{
if ("0123456789.-".IndexOf(c) < 0)
{
return '\0';
}
return c;
}
}
private static Log.Scoped Logger { get; } = Log.For("SettingsPanelRows");
internal static void Populate(Transform content, Font font, List<Action> resets, Transform skillsFrame, ILabels t)
{
SettingsPanelLayout.AddSection(content, font, t.SectionGeneral);
AddToggleRow(content, font, t.DebugMode, resets, skillsFrame, t, () => Config.DebugMode.Value, delegate(bool v)
{
Config.DebugMode.Value = v;
}, () => (bool)((ConfigEntryBase)Config.DebugMode).DefaultValue);
AddToggleRow(content, font, t.HudWidgetsVisible, resets, skillsFrame, t, () => Config.HudWidgetsVisible.Value, delegate(bool v)
{
Config.HudWidgetsVisible.Value = v;
}, () => (bool)((ConfigEntryBase)Config.HudWidgetsVisible).DefaultValue);
SettingsPanelLayout.AddSection(content, font, t.SectionSkillsPanel);
AddColorRow(content, font, t.StarFavorite, resets, skillsFrame, () => Config.FavoriteStarColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.FavoriteStarColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.FavoriteStarColor).DefaultValue);
AddColorRow(content, font, t.StarUnfavorite, resets, skillsFrame, () => Config.UnfavoriteStarColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.UnfavoriteStarColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.UnfavoriteStarColor).DefaultValue);
SettingsPanelLayout.AddSection(content, font, t.SectionHudPosition);
AddFloatRow(content, font, t.PositionX, resets, skillsFrame, () => Config.HudPositionX.Value, delegate(float v)
{
Config.HudPositionX.Value = v;
}, () => (float)((ConfigEntryBase)Config.HudPositionX).DefaultValue);
AddFloatRow(content, font, t.PositionY, resets, skillsFrame, () => Config.HudPositionY.Value, delegate(float v)
{
Config.HudPositionY.Value = v;
}, () => (float)((ConfigEntryBase)Config.HudPositionY).DefaultValue);
AddSliderFloatRow(content, font, t.HudScale, resets, skillsFrame, 50f, 150f, 0, () => Config.HudScale.Value, delegate(float v)
{
Config.HudScale.Value = v;
}, () => (float)((ConfigEntryBase)Config.HudScale).DefaultValue);
SettingsPanelLayout.AddSection(content, font, t.SectionHudSize);
AddSliderFloatRow(content, font, t.Width, resets, skillsFrame, 30f, 200f, 1, () => Config.WidgetWidth.Value, delegate(float v)
{
Config.WidgetWidth.Value = v;
}, () => (float)((ConfigEntryBase)Config.WidgetWidth).DefaultValue);
AddSliderFloatRow(content, font, t.Height, resets, skillsFrame, 30f, 200f, 1, () => Config.WidgetHeight.Value, delegate(float v)
{
Config.WidgetHeight.Value = v;
}, () => (float)((ConfigEntryBase)Config.WidgetHeight).DefaultValue);
AddSliderFloatRow(content, font, t.IconSize, resets, skillsFrame, 10f, 100f, 1, () => Config.WidgetIconSize.Value, delegate(float v)
{
Config.WidgetIconSize.Value = v;
}, () => (float)((ConfigEntryBase)Config.WidgetIconSize).DefaultValue);
AddSliderIntRow(content, font, t.FontLevel, resets, skillsFrame, 6, 30, () => Config.WidgetFontSizeLevel.Value, delegate(int v)
{
Config.WidgetFontSizeLevel.Value = v;
}, () => (int)((ConfigEntryBase)Config.WidgetFontSizeLevel).DefaultValue);
AddSliderIntRow(content, font, t.FontProgress, resets, skillsFrame, 6, 24, () => Config.WidgetFontSizeProgress.Value, delegate(int v)
{
Config.WidgetFontSizeProgress.Value = v;
}, () => (int)((ConfigEntryBase)Config.WidgetFontSizeProgress).DefaultValue);
AddSliderFloatRow(content, font, t.WidgetSpacing, resets, skillsFrame, 0f, 30f, 1, () => Config.WidgetSpacing.Value, delegate(float v)
{
Config.WidgetSpacing.Value = v;
}, () => (float)((ConfigEntryBase)Config.WidgetSpacing).DefaultValue);
AddSliderFloatRow(content, font, t.BorderThickness, resets, skillsFrame, 0f, 10f, 1, () => Config.WidgetBorderSize.Value, delegate(float v)
{
Config.WidgetBorderSize.Value = v;
}, () => (float)((ConfigEntryBase)Config.WidgetBorderSize).DefaultValue);
AddSliderIntRow(content, font, t.CornerRadius, resets, skillsFrame, 0, 20, () => Config.WidgetCornerRadius.Value, delegate(int v)
{
Config.WidgetCornerRadius.Value = v;
}, () => (int)((ConfigEntryBase)Config.WidgetCornerRadius).DefaultValue);
AddSliderFloatRow(content, font, t.LevelUpDuration, resets, skillsFrame, 0f, 5f, 2, () => Config.WidgetLevelUpDuration.Value, delegate(float v)
{
Config.WidgetLevelUpDuration.Value = v;
}, () => (float)((ConfigEntryBase)Config.WidgetLevelUpDuration).DefaultValue);
SettingsPanelLayout.AddSection(content, font, t.SectionHudColors);
AddColorRow(content, font, t.ColorBorder, resets, skillsFrame, () => Config.WidgetBorderColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetBorderColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.WidgetBorderColor).DefaultValue);
AddColorRow(content, font, t.ColorBackground, resets, skillsFrame, () => Config.WidgetBgColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetBgColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.WidgetBgColor).DefaultValue);
AddColorRow(content, font, t.ColorLevelText, resets, skillsFrame, () => Config.WidgetLevelColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetLevelColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.WidgetLevelColor).DefaultValue);
AddColorRow(content, font, t.ColorProgressText, resets, skillsFrame, () => Config.WidgetProgressColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetProgressColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.WidgetProgressColor).DefaultValue);
AddColorRow(content, font, t.ColorMaxText, resets, skillsFrame, () => Config.WidgetProgressMaxColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetProgressMaxColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.WidgetProgressMaxColor).DefaultValue);
AddColorRow(content, font, t.ColorLevelUpFlash, resets, skillsFrame, () => Config.WidgetLevelUpColor.Value, delegate(Color v)
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
Config.WidgetLevelUpColor.Value = v;
}, () => (Color)((ConfigEntryBase)Config.WidgetLevelUpColor).DefaultValue);
}
private static void AddToggleRow(Transform parent, Font font, string label, List<Action> resets, Transform skillsFrame, ILabels t, Func<bool> getter, Action<bool> setter, Func<bool> getDefault)
{
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Expected O, but got Unknown
//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
//IL_0153: Unknown result type (might be due to invalid IL or missing references)
//IL_015d: Expected O, but got Unknown
Func<bool> getter2 = getter;
Action<bool> setter2 = setter;
ILabels t2 = t;
string label2 = label;
Func<bool> getDefault2 = getDefault;
GameObject val = SettingsPanelWidgets.MakeRow(parent, label2);
SettingsPanelWidgets.MakeLabel(val.transform, font, label2);
GameObject val2 = new GameObject("Toggle", new Type[5]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image),
typeof(Button),
typeof(LayoutElement)
});
val2.transform.SetParent(val.transform, false);
LayoutElement component = val2.GetComponent<LayoutElement>();
float preferredWidth = (component.minWidth = 68f);
component.preferredWidth = preferredWidth;
Image img = val2.GetComponent<Image>();
((Graphic)img).color = SettingsPanelWidgets.ToggleColor(getter2());
SettingsPanelWidgets.ApplyRoundedSprite(img);
Text labelText = SettingsPanelWidgets.AddChildText(val2.transform, font, getter2() ? t2.ToggleOn : t2.ToggleOff, 12, (FontStyle)1);
Button component2 = val2.GetComponent<Button>();
((Selectable)component2).targetGraphic = (Graphic)(object)img;
((UnityEvent)component2.onClick).AddListener((UnityAction)delegate
{
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
bool flag2 = !getter2();
setter2(flag2);
Plugin.SaveConfig();
((Graphic)img).color = SettingsPanelWidgets.ToggleColor(flag2);
labelText.text = (flag2 ? t2.ToggleOn : t2.ToggleOff);
Logger.Debug($"Toggle '{label2}' → {flag2}");
});
SettingsPanelWidgets.MakeResetButton(val.transform, Reset, skillsFrame);
resets.Add(Reset);
void Reset()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
bool flag = getDefault2();
setter2(flag);
Plugin.SaveConfig();
((Graphic)img).color = SettingsPanelWidgets.ToggleColor(flag);
labelText.text = (flag ? t2.ToggleOn : t2.ToggleOff);
}
}
private static void AddFloatRow(Transform parent, Font font, string label, List<Action> resets, Transform skillsFrame, Func<float> getter, Action<float> setter, Func<float> getDefault)
{
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
//IL_0094: Unknown result type (might be due to invalid IL or missing references)
//IL_009a: Expected O, but got Unknown
Action<float> setter2 = setter;
Func<float> getter2 = getter;
Func<float> getDefault2 = getDefault;
GameObject obj = SettingsPanelWidgets.MakeRow(parent, label);
SettingsPanelWidgets.MakeLabel(obj.transform, font, label);
GameObject val = SettingsPanelWidgets.MakeInputField(obj.transform, font, getter2().ToString("0.##"), "0.0");
InputField input = val.GetComponent<InputField>();
input.characterLimit = 10;
InputField obj2 = input;
object obj3 = <>c.<>9__5_0;
if (obj3 == null)
{
OnValidateInput val2 = (string _, int _, char c) => ("0123456789.-".IndexOf(c) >= 0) ? c : '\0';
<>c.<>9__5_0 = val2;
obj3 = (object)val2;
}
obj2.onValidateInput = (OnValidateInput)obj3;
SettingsPanelWidgets.ApplyRoundedSprite(((Component)input).GetComponent<Image>());
((UnityEvent<string>)(object)input.onValueChanged).AddListener((UnityAction<string>)delegate(string raw)
{
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
if (float.TryParse(raw, NumberStyles.Float, CultureInfo.InvariantCulture, out var result2))
{
((Graphic)input.textComponent).color = Color.white;
setter2(result2);
Plugin.SaveConfig();
}
else
{
((Graphic)input.textComponent).color = SettingsPanelWidgets.ErrorColor;
}
});
((UnityEvent<string>)(object)input.onEndEdit).AddListener((UnityAction<string>)delegate(string raw)
{
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
if (!float.TryParse(raw, NumberStyles.Float, CultureInfo.InvariantCulture, out var _))
{
input.text = getter2().ToString("0.##");
((Graphic)input.textComponent).color = Color.white;
}
});
SettingsPanelWidgets.MakeResetButton(obj.transform, Reset, skillsFrame);
resets.Add(Reset);
void Reset()
{
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
float obj4 = getDefault2();
setter2(obj4);
Plugin.SaveConfig();
input.text = obj4.ToString("0.##");
((Graphic)input.textComponent).color = Color.white;
}
}
private static void AddSliderFloatRow(Transform parent, Font font, string label, List<Action> resets, Transform skillsFrame, float min, float max, int decimals, Func<float> getter, Action<float> setter, Func<float> getDefault)
{
Action<float> setter2 = setter;
Func<float> getDefault2 = getDefault;
string fmt = "F" + decimals;
GameObject obj = SettingsPanelWidgets.MakeRow(parent, label);
SettingsPanelWidgets.MakeLabel(obj.transform, font, label);
var (slider, valueText) = SettingsPanelWidgets.MakeSlider(obj.transform, font, min, max, getter(), fmt);
((UnityEvent<float>)(object)slider.onValueChanged).AddListener((UnityAction<float>)delegate(float raw)
{
float obj2 = (float)Math.Round(raw, decimals);
valueText.text = obj2.ToString(fmt);
setter2(obj2);
Plugin.SaveConfig();
});
SettingsPanelWidgets.MakeResetButton(obj.transform, Reset, skillsFrame);
resets.Add(Reset);
void Reset()
{
float num = getDefault2();
setter2(num);
Plugin.SaveConfig();
slider.value = num;
valueText.text = num.ToString(fmt);
}
}
private static void AddSliderIntRow(Transform parent, Font font, string label, List<Action> resets, Transform skillsFrame, int min, int max, Func<int> getter, Action<int> setter, Func<int> getDefault)
{
Action<int> setter2 = setter;
Func<int> getDefault2 = getDefault;
GameObject obj = SettingsPanelWidgets.MakeRow(parent, label);
SettingsPanelWidgets.MakeLabel(obj.transform, font, label);
var (slider, valueText) = SettingsPanelWidgets.MakeSlider(obj.transform, font, min, max, getter(), "F0");
slider.wholeNumbers = true;
((UnityEvent<float>)(object)slider.onValueChanged).AddListener((UnityAction<float>)delegate(float raw)
{
int obj2 = Mathf.RoundToInt(raw);
valueText.text = obj2.ToString();
setter2(obj2);
Plugin.SaveConfig();
});
SettingsPanelWidgets.MakeResetButton(obj.transform, Reset, skillsFrame);
resets.Add(Reset);
void Reset()
{
int num = getDefault2();
setter2(num);
Plugin.SaveConfig();
slider.value = num;
valueText.text = num.ToString();
}
}
private static void AddColorRow(Transform parent, Font font, string label, List<Action> resets, Transform skillsFrame, Func<Color> getter, Action<Color> setter, Func<Color> getDefault)
{
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Expected O, but got Unknown
//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
//IL_019b: Unknown result type (might be due to invalid IL or missing references)
//IL_01a5: Expected O, but got Unknown
Action<Color> setter2 = setter;
Func<Color> getter2 = getter;
Func<Color> getDefault2 = getDefault;
GameObject val = SettingsPanelWidgets.MakeRow(parent, label);
SettingsPanelWidgets.MakeLabel(val.transform, font, label);
GameObject val2 = new GameObject("Preview", new Type[5]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image),
typeof(LayoutElement),
typeof(Button)
});
val2.transform.SetParent(val.transform, false);
LayoutElement component = val2.GetComponent<LayoutElement>();
float preferredWidth = (component.minWidth = 22f);
component.preferredWidth = preferredWidth;
Image previewImg = val2.GetComponent<Image>();
((Graphic)previewImg).color = getter2();
SettingsPanelWidgets.ApplyRoundedSprite(previewImg);
GameObject val3 = SettingsPanelWidgets.MakeInputField(val.transform, font, ColorUtility.ToHtmlStringRGBA(getter2()));
val3.transform.SetSiblingIndex(1);
InputField input = val3.GetComponent<InputField>();
Text inputText = input.textComponent;
SettingsPanelWidgets.ApplyRoundedSprite(((Component)input).GetComponent<Image>());
(GameObject, Action<Color>) tuple = ColorPickerPopup.Build(parent.parent.parent.parent, getter2, delegate(Color chosen)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
setter2(chosen);
Plugin.SaveConfig();
((Graphic)previewImg).color = chosen;
input.text = ColorUtility.ToHtmlStringRGBA(chosen);
((Graphic)inputText).color = Color.white;
});
GameObject pickerOverlay = tuple.Item1;
Action<Color> syncAlpha = tuple.Item2;
Button component2 = val2.GetComponent<Button>();
((Selectable)component2).targetGraphic = (Graphic)(object)previewImg;
((UnityEvent)component2.onClick).AddListener((UnityAction)delegate
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
ColorPickerPopup.OpenOverlay(pickerOverlay, getter2(), syncAlpha);
});
((UnityEvent<string>)(object)input.onValueChanged).AddListener((UnityAction<string>)delegate(string hex)
{
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
if (SettingsPanelWidgets.TryParseColor(hex, out var color2))
{
((Graphic)previewImg).color = color2;
((Graphic)inputText).color = Color.white;
setter2(color2);
Plugin.SaveConfig();
syncAlpha(color2);
}
else
{
((Graphic)previewImg).color = SettingsPanelWidgets.ErrorPreviewColor;
((Graphic)inputText).color = SettingsPanelWidgets.ErrorColor;
}
});
((UnityEvent<string>)(object)input.onEndEdit).AddListener((UnityAction<string>)delegate(string hex)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
if (!SettingsPanelWidgets.TryParseColor(hex, out var _))
{
input.text = ColorUtility.ToHtmlStringRGBA(getter2());
((Graphic)previewImg).color = getter2();
((Graphic)inputText).color = Color.white;
}
});
SettingsPanelWidgets.MakeResetButton(val.transform, Reset, skillsFrame);
resets.Add(Reset);
void Reset()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
Color val4 = getDefault2();
setter2(val4);
Plugin.SaveConfig();
input.text = ColorUtility.ToHtmlStringRGBA(val4);
((Graphic)previewImg).color = val4;
((Graphic)inputText).color = Color.white;
syncAlpha(val4);
}
}
}
internal static class SettingsPanelWidgets
{
[Serializable]
[CompilerGenerated]
private sealed class <>c
{
public static readonly <>c <>9 = new <>c();
public static OnValidateInput <>9__18_0;
internal char <MakeInputField>b__18_0(string _, int _, char c)
{
if ("0123456789ABCDEFabcdef".IndexOf(c) < 0)
{
return '\0';
}
return char.ToUpper(c);
}
}
internal static readonly Color ErrorColor = new Color(1f, 0.4f, 0.4f);
internal static readonly Color ErrorPreviewColor = new Color(0.4f, 0f, 0f);
private static readonly Color ToggleOnColor = new Color(0.18f, 0.58f, 0.18f);
private static readonly Color ToggleOffColor = new Color(0.48f, 0.14f, 0.14f);
private static readonly Color LabelColor = new Color(0.9f, 0.88f, 0.82f);
private static readonly Color InputBgColor = new Color(0.1f, 0.08f, 0.06f);
private static readonly Color SliderTrackColor = new Color(0.1f, 0.08f, 0.06f);
private static readonly Color SliderFillColor = new Color(0.58f, 0.44f, 0.18f);
private static readonly Color SliderHandleColor = new Color(0.76f, 0.6f, 0.3f);
private static readonly Color SliderHandleHighlight = new Color(0.92f, 0.76f, 0.44f);
private static readonly Color SliderHandlePressed = new Color(0.46f, 0.34f, 0.12f);
private const int LabelFontSize = 14;
private const int InputFontSize = 11;
private const int PlaceholderFontSize = 10;
internal static Color ToggleColor(bool on)
{
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
if (!on)
{
return ToggleOffColor;
}
return ToggleOnColor;
}
internal static void MakeResetButton(Transform parent, Action onClick, Transform skillsFrame)
{
//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
//IL_0107: Unknown result type (might be due to invalid IL or missing references)
//IL_0112: Unknown result type (might be due to invalid IL or missing references)
//IL_0117: Unknown result type (might be due to invalid IL or missing references)
//IL_0118: Unknown result type (might be due to invalid IL or missing references)
//IL_011f: Unknown result type (might be due to invalid IL or missing references)
//IL_013e: Unknown result type (might be due to invalid IL or missing references)
//IL_0148: Expected O, but got Unknown
//IL_0154: Unknown result type (might be due to invalid IL or missing references)
//IL_015e: Expected O, but got Unknown
Action onClick2 = onClick;
Transform obj = skillsFrame.Find("Closebutton");
if ((Object)(object)obj == (Object)null)
{
throw new InvalidOperationException("Closebutton not found in SkillsFrame");
}
GameObject val = Object.Instantiate<GameObject>(((Component)obj).gameObject, parent);
((Object)val).name = "ResetBtn";
LayoutElement obj2 = val.GetComponent<LayoutElement>() ?? val.AddComponent<LayoutElement>();
float num2 = (obj2.minWidth = 28f);
float num4 = (obj2.preferredWidth = num2);
float preferredHeight = (obj2.minHeight = num4);
obj2.preferredHeight = preferredHeight;
TMP_Text componentInChildren = val.GetComponentInChildren<TMP_Text>();
if ((Object)(object)componentInChildren != (Object)null)
{
((Component)componentInChildren).gameObject.SetActive(false);
}
GameObject val2 = new GameObject("Icon", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val2.transform.SetParent(val.transform, false);
RectTransform component = val2.GetComponent<RectTransform>();
component.anchorMin = new Vector2(0.2f, 0.2f);
component.anchorMax = new Vector2(0.8f, 0.8f);
Vector2 offsetMin = (component.offsetMax = Vector2.zero);
component.offsetMin = offsetMin;
val2.GetComponent<Image>().sprite = SpriteUtils.ResetIcon(10);
Button component2 = val.GetComponent<Button>();
component2.onClick = new ButtonClickedEvent();
((UnityEvent)component2.onClick).AddListener((UnityAction)delegate
{
onClick2();
});
}
internal static GameObject MakeRow(Transform parent, string name)
{
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0097: Expected O, but got Unknown
//IL_0098: Expected O, but got Unknown
GameObject val = new GameObject("Row_" + name, new Type[3]
{
typeof(RectTransform),
typeof(HorizontalLayoutGroup),
typeof(LayoutElement)
});
val.transform.SetParent(parent, false);
LayoutElement component = val.GetComponent<LayoutElement>();
float preferredHeight = (component.minHeight = 28f);
component.preferredHeight = preferredHeight;
HorizontalLayoutGroup component2 = val.GetComponent<HorizontalLayoutGroup>();
((HorizontalOrVerticalLayoutGroup)component2).spacing = 4f;
((HorizontalOrVerticalLayoutGroup)component2).childForceExpandWidth = false;
((HorizontalOrVerticalLayoutGroup)component2).childForceExpandHeight = true;
((LayoutGroup)component2).childAlignment = (TextAnchor)3;
((LayoutGroup)component2).padding = new RectOffset(0, 0, 1, 1);
return val;
}
internal static void MakeLabel(Transform parent, Font font, string text)
{
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject("Label", new Type[4]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Text),
typeof(LayoutElement)
});
val.transform.SetParent(parent, false);
val.GetComponent<LayoutElement>().flexibleWidth = 1f;
Text component = val.GetComponent<Text>();
component.font = font;
component.fontSize = 14;
component.alignment = (TextAnchor)3;
((Graphic)component).color = LabelColor;
component.text = text;
((Graphic)component).raycastTarget = false;
}
internal static GameObject MakeInputField(Transform parent, Font font, string initialValue, string placeholder = "RRGGBBAA")
{
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Expected O, but got Unknown
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
//IL_0106: Unknown result type (might be due to invalid IL or missing references)
//IL_0157: Unknown result type (might be due to invalid IL or missing references)
//IL_015c: Unknown result type (might be due to invalid IL or missing references)
//IL_016e: Unknown result type (might be due to invalid IL or missing references)
//IL_0194: Unknown result type (might be due to invalid IL or missing references)
//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0200: Unknown result type (might be due to invalid IL or missing references)
//IL_0206: Expected O, but got Unknown
GameObject val = new GameObject("Input", new Type[5]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image),
typeof(InputField),
typeof(LayoutElement)
});
val.transform.SetParent(parent, false);
LayoutElement component = val.GetComponent<LayoutElement>();
float preferredWidth = (component.minWidth = 86f);
component.preferredWidth = preferredWidth;
((Graphic)val.GetComponent<Image>()).color = InputBgColor;
GameObject val2 = new GameObject("Placeholder", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Text)
});
val2.transform.SetParent(val.transform, false);
StretchInset(val2.GetComponent<RectTransform>(), 3f);
Text component2 = val2.GetComponent<Text>();
component2.font = font;
component2.fontSize = 10;
((Graphic)component2).color = new Color(0.35f, 0.35f, 0.35f);
component2.text = placeholder;
component2.alignment = (TextAnchor)4;
((Graphic)component2).raycastTarget = false;
GameObject val3 = new GameObject("Text", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Text)
});
val3.transform.SetParent(val.transform, false);
StretchInset(val3.GetComponent<RectTransform>(), 3f);
Text component3 = val3.GetComponent<Text>();
component3.font = font;
component3.fontSize = 11;
((Graphic)component3).color = Color.white;
component3.alignment = (TextAnchor)4;
component3.supportRichText = false;
((Graphic)component3).raycastTarget = false;
InputField component4 = val.GetComponent<InputField>();
component4.textComponent = component3;
component4.placeholder = (Graphic)(object)component2;
component4.characterLimit = 8;
component4.lineType = (LineType)0;
component4.text = initialValue;
ApplyRoundedSprite(((Component)component4).GetComponent<Image>());
object obj = <>c.<>9__18_0;
if (obj == null)
{
OnValidateInput val4 = (string _, int _, char c) => ("0123456789ABCDEFabcdef".IndexOf(c) >= 0) ? char.ToUpper(c) : '\0';
<>c.<>9__18_0 = val4;
obj = (object)val4;
}
component4.onValidateInput = (OnValidateInput)obj;
return val;
}
internal static Text AddChildText(Transform parent, Font font, string text, int fontSize, FontStyle style)
{
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject("Text", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Text)
});
val.transform.SetParent(parent, false);
Stretch(val.GetComponent<RectTransform>());
Text component = val.GetComponent<Text>();
component.font = font;
component.fontSize = fontSize;
component.fontStyle = style;
component.alignment = (TextAnchor)4;
((Graphic)component).color = Color.white;
component.text = text;
((Graphic)component).raycastTarget = false;
return component;
}
internal static void ApplyRoundedSprite(Image img)
{
Sprite val = SpriteUtils.RoundedRect(6);
if (!((Object)(object)val == (Object)null))
{
img.sprite = val;
img.type = (Type)1;
}
}
internal static bool TryParseColor(string hex, out Color color)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
color = Color.white;
if (hex.Length != 8)
{
return false;
}
return ColorUtility.TryParseHtmlString("#" + hex, ref color);
}
internal static void Stretch(RectTransform rt)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
rt.anchorMin = Vector2.zero;
rt.anchorMax = Vector2.one;
Vector2 offsetMin = (rt.offsetMax = Vector2.zero);
rt.offsetMin = offsetMin;
}
internal static void StretchInset(RectTransform rt, float inset)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
rt.anchorMin = Vector2.zero;
rt.anchorMax = Vector2.one;
rt.offsetMin = new Vector2(inset, 0f);
rt.offsetMax = new Vector2(0f - inset, 0f);
}
internal static (Slider slider, Text valueText) MakeSlider(Transform parent, Font font, float min, float max, float initialValue, string valueFormat)
{
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Expected O, but got Unknown
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Expected O, but got Unknown
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00df: Unknown result type (might be due to invalid IL or missing references)
//IL_011b: Unknown result type (might be due to invalid IL or missing references)
//IL_0120: Unknown result type (might be due to invalid IL or missing references)
//IL_0132: Unknown result type (might be due to invalid IL or missing references)
//IL_0143: Unknown result type (might be due to invalid IL or missing references)
//IL_0158: Unknown result type (might be due to invalid IL or missing references)
//IL_016d: Unknown result type (might be due to invalid IL or missing references)
//IL_0181: Unknown result type (might be due to invalid IL or missing references)
//IL_0191: Unknown result type (might be due to invalid IL or missing references)
//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
//IL_01be: Expected O, but got Unknown
//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
//IL_020b: Unknown result type (might be due to invalid IL or missing references)
//IL_021f: Unknown result type (might be due to invalid IL or missing references)
//IL_025b: Unknown result type (might be due to invalid IL or missing references)
//IL_0260: Unknown result type (might be due to invalid IL or missing references)
//IL_0272: Unknown result type (might be due to invalid IL or missing references)
//IL_027a: Unknown result type (might be due to invalid IL or missing references)
//IL_028f: Unknown result type (might be due to invalid IL or missing references)
//IL_029b: Unknown result type (might be due to invalid IL or missing references)
//IL_02a0: Unknown result type (might be due to invalid IL or missing references)
//IL_02a1: Unknown result type (might be due to invalid IL or missing references)
//IL_02a8: Unknown result type (might be due to invalid IL or missing references)
//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
//IL_02e3: Expected O, but got Unknown
//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0309: Unknown result type (might be due to invalid IL or missing references)
//IL_031e: Unknown result type (might be due to invalid IL or missing references)
//IL_0332: Unknown result type (might be due to invalid IL or missing references)
//IL_036e: Unknown result type (might be due to invalid IL or missing references)
//IL_0373: Unknown result type (might be due to invalid IL or missing references)
//IL_0386: Unknown result type (might be due to invalid IL or missing references)
//IL_039a: Unknown result type (might be due to invalid IL or missing references)
//IL_03b0: Unknown result type (might be due to invalid IL or missing references)
//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
//IL_044e: Unknown result type (might be due to invalid IL or missing references)
//IL_0456: Unknown result type (might be due to invalid IL or missing references)
//IL_0462: Unknown result type (might be due to invalid IL or missing references)
//IL_046e: Unknown result type (might be due to invalid IL or missing references)
//IL_047a: Unknown result type (might be due to invalid IL or missing references)
//IL_0495: Unknown result type (might be due to invalid IL or missing references)
//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
//IL_04fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0502: Unknown result type (might be due to invalid IL or missing references)
//IL_050f: Unknown result type (might be due to invalid IL or missing references)
//IL_054c: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject("SliderWrap", new Type[2]
{
typeof(RectTransform),
typeof(LayoutElement)
});
val.transform.SetParent(parent, false);
LayoutElement component = val.GetComponent<LayoutElement>();
component.preferredWidth = 160f;
component.minWidth = 80f;
GameObject val2 = new GameObject("Slider", new Type[2]
{
typeof(RectTransform),
typeof(Slider)
});
val2.transform.SetParent(val.transform, false);
RectTransform component2 = val2.GetComponent<RectTransform>();
component2.anchorMin = new Vector2(0f, 0.5f);
component2.anchorMax = new Vector2(1f, 0.5f);
component2.offsetMin = new Vector2(0f, -7f);
component2.offsetMax = new Vector2(0f, 7f);
GameObject val3 = new GameObject("Background", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val3.transform.SetParent(val2.transform, false);
RectTransform component3 = val3.GetComponent<RectTransform>();
component3.anchorMin = new Vector2(0f, 0.5f);
component3.anchorMax = new Vector2(1f, 0.5f);
component3.offsetMin = new Vector2(0f, -1.5f);
component3.offsetMax = new Vector2(0f, 1.5f);
Image component4 = val3.GetComponent<Image>();
((Graphic)component4).color = SliderTrackColor;
ApplyRoundedSprite(component4);
GameObject val4 = new GameObject("Fill Area", new Type[1] { typeof(RectTransform) });
val4.transform.SetParent(val2.transform, false);
RectTransform component5 = val4.GetComponent<RectTransform>();
component5.anchorMin = new Vector2(0f, 0.5f);
component5.anchorMax = new Vector2(1f, 0.5f);
component5.offsetMin = new Vector2(0f, -1.5f);
component5.offsetMax = new Vector2(-7f, 1.5f);
GameObject val5 = new GameObject("Fill", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val5.transform.SetParent(val4.transform, false);
RectTransform component6 = val5.GetComponent<RectTransform>();
component6.anchorMin = Vector2.zero;
component6.anchorMax = new Vector2(0f, 1f);
Vector2 offsetMin = (component6.offsetMax = Vector2.zero);
component6.offsetMin = offsetMin;
Image component7 = val5.GetComponent<Image>();
((Graphic)component7).color = SliderFillColor;
ApplyRoundedSprite(component7);
GameObject val6 = new GameObject("Handle Slide Area", new Type[1] { typeof(RectTransform) });
val6.transform.SetParent(val2.transform, false);
RectTransform component8 = val6.GetComponent<RectTransform>();
component8.anchorMin = Vector2.zero;
component8.anchorMax = Vector2.one;
component8.offsetMin = new Vector2(7f, 0f);
component8.offsetMax = new Vector2(-7f, 0f);
GameObject val7 = new GameObject("Handle", new Type[3]
{
typeof(RectTransform),
typeof(CanvasRenderer),
typeof(Image)
});
val7.transform.SetParent(val6.transform, false);
RectTransform component9 = val7.GetComponent<RectTransform>();
component9.anchorMin = new Vector2(0f, 0.5f);
component9.anchorMax = new Vector2(0f, 0.5f);
component9.pivot = new Vector2(0.5f, 0.5f);
component9.sizeDelta = new Vector2(14f, 14f);
Image component10 = val7.GetComponent<Image>();
((Graphic)component10).color = SliderHandleColor;
ApplyRoundedSprite(component10);
Slider component11 = val2.GetComponent<Slider>();
component11.fillRect = component6;
component11.handleRect = component9;
((Selectable)component11).targetGraphic = (Graphic)(object)component10;
component11.direction = (Direction)0;
component11.minValue = min;
component11.maxValue = max;
component11.value = Mathf.Clamp(initialValue, min, max);
ColorBlock colors = default(ColorBlock);
((ColorBlock)(ref colors)).normalColor = SliderHandleColor;
((ColorBlock)(ref colors)).highlightedColor = SliderHandleHighlight;
((ColorBlock)(ref colors)).pressedColor = SliderHandlePressed;
((ColorBlock)(ref colors)).selectedColor = SliderHandleColor;
((ColorBlock)(ref colors)).disabledColor = new Color(0.4f, 0.4f, 0.4f);
((ColorBlock)(ref colors)).colorMultiplier = 1f;