From 2f7c9e80cba3b4151112de24fe4392d86725b8a3 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sat, 5 Sep 2026 02:24:14 +0200 Subject: [PATCH 01/18] Add com.warlogic.settings core package skeleton (settings overhaul chunk 1) --- Packages/com.warlogic.settings/CHANGELOG.md | 5 + .../Runtime/ApplyMode.cs | 8 + .../Runtime/BoolSetting.cs | 20 +++ .../Runtime/EnumSetting.cs | 22 +++ .../Runtime/FloatSetting.cs | 32 ++++ .../com.warlogic.settings/Runtime/ISetting.cs | 24 +++ .../Runtime/ISettingsStore.cs | 8 + .../Runtime/IntSetting.cs | 32 ++++ .../Runtime/PlayerPrefsJsonSettingsStore.cs | 83 +++++++++++ .../com.warlogic.settings/Runtime/Setting.cs | 141 ++++++++++++++++++ .../Runtime/SettingsRegistry.cs | 72 +++++++++ .../Runtime/SettingsTab.cs | 33 ++++ .../Runtime/StringSetting.cs | 20 +++ .../Runtime/Warlogic.Settings.asmdef | 10 ++ Packages/com.warlogic.settings/package.json | 12 ++ 15 files changed, 522 insertions(+) create mode 100644 Packages/com.warlogic.settings/CHANGELOG.md create mode 100644 Packages/com.warlogic.settings/Runtime/ApplyMode.cs create mode 100644 Packages/com.warlogic.settings/Runtime/BoolSetting.cs create mode 100644 Packages/com.warlogic.settings/Runtime/EnumSetting.cs create mode 100644 Packages/com.warlogic.settings/Runtime/FloatSetting.cs create mode 100644 Packages/com.warlogic.settings/Runtime/ISetting.cs create mode 100644 Packages/com.warlogic.settings/Runtime/ISettingsStore.cs create mode 100644 Packages/com.warlogic.settings/Runtime/IntSetting.cs create mode 100644 Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs create mode 100644 Packages/com.warlogic.settings/Runtime/Setting.cs create mode 100644 Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs create mode 100644 Packages/com.warlogic.settings/Runtime/SettingsTab.cs create mode 100644 Packages/com.warlogic.settings/Runtime/StringSetting.cs create mode 100644 Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef create mode 100644 Packages/com.warlogic.settings/package.json diff --git a/Packages/com.warlogic.settings/CHANGELOG.md b/Packages/com.warlogic.settings/CHANGELOG.md new file mode 100644 index 00000000..61ce0a6f --- /dev/null +++ b/Packages/com.warlogic.settings/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## [0.1.0] - 2026-09-05 + +- Initial version: `SettingsTab`, `ISetting`/`Setting` with Immediate/OnSave apply modes, concrete setting types (float, int, bool, enum, string), `SettingsRegistry`, `ISettingsStore` + `PlayerPrefsJsonSettingsStore`. diff --git a/Packages/com.warlogic.settings/Runtime/ApplyMode.cs b/Packages/com.warlogic.settings/Runtime/ApplyMode.cs new file mode 100644 index 00000000..747b8381 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/ApplyMode.cs @@ -0,0 +1,8 @@ +namespace Warlogic.Settings +{ + public enum ApplyMode + { + Immediate, + OnSave + } +} diff --git a/Packages/com.warlogic.settings/Runtime/BoolSetting.cs b/Packages/com.warlogic.settings/Runtime/BoolSetting.cs new file mode 100644 index 00000000..e74b9fae --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/BoolSetting.cs @@ -0,0 +1,20 @@ +namespace Warlogic.Settings +{ + public sealed class BoolSetting : Setting + { + public BoolSetting(string key, string label, bool defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) + : base(key, label, defaultValue, description, applyMode) + { + } + + protected override string Serialize(bool value) + { + return value ? "true" : "false"; + } + + protected override bool Deserialize(string raw) + { + return bool.Parse(raw); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs new file mode 100644 index 00000000..26a4df92 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs @@ -0,0 +1,22 @@ +using System; + +namespace Warlogic.Settings +{ + public sealed class EnumSetting : Setting where T : struct, Enum + { + public EnumSetting(string key, string label, T defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) + : base(key, label, defaultValue, description, applyMode) + { + } + + protected override string Serialize(T value) + { + return value.ToString(); + } + + protected override T Deserialize(string raw) + { + return Enum.Parse(raw, true); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/FloatSetting.cs b/Packages/com.warlogic.settings/Runtime/FloatSetting.cs new file mode 100644 index 00000000..23f76194 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/FloatSetting.cs @@ -0,0 +1,32 @@ +using System.Globalization; + +namespace Warlogic.Settings +{ + public sealed class FloatSetting : Setting + { + public float Min { get; } + public float Max { get; } + + public FloatSetting(string key, string label, float defaultValue, float min = float.NegativeInfinity, float max = float.PositiveInfinity, string description = null, ApplyMode applyMode = ApplyMode.Immediate) + : base(key, label, defaultValue, description, applyMode) + { + Min = min; + Max = max; + } + + protected override float PrepareValue(float value) + { + return value < Min ? Min : value > Max ? Max : value; + } + + protected override string Serialize(float value) + { + return value.ToString("R", CultureInfo.InvariantCulture); + } + + protected override float Deserialize(string raw) + { + return float.Parse(raw, CultureInfo.InvariantCulture); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/ISetting.cs b/Packages/com.warlogic.settings/Runtime/ISetting.cs new file mode 100644 index 00000000..22c81b79 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/ISetting.cs @@ -0,0 +1,24 @@ +using System; + +namespace Warlogic.Settings +{ + public interface ISetting + { + string Key { get; } + string Label { get; } + string Description { get; } + ApplyMode ApplyMode { get; } + bool IsDirty { get; } + event Action Changed; + void Commit(); + void Revert(); + bool IsEnabled(); + } + + public interface ISetting : ISetting + { + T Value { get; set; } + T StagedValue { get; set; } + T DefaultValue { get; } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs b/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs new file mode 100644 index 00000000..70f15dcc --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs @@ -0,0 +1,8 @@ +namespace Warlogic.Settings +{ + public interface ISettingsStore + { + bool TryLoad(string key, out string value); + void Save(string key, string value); + } +} diff --git a/Packages/com.warlogic.settings/Runtime/IntSetting.cs b/Packages/com.warlogic.settings/Runtime/IntSetting.cs new file mode 100644 index 00000000..4b470186 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/IntSetting.cs @@ -0,0 +1,32 @@ +using System.Globalization; + +namespace Warlogic.Settings +{ + public sealed class IntSetting : Setting + { + public int Min { get; } + public int Max { get; } + + public IntSetting(string key, string label, int defaultValue, int min = int.MinValue, int max = int.MaxValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) + : base(key, label, defaultValue, description, applyMode) + { + Min = min; + Max = max; + } + + protected override int PrepareValue(int value) + { + return value < Min ? Min : value > Max ? Max : value; + } + + protected override string Serialize(int value) + { + return value.ToString(CultureInfo.InvariantCulture); + } + + protected override int Deserialize(string raw) + { + return int.Parse(raw, CultureInfo.InvariantCulture); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs b/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs new file mode 100644 index 00000000..c725a476 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Warlogic.Settings +{ + public sealed class PlayerPrefsJsonSettingsStore : ISettingsStore + { + public const string DefaultPlayerPrefsKey = "warlogic.settings"; + + private readonly string _playerPrefsKey; + private readonly Dictionary _values; + + public PlayerPrefsJsonSettingsStore(string playerPrefsKey = DefaultPlayerPrefsKey) + { + _playerPrefsKey = playerPrefsKey; + _values = LoadDocument(playerPrefsKey); + } + + public bool TryLoad(string key, out string value) + { + return _values.TryGetValue(key, out value); + } + + public void Save(string key, string value) + { + _values[key] = value; + PlayerPrefs.SetString(_playerPrefsKey, SerializeDocument()); + PlayerPrefs.Save(); + } + + private static Dictionary LoadDocument(string playerPrefsKey) + { + var values = new Dictionary(); + string json = PlayerPrefs.GetString(playerPrefsKey, null); + if (string.IsNullOrEmpty(json)) + { + return values; + } + Document document; + try + { + document = JsonUtility.FromJson(json); + } + catch (Exception) + { + return values; + } + if (document?.Entries == null) + { + return values; + } + foreach (Entry entry in document.Entries) + { + values[entry.Key] = entry.Value; + } + return values; + } + + private string SerializeDocument() + { + var document = new Document(); + foreach (KeyValuePair pair in _values) + { + document.Entries.Add(new Entry { Key = pair.Key, Value = pair.Value }); + } + return JsonUtility.ToJson(document); + } + + [Serializable] + private class Entry + { + public string Key; + public string Value; + } + + [Serializable] + private class Document + { + public List Entries = new List(); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/Setting.cs b/Packages/com.warlogic.settings/Runtime/Setting.cs new file mode 100644 index 00000000..3f2a07df --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/Setting.cs @@ -0,0 +1,141 @@ +using System; +using System.Collections.Generic; + +namespace Warlogic.Settings +{ + internal interface IStoreAttachable + { + void AttachStore(ISettingsStore store); + } + + public abstract class Setting : ISetting, IStoreAttachable + { + private T _value; + private T _stagedValue; + private ISettingsStore _store; + + public string Key { get; } + public string Label { get; } + public string Description { get; } + public ApplyMode ApplyMode { get; } + public T DefaultValue { get; } + public Func Validator { get; set; } + public Func EnableCondition { get; set; } + + public event Action Changed; + + protected Setting(string key, string label, T defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) + { + Key = key; + Label = label; + DefaultValue = defaultValue; + Description = description; + ApplyMode = applyMode; + _value = defaultValue; + _stagedValue = defaultValue; + } + + public T Value + { + get => _value; + set + { + if (ApplyMode == ApplyMode.OnSave) + { + StagedValue = value; + return; + } + ApplyValue(value); + } + } + + public T StagedValue + { + get => _stagedValue; + set + { + if (ApplyMode == ApplyMode.Immediate) + { + ApplyValue(value); + return; + } + T prepared = PrepareValue(value); + if (Validator != null && !Validator(prepared)) + { + return; + } + _stagedValue = prepared; + } + } + + public bool IsDirty => ApplyMode == ApplyMode.OnSave && !EqualityComparer.Default.Equals(_stagedValue, _value); + + public void Commit() + { + if (!IsDirty) + { + return; + } + ApplyValue(_stagedValue); + } + + public void Revert() + { + _stagedValue = _value; + } + + public bool IsEnabled() + { + return EnableCondition == null || EnableCondition(); + } + + void IStoreAttachable.AttachStore(ISettingsStore store) + { + _store = store; + if (store.TryLoad(Key, out string raw)) + { + T parsed; + try + { + parsed = PrepareValue(Deserialize(raw)); + } + catch (Exception) + { + return; + } + if (Validator != null && !Validator(parsed)) + { + return; + } + _value = parsed; + _stagedValue = parsed; + } + } + + protected virtual T PrepareValue(T value) + { + return value; + } + + protected abstract string Serialize(T value); + protected abstract T Deserialize(string raw); + + private void ApplyValue(T value) + { + T prepared = PrepareValue(value); + if (Validator != null && !Validator(prepared)) + { + return; + } + if (EqualityComparer.Default.Equals(_value, prepared)) + { + _stagedValue = _value; + return; + } + _value = prepared; + _stagedValue = prepared; + _store?.Save(Key, Serialize(prepared)); + Changed?.Invoke(); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs new file mode 100644 index 00000000..94ccde3b --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; + +namespace Warlogic.Settings +{ + public sealed class SettingsRegistry + { + private readonly List _tabs = new List(); + private readonly Dictionary _settingsByKey = new Dictionary(); + private readonly ISettingsStore _store; + + public event Action SettingChanged; + + public SettingsRegistry(ISettingsStore store = null) + { + _store = store; + } + + public IReadOnlyList Tabs + { + get + { + var sorted = new List(_tabs); + sorted.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder)); + return sorted; + } + } + + public SettingsTab AddTab(string id, string label, int sortOrder = 0) + { + foreach (SettingsTab tab in _tabs) + { + if (tab.Id == id) + { + throw new ArgumentException($"Duplicate tab id: {id}", nameof(id)); + } + } + var newTab = new SettingsTab(this, id, label, sortOrder); + _tabs.Add(newTab); + return newTab; + } + + public ISetting GetSetting(string key) + { + return _settingsByKey.TryGetValue(key, out ISetting setting) ? setting : null; + } + + public ISetting GetSetting(string key) + { + return _settingsByKey.TryGetValue(key, out ISetting setting) ? (ISetting) setting : null; + } + + internal void Register(SettingsTab tab, ISetting setting) + { + if (setting == null) + { + throw new ArgumentNullException(nameof(setting)); + } + if (_settingsByKey.ContainsKey(setting.Key)) + { + throw new ArgumentException($"Duplicate setting key: {setting.Key}", nameof(setting)); + } + if (_store != null && setting is IStoreAttachable attachable) + { + attachable.AttachStore(_store); + } + _settingsByKey.Add(setting.Key, setting); + tab.AddDirect(setting); + setting.Changed += () => SettingChanged?.Invoke(setting); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/SettingsTab.cs b/Packages/com.warlogic.settings/Runtime/SettingsTab.cs new file mode 100644 index 00000000..9e81e908 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/SettingsTab.cs @@ -0,0 +1,33 @@ +using System.Collections.Generic; + +namespace Warlogic.Settings +{ + public sealed class SettingsTab + { + private readonly SettingsRegistry _registry; + private readonly List _settings = new List(); + + public string Id { get; } + public string Label { get; } + public int SortOrder { get; } + public IReadOnlyList Settings => _settings; + + internal SettingsTab(SettingsRegistry registry, string id, string label, int sortOrder) + { + _registry = registry; + Id = id; + Label = label; + SortOrder = sortOrder; + } + + public void Add(ISetting setting) + { + _registry.Register(this, setting); + } + + internal void AddDirect(ISetting setting) + { + _settings.Add(setting); + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/StringSetting.cs b/Packages/com.warlogic.settings/Runtime/StringSetting.cs new file mode 100644 index 00000000..c9038c27 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/StringSetting.cs @@ -0,0 +1,20 @@ +namespace Warlogic.Settings +{ + public sealed class StringSetting : Setting + { + public StringSetting(string key, string label, string defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) + : base(key, label, defaultValue, description, applyMode) + { + } + + protected override string Serialize(string value) + { + return value; + } + + protected override string Deserialize(string raw) + { + return raw; + } + } +} diff --git a/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef b/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef new file mode 100644 index 00000000..ccffebe9 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef @@ -0,0 +1,10 @@ +{ + "name": "Warlogic.Settings", + "rootNamespace": "Warlogic.Settings", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "autoReferenced": true, + "noEngineReferences": false +} diff --git a/Packages/com.warlogic.settings/package.json b/Packages/com.warlogic.settings/package.json new file mode 100644 index 00000000..056138c9 --- /dev/null +++ b/Packages/com.warlogic.settings/package.json @@ -0,0 +1,12 @@ +{ + "name": "com.warlogic.settings", + "displayName": "Warlogic Settings", + "version": "0.1.0", + "description": "Typed, code-declared settings registry with per-setting apply modes and pluggable JSON persistence.", + "unity": "2021.3", + "author": { + "name": "Maciej Cyranowicz", + "url": "https://github.com/Warlander" + }, + "license": "MIT" +} From 127dff1f955fea54b09ec23ccab4bb2566e58747 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sat, 5 Sep 2026 02:26:37 +0200 Subject: [PATCH 02/18] Add EditMode tests for com.warlogic.settings (settings overhaul chunk 2) --- .../com.warlogic.settings/Tests/Editor.meta | 8 + .../PlayerPrefsJsonSettingsStoreTests.cs | 55 ++++ .../PlayerPrefsJsonSettingsStoreTests.cs.meta | 2 + .../Tests/Editor/SettingApplyModeTests.cs | 238 ++++++++++++++++++ .../Editor/SettingApplyModeTests.cs.meta | 2 + .../Tests/Editor/SettingsRegistryTests.cs | 77 ++++++ .../Editor/SettingsRegistryTests.cs.meta | 2 + .../Warlogic.Settings.Tests.Editor.asmdef | 23 ++ ...Warlogic.Settings.Tests.Editor.asmdef.meta | 7 + 9 files changed, 414 insertions(+) create mode 100644 Packages/com.warlogic.settings/Tests/Editor.meta create mode 100644 Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs create mode 100644 Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta create mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs create mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta create mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs create mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta create mode 100644 Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef create mode 100644 Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta diff --git a/Packages/com.warlogic.settings/Tests/Editor.meta b/Packages/com.warlogic.settings/Tests/Editor.meta new file mode 100644 index 00000000..b6258111 --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b848d3c11ec68ab45b9e9d1c434d8160 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs b/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs new file mode 100644 index 00000000..b093e2b0 --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs @@ -0,0 +1,55 @@ +using NUnit.Framework; +using UnityEngine; + +namespace Warlogic.Settings.Tests.Editor +{ + public class PlayerPrefsJsonSettingsStoreTests + { + private const string TestKey = "warlogic.settings.tests"; + + [TearDown] + public void TearDown() + { + PlayerPrefs.DeleteKey(TestKey); + } + + [Test] + public void Save_ThenNewInstance_RoundTrips() + { + var store = new PlayerPrefsJsonSettingsStore(TestKey); + store.Save("guiScale", "12.5"); + store.Save("invertMouse", "true"); + + var reloaded = new PlayerPrefsJsonSettingsStore(TestKey); + + Assert.IsTrue(reloaded.TryLoad("guiScale", out string scale)); + Assert.AreEqual("12.5", scale); + Assert.IsTrue(reloaded.TryLoad("invertMouse", out string invert)); + Assert.AreEqual("true", invert); + Assert.IsFalse(reloaded.TryLoad("missing", out _)); + } + + [Test] + public void Save_OverwritesExistingKey() + { + var store = new PlayerPrefsJsonSettingsStore(TestKey); + store.Save("s", "one"); + store.Save("s", "two"); + + var reloaded = new PlayerPrefsJsonSettingsStore(TestKey); + + Assert.AreEqual("two", reloaded.TryLoad("s", out string value) ? value : null); + } + + [Test] + public void CorruptDocument_LoadsEmpty() + { + PlayerPrefs.SetString(TestKey, "{{{not json"); + PlayerPrefs.Save(); + + var store = new PlayerPrefsJsonSettingsStore(TestKey); + + Assert.IsFalse(store.TryLoad("anything", out _)); + } + } +} diff --git a/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta b/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta new file mode 100644 index 00000000..2fc6c690 --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a0f72b5118e8a1e4e82bc48a36174135 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs b/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs new file mode 100644 index 00000000..b6c14887 --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs @@ -0,0 +1,238 @@ +using System.Collections.Generic; +using NUnit.Framework; + +namespace Warlogic.Settings.Tests.Editor +{ + public class SettingApplyModeTests + { + private sealed class FakeStore : ISettingsStore + { + public readonly Dictionary Values = new Dictionary(); + public int SaveCount; + + public bool TryLoad(string key, out string value) + { + return Values.TryGetValue(key, out value); + } + + public void Save(string key, string value) + { + Values[key] = value; + SaveCount++; + } + } + + private enum Quality + { + Low, + High + } + + [Test] + public void Immediate_SetValue_AppliesAndNotifies() + { + var setting = new FloatSetting("s", "S", 1); + int notifications = 0; + setting.Changed += () => notifications++; + + setting.Value = 5; + + Assert.AreEqual(5, setting.Value); + Assert.AreEqual(5, setting.StagedValue); + Assert.AreEqual(1, notifications); + Assert.IsFalse(setting.IsDirty); + } + + [Test] + public void Immediate_SetSameValue_DoesNotNotify() + { + var setting = new FloatSetting("s", "S", 1); + int notifications = 0; + setting.Changed += () => notifications++; + + setting.Value = 1; + + Assert.AreEqual(0, notifications); + } + + [Test] + public void Immediate_SetStagedValue_WritesThrough() + { + var setting = new FloatSetting("s", "S", 1); + + setting.StagedValue = 7; + + Assert.AreEqual(7, setting.Value); + Assert.IsFalse(setting.IsDirty); + } + + [Test] + public void OnSave_SetValue_StagesWithoutApplying() + { + var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); + int notifications = 0; + setting.Changed += () => notifications++; + + setting.Value = 5; + + Assert.AreEqual(1, setting.Value); + Assert.AreEqual(5, setting.StagedValue); + Assert.IsTrue(setting.IsDirty); + Assert.AreEqual(0, notifications); + } + + [Test] + public void OnSave_Commit_AppliesStagedAndNotifies() + { + var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); + int notifications = 0; + setting.Changed += () => notifications++; + setting.StagedValue = 5; + + setting.Commit(); + + Assert.AreEqual(5, setting.Value); + Assert.IsFalse(setting.IsDirty); + Assert.AreEqual(1, notifications); + } + + [Test] + public void OnSave_Revert_DiscardsStaged() + { + var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); + setting.StagedValue = 5; + + setting.Revert(); + + Assert.AreEqual(1, setting.Value); + Assert.AreEqual(1, setting.StagedValue); + Assert.IsFalse(setting.IsDirty); + } + + [Test] + public void OnSave_CommitWithoutChanges_DoesNothing() + { + var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); + int notifications = 0; + setting.Changed += () => notifications++; + + setting.Commit(); + + Assert.AreEqual(1, setting.Value); + Assert.AreEqual(0, notifications); + } + + [Test] + public void Validation_RejectsInvalidValue() + { + var setting = new FloatSetting("s", "S", 1) { Validator = v => v >= 0 }; + + setting.Value = -3; + + Assert.AreEqual(1, setting.Value); + } + + [Test] + public void Validation_RejectsInvalidStagedValue() + { + var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave) { Validator = v => v >= 0 }; + + setting.StagedValue = -3; + + Assert.AreEqual(1, setting.StagedValue); + Assert.IsFalse(setting.IsDirty); + } + + [Test] + public void MinMax_ClampsValue() + { + var setting = new FloatSetting("s", "S", 10, min: 5, max: 20); + + setting.Value = 100; + Assert.AreEqual(20, setting.Value); + + setting.Value = 0; + Assert.AreEqual(5, setting.Value); + } + + [Test] + public void EnableCondition_ControlsIsEnabled() + { + var flag = false; + var setting = new BoolSetting("s", "S", false) { EnableCondition = () => flag }; + + Assert.IsFalse(setting.IsEnabled()); + flag = true; + Assert.IsTrue(setting.IsEnabled()); + } + + [Test] + public void Immediate_SetValue_PersistsToStore() + { + var store = new FakeStore(); + var registry = new SettingsRegistry(store); + var setting = new FloatSetting("s", "S", 1); + registry.AddTab("general", "General").Add(setting); + + setting.Value = 3.5f; + + Assert.AreEqual("3.5", store.Values["s"]); + Assert.AreEqual(1, store.SaveCount); + } + + [Test] + public void OnSave_StoreWrittenOnlyOnCommit() + { + var store = new FakeStore(); + var registry = new SettingsRegistry(store); + var setting = new IntSetting("s", "S", 1, applyMode: ApplyMode.OnSave); + registry.AddTab("general", "General").Add(setting); + + setting.Value = 9; + Assert.IsFalse(store.Values.ContainsKey("s")); + Assert.AreEqual(0, store.SaveCount); + + setting.Commit(); + Assert.AreEqual("9", store.Values["s"]); + Assert.AreEqual(1, store.SaveCount); + } + + [Test] + public void Registration_LoadsPersistedValue() + { + var store = new FakeStore(); + store.Values["quality"] = "High"; + var registry = new SettingsRegistry(store); + var setting = new EnumSetting("quality", "Quality", Quality.Low); + registry.AddTab("graphics", "Graphics").Add(setting); + + Assert.AreEqual(Quality.High, setting.Value); + Assert.AreEqual(Quality.High, setting.StagedValue); + Assert.IsFalse(setting.IsDirty); + } + + [Test] + public void Registration_IgnoresCorruptPersistedValue() + { + var store = new FakeStore(); + store.Values["s"] = "not-a-number"; + var registry = new SettingsRegistry(store); + var setting = new FloatSetting("s", "S", 4); + registry.AddTab("general", "General").Add(setting); + + Assert.AreEqual(4, setting.Value); + } + + [Test] + public void Registration_IgnoresPersistedValueFailingValidation() + { + var store = new FakeStore(); + store.Values["s"] = "-10"; + var registry = new SettingsRegistry(store); + var setting = new FloatSetting("s", "S", 4) { Validator = v => v >= 0 }; + registry.AddTab("general", "General").Add(setting); + + Assert.AreEqual(4, setting.Value); + } + } +} diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta b/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta new file mode 100644 index 00000000..4ed0987a --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8b7812cddff319d4489bbc63a441b2ad \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs b/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs new file mode 100644 index 00000000..4806d60b --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using NUnit.Framework; + +namespace Warlogic.Settings.Tests.Editor +{ + public class SettingsRegistryTests + { + [Test] + public void Tabs_SortedBySortOrder() + { + var registry = new SettingsRegistry(); + registry.AddTab("b", "B", 2); + registry.AddTab("a", "A", 1); + registry.AddTab("c", "C", 3); + + Assert.AreEqual(new[] { "a", "b", "c" }, registry.Tabs.Select(t => t.Id).ToArray()); + } + + [Test] + public void TabSettings_KeepInsertionOrder() + { + var registry = new SettingsRegistry(); + SettingsTab tab = registry.AddTab("general", "General"); + tab.Add(new FloatSetting("z", "Z", 0)); + tab.Add(new FloatSetting("a", "A", 0)); + + Assert.AreEqual(new[] { "z", "a" }, tab.Settings.Select(s => s.Key).ToArray()); + } + + [Test] + public void AddTab_DuplicateId_Throws() + { + var registry = new SettingsRegistry(); + registry.AddTab("general", "General"); + + Assert.Throws(() => registry.AddTab("general", "Again")); + } + + [Test] + public void Add_DuplicateKeyAcrossTabs_Throws() + { + var registry = new SettingsRegistry(); + registry.AddTab("a", "A").Add(new FloatSetting("shared", "First", 0)); + SettingsTab second = registry.AddTab("b", "B"); + + Assert.Throws(() => second.Add(new FloatSetting("shared", "Second", 0))); + } + + [Test] + public void GetSetting_ReturnsRegisteredSetting() + { + var registry = new SettingsRegistry(); + var setting = new FloatSetting("guiScale", "GUI Scale", 10); + registry.AddTab("general", "General").Add(setting); + + Assert.AreSame(setting, registry.GetSetting("guiScale")); + Assert.AreSame(setting, registry.GetSetting("guiScale")); + Assert.IsNull(registry.GetSetting("missing")); + } + + [Test] + public void SettingChanged_ForwardsSettingChange() + { + var registry = new SettingsRegistry(); + var setting = new FloatSetting("guiScale", "GUI Scale", 10); + registry.AddTab("general", "General").Add(setting); + ISetting notified = null; + registry.SettingChanged += s => notified = s; + + setting.Value = 12; + + Assert.AreSame(setting, notified); + } + } +} diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta b/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta new file mode 100644 index 00000000..83fd627e --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8fafd69b48811db47938c319fe5404a8 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef b/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef new file mode 100644 index 00000000..6d744c26 --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef @@ -0,0 +1,23 @@ +{ + "name": "Warlogic.Settings.Tests.Editor", + "rootNamespace": "Warlogic.Settings.Tests.Editor", + "references": [ + "Warlogic.Settings", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], + "referencesOptionalUnityReferences": false +} diff --git a/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta b/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta new file mode 100644 index 00000000..229e8af8 --- /dev/null +++ b/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3702fcbfd7ed8954f92e6090f95812ba +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From a606712cd1b86f5fb28f91f39f98c13d72d59feb Mon Sep 17 00:00:00 2001 From: Warlander Date: Sat, 5 Sep 2026 02:50:38 +0200 Subject: [PATCH 03/18] Add missing package meta files and lock entry --- Packages/com.warlogic.settings/CHANGELOG.md.meta | 7 +++++++ Packages/com.warlogic.settings/Runtime.meta | 8 ++++++++ Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta | 2 ++ .../com.warlogic.settings/Runtime/BoolSetting.cs.meta | 2 ++ .../com.warlogic.settings/Runtime/EnumSetting.cs.meta | 2 ++ .../com.warlogic.settings/Runtime/FloatSetting.cs.meta | 2 ++ Packages/com.warlogic.settings/Runtime/ISetting.cs.meta | 2 ++ .../com.warlogic.settings/Runtime/ISettingsStore.cs.meta | 2 ++ Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta | 2 ++ .../Runtime/PlayerPrefsJsonSettingsStore.cs.meta | 2 ++ Packages/com.warlogic.settings/Runtime/Setting.cs.meta | 2 ++ .../Runtime/SettingsRegistry.cs.meta | 2 ++ .../com.warlogic.settings/Runtime/SettingsTab.cs.meta | 2 ++ .../com.warlogic.settings/Runtime/StringSetting.cs.meta | 2 ++ .../Runtime/Warlogic.Settings.asmdef.meta | 7 +++++++ Packages/com.warlogic.settings/Tests.meta | 8 ++++++++ Packages/com.warlogic.settings/package.json.meta | 7 +++++++ Packages/packages-lock.json | 6 ++++++ 18 files changed, 67 insertions(+) create mode 100644 Packages/com.warlogic.settings/CHANGELOG.md.meta create mode 100644 Packages/com.warlogic.settings/Runtime.meta create mode 100644 Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/ISetting.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/Setting.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta create mode 100644 Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta create mode 100644 Packages/com.warlogic.settings/Tests.meta create mode 100644 Packages/com.warlogic.settings/package.json.meta diff --git a/Packages/com.warlogic.settings/CHANGELOG.md.meta b/Packages/com.warlogic.settings/CHANGELOG.md.meta new file mode 100644 index 00000000..b9020114 --- /dev/null +++ b/Packages/com.warlogic.settings/CHANGELOG.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 624866575e672be4282b1f65bf577511 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Runtime.meta b/Packages/com.warlogic.settings/Runtime.meta new file mode 100644 index 00000000..c943cb52 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03be1681d7e11d149a4745e74ae4d882 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta b/Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta new file mode 100644 index 00000000..4010ea4b --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8c40c0c067fb2334ebe5076cf024922c \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta new file mode 100644 index 00000000..84f505a6 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1d9233268c2926e46ad9d6c179b01889 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta new file mode 100644 index 00000000..aeb0c596 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9c27a8b55cc43f54391784ab00690de1 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta new file mode 100644 index 00000000..5132f543 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 93eddf0193948bf4d9b0697eb33ea1a7 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/ISetting.cs.meta b/Packages/com.warlogic.settings/Runtime/ISetting.cs.meta new file mode 100644 index 00000000..d8933117 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/ISetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d7dafea5d5165614187d9c8d0bcb0418 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta b/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta new file mode 100644 index 00000000..fe30ff3b --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f8c0e3d76a3ba7749a3364f6da333a9d \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta new file mode 100644 index 00000000..1fbb5ae4 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 13202b821c79f814299411dada8bf8a3 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta b/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta new file mode 100644 index 00000000..92f3fd90 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 76f759307ec60374c8997d4ed3779737 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/Setting.cs.meta b/Packages/com.warlogic.settings/Runtime/Setting.cs.meta new file mode 100644 index 00000000..4c03763d --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/Setting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 37f37cd53fdd67e4eb042dd36247787d \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta new file mode 100644 index 00000000..916be3e4 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a63ee8db043a8bc4c883cfdd1d5f2883 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta b/Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta new file mode 100644 index 00000000..4b207907 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6ff7ba49a0c15954c9c58f21a8aa8996 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta new file mode 100644 index 00000000..c32673ac --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 40adf618e43744a4ca89e5223e534d8c \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta b/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta new file mode 100644 index 00000000..ec166d3b --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a6221608cd5993848bdb5d0ca13284fc +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Tests.meta b/Packages/com.warlogic.settings/Tests.meta new file mode 100644 index 00000000..fed309b9 --- /dev/null +++ b/Packages/com.warlogic.settings/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 89cd133a7fa00c6448ebf3060b077b33 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings/package.json.meta b/Packages/com.warlogic.settings/package.json.meta new file mode 100644 index 00000000..67bc6c25 --- /dev/null +++ b/Packages/com.warlogic.settings/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ff3228c8c23e9a34faa25bb6373aea5a +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index f4902d39..0ed59ac7 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -381,6 +381,12 @@ }, "url": "https://upm.maciejcyranowicz.com" }, + "com.warlogic.settings": { + "version": "file:com.warlogic.settings", + "depth": 0, + "source": "embedded", + "dependencies": {} + }, "com.warlogic.utils.markdown": { "version": "1.2.0", "depth": 1, From 43525d5f4c4f682e6e3ae962008041b88ba4608d Mon Sep 17 00:00:00 2001 From: Warlander Date: Sat, 5 Sep 2026 15:51:44 +0200 Subject: [PATCH 04/18] Add Unity .meta pairing guard (pre-commit gate + CI alarm) --- .githooks/check-meta-pairing.sh | 51 ++++++++++++++++++++++++++++++ .githooks/pre-commit | 5 +++ .github/workflows/meta-pairing.yml | 26 +++++++++++++++ AGENTS.md | 2 +- 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 .githooks/check-meta-pairing.sh create mode 100644 .github/workflows/meta-pairing.yml diff --git a/.githooks/check-meta-pairing.sh b/.githooks/check-meta-pairing.sh new file mode 100644 index 00000000..1cfd5734 --- /dev/null +++ b/.githooks/check-meta-pairing.sh @@ -0,0 +1,51 @@ +#!/bin/sh +# Unity .meta pairing guard: every tracked file/dir in scope needs a tracked +# .meta, and no tracked .meta may lack its base. Checks the whole index, +# so pre-commit and CI share one code path. Exempt names (Unity never metas +# them): dotfiles, *~, cvs, *.tmp. + +set -u + +PATHS=$(git ls-files -- Assets/ Packages/ | grep -v '^Packages/[^/]*$' || true) + +EXEMPT='(^|/)(\.[^/]*|[^/]*~|cvs|[^/]*\.tmp)$' +BOUNDARY='^(Assets|Packages/[^/]+)$' + +METAS=$(echo "$PATHS" | grep '\.meta$' | sort -u || true) +FILES=$(echo "$PATHS" | grep -v '\.meta$' | grep -vE "$EXEMPT" || true) + +# Needed-meta set: files + ancestor dirs strictly deeper than Assets or Packages/ +DIRS="" +CUR=$(echo "$FILES" | sed -E 's|/[^/]+$||' | grep -vE "$BOUNDARY" | grep -vE "$EXEMPT" | sort -u || true) +while [ -n "$CUR" ]; do + DIRS=$(printf '%s\n%s\n' "$DIRS" "$CUR") + CUR=$(echo "$CUR" | sed -E 's|/[^/]+$||' | grep -vE "$BOUNDARY" | grep -vE "$EXEMPT" | sort -u || true) +done +NEEDED=$(printf '%s\n%s\n' "$FILES" "$DIRS" | sed '/^$/d' | sort -u) + +HAVE=$(echo "$METAS" | sed 's/\.meta$//' | sort -u) + +TMP1=$(mktemp) && TMP2=$(mktemp) +trap 'rm -f "$TMP1" "$TMP2"' EXIT +printf '%s\n' "$NEEDED" > "$TMP1" +printf '%s\n' "$HAVE" > "$TMP2" + +MISSING=$(comm -23 "$TMP1" "$TMP2") +ORPHAN=$(comm -13 "$TMP1" "$TMP2") + +if [ -z "$MISSING" ] && [ -z "$ORPHAN" ]; then + exit 0 +fi + +echo "ERROR: Unity .meta pairing violations detected." +if [ -n "$MISSING" ]; then + echo "" + echo "Missing .meta (open Unity to generate, then stage the .meta):" + echo "$MISSING" | sed 's/^/ /' +fi +if [ -n "$ORPHAN" ]; then + echo "" + echo "Orphan .meta (base file gone; git rm the .meta or restore the file):" + echo "$ORPHAN" | sed 's/^/ /' +fi +exit 1 diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 9d4908c6..af09e481 100644 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -40,4 +40,9 @@ if [ -n "$REGISTRY" ]; then fi fi +# Unity .meta pairing guard +if ! sh .githooks/check-meta-pairing.sh; then + exit 1 +fi + exit 0 diff --git a/.github/workflows/meta-pairing.yml b/.github/workflows/meta-pairing.yml new file mode 100644 index 00000000..01cd1b7d --- /dev/null +++ b/.github/workflows/meta-pairing.yml @@ -0,0 +1,26 @@ +name: Meta Pairing + +# Alarm only: the local .githooks/pre-commit is the real gate. This catches +# violations that slipped through (clone without hooksPath, --no-verify). +on: + push: + branches: [master] + paths: ['Assets/**', 'Packages/**', '.githooks/**'] + pull_request: + paths: ['Assets/**', 'Packages/**', '.githooks/**'] + +permissions: + contents: read + +jobs: + meta-pairing: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Every tracked asset has its .meta and vice versa + run: sh .githooks/check-meta-pairing.sh diff --git a/AGENTS.md b/AGENTS.md index 5743ba9c..028cd067 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ This file provides guidance to AI coding agents (OpenAI Codex and others) when w ## Agent Config Layout -Skills live canonically in `.agents/skills/`. `.claude/skills/` is a generated mirror: the pre-commit hook regenerates it and rejects commits that edit only the mirror. Never edit `.claude/skills/` directly. Fresh clones need `git config core.hooksPath .githooks` once to enable the hook. +Skills live canonically in `.agents/skills/`. `.claude/skills/` is a generated mirror: the pre-commit hook regenerates it and rejects commits that edit only the mirror. Never edit `.claude/skills/` directly. Fresh clones need `git config core.hooksPath .githooks` once to enable the hook. The hook also runs `.githooks/check-meta-pairing.sh`, which rejects commits where a tracked file/dir under `Assets/` or an embedded `Packages//` lacks its Unity `.meta` (or a `.meta` lost its base file); fix by staging the Unity-generated meta or removing the orphan. A same-named CI workflow alarms on violations that bypass the local hook. ## Project Overview From 5c328300e8a9d911beb89a041d59c2da3bd5b838 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sat, 5 Sep 2026 19:13:27 +0200 Subject: [PATCH 05/18] Add agent-driving CLI commands (app_await_ready, map/tab/camera control) --- AGENTS.md | 2 + .../Deedplanner/Platform/AgentCommands.cs | 317 ++++++++++++++++++ .../Platform/AgentCommands.cs.meta | 2 + 3 files changed, 321 insertions(+) create mode 100644 Assets/Warlander/Deedplanner/Platform/AgentCommands.cs create mode 100644 Assets/Warlander/Deedplanner/Platform/AgentCommands.cs.meta diff --git a/AGENTS.md b/AGENTS.md index 028cd067..c3115a84 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -54,6 +54,8 @@ Without it, play mode ENTRY stalls indefinitely while the Editor window is unfoc **eval_file quirks (verified):** `eval` rejects bare expressions; use `eval_file` with an explicit `return`. `eval_file` wraps the file in an `Execute()` method body: statements only (no `using` directives, no class/method definitions), fully-qualified names (`UnityEngine.Object`, `System.IO.Path` — `Object` collides with `object`). Write eval scripts to system temp, never under `Assets/` (stray .cs files break compilation). +**Driving the running app (project commands, `Platform/AgentCommands.cs`):** prefer these over eval for app-level actions. `app_await_ready` (blocks in-game until playing + MainScene active + map present; pass CLI `--timeout` above `--timeoutSeconds`), `app_status` (instant snapshot: scene/map/tab/camera/save state), `map_new`/`map_load `/`map_save` (quicksave only)/`map_info` (compact entity counts), `tab_select `, `camera_set [level]` (no position control — controllers own it), `await_idle [frames]` (wait out saves + rendered frames before screenshots), `edit_undo`/`edit_redo`. Typical loop: `editor_play` → `app_await_ready --timeout 120` → act → `await_idle` → `screenshot --output ` → `editor_stop`. For screenshots use `screenshot --output ` — bare `capture_game_view` returns huge inline base64. + ## Agentic Verification The project iterates fast — domain reload and play-mode enter/exit each take only a few seconds. After triggering a recompile or play-mode change, allow a ~5 second buffer, then poll `unity status` for the Editor state before issuing the next command. diff --git a/Assets/Warlander/Deedplanner/Platform/AgentCommands.cs b/Assets/Warlander/Deedplanner/Platform/AgentCommands.cs new file mode 100644 index 00000000..a4f8346a --- /dev/null +++ b/Assets/Warlander/Deedplanner/Platform/AgentCommands.cs @@ -0,0 +1,317 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Unity.Pipeline.Commands; +using UnityEngine; +using UnityEngine.SceneManagement; +using VContainer; +using VContainer.Unity; +using Warlander.Deedplanner.Cameras; +using Warlander.Deedplanner.Composition; +using Warlander.Deedplanner.Domain.Entities.Decorations; +using Warlander.Deedplanner.Domain.Entities.Floors; +using Warlander.Deedplanner.Domain.Entities.Roofs; +using Warlander.Deedplanner.Editing; +using Warlander.Deedplanner.Persistence; +using Warlander.Deedplanner.Ui.Home; + +namespace Warlander.Deedplanner.Platform +{ + public static class AgentCommands + { + private const int MaxSurfaceLevels = 16; + + [CliCommand("app_await_ready", "Block until the app is fully loaded (playing, MainScene active, initial map present), then return app status. Use CLI --timeout above timeoutSeconds.")] + public static async Task AwaitReady( + [CliArg("timeoutSeconds", "Max seconds to wait before failing")] int timeoutSeconds = 60, + [CliArg("waitFrames", "Extra rendered frames to wait after ready (visual settle margin)")] int waitFrames = 1) + { + DateTime deadline = DateTime.UtcNow.AddSeconds(timeoutSeconds); + while (DateTime.UtcNow < deadline) + { + if (CheckReady()) + { + await WaitFramesAsync(waitFrames); + return BuildStatus(true); + } + await Task.Delay(100); + } + throw new TimeoutException($"App not ready after {timeoutSeconds}s. Last state: {BuildStatus(false)}"); + } + + [CliCommand("app_status", "Instant structured snapshot: scene, map, tab, camera, save state. Does not wait.")] + public static object AppStatus() + { + return BuildStatus(CheckReady()); + } + + [CliCommand("map_new", "Create a new empty map and hide the home screen.")] + public static async Task MapNew( + [CliArg("width", "Map width in tiles")] int width = 25, + [CliArg("height", "Map height in tiles")] int height = 25) + { + IObjectResolver resolver = RequirePlayMode(); + await resolver.Resolve().NewMapAsync(width, height); + resolver.Resolve().HideHomeScreen(); + return MapInfo(); + } + + [CliCommand("map_load", "Load a map from a file path and hide the home screen.")] + public static async Task MapLoad([CliArg("path", "Full path to the map file")] string path) + { + IObjectResolver resolver = RequirePlayMode(); + if (!File.Exists(path)) + { + throw new FileNotFoundException($"Map file not found: {path}"); + } + var location = new MapLocation(SaveBackendId.File, path, Path.GetFileNameWithoutExtension(path)); + bool loaded = await resolver.Resolve().LoadAsync(location); + if (!loaded) + { + throw new InvalidOperationException($"LoadAsync returned false for: {path}"); + } + resolver.Resolve().HideHomeScreen(); + return MapInfo(); + } + + [CliCommand("map_save", "Quicksave the current map to its current location. Fails if the map was never saved (no Save As from CLI yet).")] + public static async Task MapSave() + { + IObjectResolver resolver = RequirePlayMode(); + SaveCoordinator saves = resolver.Resolve(); + if (!saves.CanQuickSave) + { + throw new InvalidOperationException("Map has no current save location; quicksave unavailable."); + } + bool saved = await saves.QuickSaveAsync(); + return new { saved, location = saves.CurrentLocation?.Locator }; + } + + [CliCommand("map_info", "Compact map summary: size, dirty flag, location, entity counts (surface levels 0-15 only; cave content not counted).")] + public static object MapInfo() + { + IObjectResolver resolver = RequirePlayMode(); + Domain.Map map = resolver.Resolve().Map; + if (map == null) + { + throw new InvalidOperationException("No map loaded."); + } + + int walls = 0, floors = 0, roofs = 0, decorations = 0; + for (int x = 0; x < map.Width; x++) + { + for (int y = 0; y < map.Height; y++) + { + Domain.Tile tile = map[x, y]; + if (tile == null) + { + continue; + } + for (int level = 0; level < MaxSurfaceLevels; level++) + { + if (tile.GetVerticalWallOrFence(level) != null) walls++; + if (tile.GetHorizontalWallOrFence(level) != null) walls++; + Domain.LevelEntity content = tile.GetTileContent(level); + if (content is Floor) floors++; + else if (content is Roof) roofs++; + } + foreach (Decoration _ in tile.GetDecorations()) decorations++; + if (tile.GetCentralDecoration() != null) decorations++; + } + } + + SaveCoordinator saves = resolver.Resolve(); + return new + { + width = map.Width, + height = map.Height, + dirty = map.IsDirty, + location = saves.CurrentLocation?.Locator, + walls, + floors, + roofs, + decorations, + bridges = map.Bridges.Count, + docks = map.Docks.Count + }; + } + + [CliCommand("tab_select", "Switch the active editing tab.")] + public static object TabSelect([CliArg("name", "Tab name (case-insensitive)")] string name) + { + IObjectResolver resolver = RequirePlayMode(); + if (!Enum.TryParse(name, true, out Tab tab)) + { + throw new ArgumentException($"Unknown tab '{name}'. Valid: {string.Join(", ", Enum.GetNames(typeof(Tab)))}"); + } + TabContext tabContext = resolver.Resolve(); + tabContext.CurrentTab = tab; + return new { tab = tabContext.CurrentTab.ToString() }; + } + + [CliCommand("camera_set", "Set camera mode (fpp/perspective, wurmian, top, iso/isometric) and optionally rendered level. No position control (controllers own it).")] + public static object CameraSet( + [CliArg("mode", "Camera mode")] string mode, + [CliArg("level", "Rendered level; negative = cave. Omit to keep current")] int level = int.MinValue) + { + IObjectResolver resolver = RequirePlayMode(); + CameraMode cameraMode = ParseCameraMode(mode); + MultiCamera camera = resolver.Resolve().Current; + camera.CameraMode = cameraMode; + if (level != int.MinValue) + { + camera.Level = level; + } + return new { mode = camera.CameraMode.ToString(), level = camera.Level }; + } + + [CliCommand("await_idle", "Wait until no save/load is in progress, then wait N rendered frames.")] + public static async Task AwaitIdle( + [CliArg("frames", "Rendered frames to wait after idle")] int frames = 2, + [CliArg("timeoutSeconds", "Max seconds to wait for idle")] int timeoutSeconds = 30) + { + IObjectResolver resolver = RequirePlayMode(); + SaveCoordinator saves = resolver.Resolve(); + DateTime deadline = DateTime.UtcNow.AddSeconds(timeoutSeconds); + while (saves.Busy) + { + if (DateTime.UtcNow >= deadline) + { + throw new TimeoutException($"Still busy after {timeoutSeconds}s."); + } + await Task.Delay(50); + } + await WaitFramesAsync(frames); + return new { idle = true, frames }; + } + + [CliCommand("edit_undo", "Undo the last map edit. Empty stack is a silent no-op (CommandManager exposes no CanUndo).")] + public static object EditUndo() + { + IObjectResolver resolver = RequirePlayMode(); + resolver.Resolve().Map.CommandManager.Undo(); + return new { ok = true }; + } + + [CliCommand("edit_redo", "Redo the last undone map edit. Empty stack is a silent no-op.")] + public static object EditRedo() + { + IObjectResolver resolver = RequirePlayMode(); + resolver.Resolve().Map.CommandManager.Redo(); + return new { ok = true }; + } + + private static bool CheckReady() + { + try + { + if (!Application.isPlaying || SceneManager.GetActiveScene().name != SceneNames.MainScene) + { + return false; + } + IObjectResolver resolver = ResolveScope(); + return resolver != null && resolver.Resolve().Map != null; + } + catch (Exception) + { + return false; + } + } + + private static object BuildStatus(bool ready) + { + if (!Application.isPlaying) + { + return new { state = "editMode", ready = false }; + } + + IObjectResolver resolver = ResolveScope(); + if (resolver == null) + { + return new { state = "loading", activeScene = SceneManager.GetActiveScene().name, ready = false }; + } + + try + { + MapHandler mapHandler = resolver.Resolve(); + SaveCoordinator saves = resolver.Resolve(); + TabContext tabContext = resolver.Resolve(); + IHomeScreenView homeScreen = resolver.Resolve(); + MultiCamera camera = resolver.Resolve().Current; + Domain.Map map = mapHandler.Map; + return new + { + state = ready ? "ready" : "loading", + activeScene = SceneManager.GetActiveScene().name, + ready, + map = map != null + ? new { width = map.Width, height = map.Height, dirty = map.IsDirty } + : null, + currentTab = tabContext.CurrentTab.ToString(), + saveBusy = saves.Busy, + saveLocation = saves.CurrentLocation?.Locator, + homeScreenVisible = homeScreen.Visible, + camera = new { mode = camera.CameraMode.ToString(), level = camera.Level } + }; + } + catch (Exception) + { + return new { state = "loading", activeScene = SceneManager.GetActiveScene().name, ready = false }; + } + } + + private static IObjectResolver ResolveScope() + { + try + { + return LifetimeScope.Find()?.Container; + } + catch (Exception) + { + return null; + } + } + + private static IObjectResolver RequirePlayMode() + { + if (!Application.isPlaying) + { + throw new InvalidOperationException("Requires play mode."); + } + IObjectResolver resolver = ResolveScope(); + if (resolver == null) + { + throw new InvalidOperationException("MainScene scope not available (app still loading?)."); + } + return resolver; + } + + private static CameraMode ParseCameraMode(string mode) + { + switch (mode.ToLowerInvariant()) + { + case "fpp": + case "perspective": + return CameraMode.Perspective; + case "wurmian": + return CameraMode.Wurmian; + case "top": + return CameraMode.Top; + case "iso": + case "isometric": + return CameraMode.Isometric; + default: + throw new ArgumentException($"Unknown camera mode '{mode}'. Valid: fpp, wurmian, top, iso"); + } + } + + private static async Task WaitFramesAsync(int frames) + { + int target = Time.frameCount + frames; + while (Time.frameCount < target) + { + await Task.Delay(15); + } + } + } +} diff --git a/Assets/Warlander/Deedplanner/Platform/AgentCommands.cs.meta b/Assets/Warlander/Deedplanner/Platform/AgentCommands.cs.meta new file mode 100644 index 00000000..9dead4b2 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Platform/AgentCommands.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2a1c5ea3a6858294180eef792f251e85 \ No newline at end of file From df4237e5ba1d7ffde532bbf0e54d5ca302421043 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sat, 5 Sep 2026 22:08:59 +0200 Subject: [PATCH 06/18] Add com.warlogic.settings.ugui package + new settings window (settings overhaul chunk 3) --- Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab | 281 ++++ Assets/Prefabs/Settings.meta | 8 + .../Settings/DropdownSettingRow.prefab | 643 ++++++++ .../Settings/DropdownSettingRow.prefab.meta | 7 + .../Prefabs/Settings/KeybindSettingRow.prefab | 596 +++++++ .../Settings/KeybindSettingRow.prefab.meta | 7 + .../Settings/SettingsGroupHeader.prefab | 155 ++ .../Settings/SettingsGroupHeader.prefab.meta | 7 + .../Prefabs/Settings/SettingsTabButton.prefab | 317 ++++ .../Settings/SettingsTabButton.prefab.meta | 7 + .../Prefabs/Settings/SliderSettingRow.prefab | 1030 ++++++++++++ .../Settings/SliderSettingRow.prefab.meta | 7 + .../Prefabs/Settings/ToggleSettingRow.prefab | 398 +++++ .../Settings/ToggleSettingRow.prefab.meta | 7 + .../Resources/Windows/SettingsWindow.prefab | 1232 ++++++++++++++ .../Windows/SettingsWindow.prefab.meta | 7 + .../Deedplanner/Editing/Menu/MenuAction.cs | 2 +- .../Deedplanner/Editing/Menu/MenuUpdater.cs | 21 + .../Editing/Menu/MenuUpdaterView.cs | 2 + .../Warlander/Deedplanner/Ui/WindowNames.cs | 1 + .../Ui/Windows/SettingsWindowView.cs | 44 + .../Ui/Windows/SettingsWindowView.cs.meta | 2 + .../com.warlogic.settings.ugui/CHANGELOG.md | 5 + .../CHANGELOG.md.meta | 7 + .../com.warlogic.settings.ugui/Runtime.meta | 8 + .../Runtime/DropdownSettingWidget.cs | 73 + .../Runtime/DropdownSettingWidget.cs.meta | 2 + .../Runtime/DropdownSettingWidgetFactory.cs | 24 + .../DropdownSettingWidgetFactory.cs.meta | 2 + .../Runtime/ISettingWidget.cs | 12 + .../Runtime/ISettingWidget.cs.meta | 2 + .../Runtime/ISettingWidgetFactory.cs | 9 + .../Runtime/ISettingWidgetFactory.cs.meta | 2 + .../Runtime/ISettingsWindowView.cs | 15 + .../Runtime/ISettingsWindowView.cs.meta | 2 + .../Runtime/KeybindSettingRow.cs | 22 + .../Runtime/KeybindSettingRow.cs.meta | 2 + .../Runtime/Prefabs.meta | 8 + .../Runtime/Prefabs/DropdownSettingRow.prefab | 1458 +++++++++++++++++ .../Prefabs/DropdownSettingRow.prefab.meta | 7 + .../Runtime/Prefabs/KeybindSettingRow.prefab | 678 ++++++++ .../Prefabs/KeybindSettingRow.prefab.meta | 7 + .../Prefabs/SettingsGroupHeader.prefab | 334 ++++ .../Prefabs/SettingsGroupHeader.prefab.meta | 7 + .../Runtime/Prefabs/SettingsTabButton.prefab | 296 ++++ .../Prefabs/SettingsTabButton.prefab.meta | 7 + .../Runtime/Prefabs/SliderSettingRow.prefab | 1051 ++++++++++++ .../Prefabs/SliderSettingRow.prefab.meta | 7 + .../Runtime/Prefabs/ToggleSettingRow.prefab | 704 ++++++++ .../Prefabs/ToggleSettingRow.prefab.meta | 7 + .../Runtime/SettingsGroupHeader.cs | 17 + .../Runtime/SettingsGroupHeader.cs.meta | 2 + .../Runtime/SettingsTabButton.cs | 59 + .../Runtime/SettingsTabButton.cs.meta | 2 + .../Runtime/SettingsWidgetCatalog.cs | 62 + .../Runtime/SettingsWidgetCatalog.cs.meta | 2 + .../Runtime/SettingsWindowPresenter.cs | 138 ++ .../Runtime/SettingsWindowPresenter.cs.meta | 2 + .../Runtime/SliderSettingWidget.cs | 83 + .../Runtime/SliderSettingWidget.cs.meta | 2 + .../Runtime/SliderSettingWidgetFactory.cs | 33 + .../SliderSettingWidgetFactory.cs.meta | 2 + .../Runtime/ToggleSettingWidget.cs | 49 + .../Runtime/ToggleSettingWidget.cs.meta | 2 + .../Runtime/ToggleSettingWidgetFactory.cs | 25 + .../ToggleSettingWidgetFactory.cs.meta | 2 + .../Runtime/Warlogic.Settings.Ugui.asmdef | 13 + .../Warlogic.Settings.Ugui.asmdef.meta | 7 + .../com.warlogic.settings.ugui/package.json | 15 + .../package.json.meta | 7 + Packages/packages-lock.json | 8 + 71 files changed, 10070 insertions(+), 1 deletion(-) create mode 100644 Assets/Prefabs/Settings.meta create mode 100644 Assets/Prefabs/Settings/DropdownSettingRow.prefab create mode 100644 Assets/Prefabs/Settings/DropdownSettingRow.prefab.meta create mode 100644 Assets/Prefabs/Settings/KeybindSettingRow.prefab create mode 100644 Assets/Prefabs/Settings/KeybindSettingRow.prefab.meta create mode 100644 Assets/Prefabs/Settings/SettingsGroupHeader.prefab create mode 100644 Assets/Prefabs/Settings/SettingsGroupHeader.prefab.meta create mode 100644 Assets/Prefabs/Settings/SettingsTabButton.prefab create mode 100644 Assets/Prefabs/Settings/SettingsTabButton.prefab.meta create mode 100644 Assets/Prefabs/Settings/SliderSettingRow.prefab create mode 100644 Assets/Prefabs/Settings/SliderSettingRow.prefab.meta create mode 100644 Assets/Prefabs/Settings/ToggleSettingRow.prefab create mode 100644 Assets/Prefabs/Settings/ToggleSettingRow.prefab.meta create mode 100644 Assets/Resources/Windows/SettingsWindow.prefab create mode 100644 Assets/Resources/Windows/SettingsWindow.prefab.meta create mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs create mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/CHANGELOG.md create mode 100644 Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta create mode 100644 Packages/com.warlogic.settings.ugui/package.json create mode 100644 Packages/com.warlogic.settings.ugui/package.json.meta diff --git a/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab b/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab index 83b7467b..409919b6 100644 --- a/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab +++ b/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab @@ -279,6 +279,148 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &725186411825973965 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4394618242102366626} + - component: {fileID: 7090473509187831605} + - component: {fileID: 3369800143710130331} + - component: {fileID: 2355598579669820321} + - component: {fileID: 5704719298023496012} + m_Layer: 5 + m_Name: Settings Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4394618242102366626 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725186411825973965} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6558472702972479993} + m_Father: {fileID: 3300069807659418639} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 48} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7090473509187831605 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725186411825973965} + m_CullTransparentMesh: 0 +--- !u!114 &3369800143710130331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725186411825973965} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 7 +--- !u!114 &2355598579669820321 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725186411825973965} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3369800143710130331} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &5704719298023496012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725186411825973965} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 50 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &1530767266384902459 GameObject: m_ObjectHideFlags: 0 @@ -480,6 +622,143 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!1 &2320662561099769473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6558472702972479993} + - component: {fileID: 6108740653064797493} + - component: {fileID: 5915263998536068222} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6558472702972479993 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2320662561099769473} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4394618242102366626} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6108740653064797493 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2320662561099769473} + m_CullTransparentMesh: 0 +--- !u!114 &5915263998536068222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2320662561099769473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Settings + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4289192176 + m_fontColor: {r: 0.9411765, g: 0.8784314, b: 0.654902, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14.3 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 10 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &3152363011806851464 GameObject: m_ObjectHideFlags: 0 @@ -973,6 +1252,7 @@ RectTransform: - {fileID: 7836303559449755709} - {fileID: 6389418460549847288} - {fileID: 7765635618670917588} + - {fileID: 4394618242102366626} - {fileID: 8386373495276078316} - {fileID: 6669454340995173620} - {fileID: 4507579292733003559} @@ -1062,6 +1342,7 @@ MonoBehaviour: _loadButton: {fileID: 2021317280738769498} _graphicsSettingsButton: {fileID: 6389418460549847289} _inputSettingsButton: {fileID: 7765635618670917589} + _settingsButton: {fileID: 2355598579669820321} _creditsButton: {fileID: 6669454340995173621} _fullscreenButton: {fileID: 7237333755228465514} _quitButton: {fileID: 8751067327451798557} diff --git a/Assets/Prefabs/Settings.meta b/Assets/Prefabs/Settings.meta new file mode 100644 index 00000000..1bac8273 --- /dev/null +++ b/Assets/Prefabs/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84c1da8f2f6981d4ca09be2419bdbcb4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Settings/DropdownSettingRow.prefab b/Assets/Prefabs/Settings/DropdownSettingRow.prefab new file mode 100644 index 00000000..cb23b44b --- /dev/null +++ b/Assets/Prefabs/Settings/DropdownSettingRow.prefab @@ -0,0 +1,643 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1942716179446109727 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3021835194841222439} + - component: {fileID: 6582045519890944028} + - component: {fileID: 2345855248956384808} + - component: {fileID: 1384993847891301146} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3021835194841222439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1942716179446109727} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3900415089956722038} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6582045519890944028 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1942716179446109727} + m_CullTransparentMesh: 1 +--- !u!114 &2345855248956384808 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1942716179446109727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1384993847891301146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1942716179446109727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &4395138342355126301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3900415089956722038} + - component: {fileID: 2350542222675181468} + m_Layer: 0 + m_Name: Row + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3900415089956722038 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4395138342355126301} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3021835194841222439} + - {fileID: 7799087534646511698} + m_Father: {fileID: 7482620104062941633} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2350542222675181468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4395138342355126301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &5244531497568641229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2457427337305533027} + - component: {fileID: 2855505241990720914} + - component: {fileID: 376782280348898954} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2457427337305533027 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5244531497568641229} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7482620104062941633} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2855505241990720914 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5244531497568641229} + m_CullTransparentMesh: 1 +--- !u!114 &376782280348898954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5244531497568641229} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 0.75} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &5423349657752862819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7482620104062941633} + - component: {fileID: 6634935701766442663} + - component: {fileID: 5768725987221342793} + - component: {fileID: 6213361363857234667} + m_Layer: 0 + m_Name: DropdownSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7482620104062941633 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5423349657752862819} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3900415089956722038} + - {fileID: 2457427337305533027} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6634935701766442663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5423349657752862819} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 2 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &5768725987221342793 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5423349657752862819} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &6213361363857234667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5423349657752862819} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32dabc1660f77fe44ad6a1c369943338, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.DropdownSettingWidget + labelText: {fileID: 2345855248956384808} + dropdown: {fileID: 7799087534646511697} + descriptionText: {fileID: 376782280348898954} +--- !u!1001 &8650755728853055982 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3900415089956722038} + m_Modifications: + - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: 'm_ActiveFontFeatures.Array.data[0]' + value: 1801810542 + objectReference: {fileID: 0} + - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_SizeDelta.y + value: 28 + objectReference: {fileID: 0} + - target: {fileID: 1456426617924709221, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_SizeDelta.y + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1456426618049163709, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + propertyPath: m_Name + value: Dropdown + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 1456426618049163709, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + insertIndex: -1 + addedObject: {fileID: 978011478434458812} + m_SourcePrefab: {fileID: 100100000, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, type: 3} +--- !u!114 &7799087534646511697 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1456426618049163711, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + m_PrefabInstance: {fileID: 8650755728853055982} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7799087534646511699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b743370ac3e4ec2a1668f5455a8ef8a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &7799087534646511698 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + m_PrefabInstance: {fileID: 8650755728853055982} + m_PrefabAsset: {fileID: 0} +--- !u!1 &7799087534646511699 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1456426618049163709, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, + type: 3} + m_PrefabInstance: {fileID: 8650755728853055982} + m_PrefabAsset: {fileID: 0} +--- !u!114 &978011478434458812 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7799087534646511699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 300 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/Prefabs/Settings/DropdownSettingRow.prefab.meta b/Assets/Prefabs/Settings/DropdownSettingRow.prefab.meta new file mode 100644 index 00000000..2668de20 --- /dev/null +++ b/Assets/Prefabs/Settings/DropdownSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 68e33d0874357fe498193879878516dc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Settings/KeybindSettingRow.prefab b/Assets/Prefabs/Settings/KeybindSettingRow.prefab new file mode 100644 index 00000000..a5a9edab --- /dev/null +++ b/Assets/Prefabs/Settings/KeybindSettingRow.prefab @@ -0,0 +1,596 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2438347310019379843 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3558115546729316791} + - component: {fileID: 7252380099658977099} + - component: {fileID: 1632226564635061043} + - component: {fileID: 7737537809639680212} + m_Layer: 0 + m_Name: KeybindSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3558115546729316791 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2438347310019379843} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6619477171691025485} + - {fileID: 7506809609323640443} + - {fileID: 3515222119924470943} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7252380099658977099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2438347310019379843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &1632226564635061043 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2438347310019379843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 40 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &7737537809639680212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2438347310019379843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cf5bf386d4b4e04dba93d30eb9350db, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.KeybindSettingRow + actionLabelText: {fileID: 2191032026728747673} + bindingText: {fileID: 2302777607111060259} + rebindButton: {fileID: 3515222119924470942} +--- !u!1 &2528674810541638133 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6619477171691025485} + - component: {fileID: 1709151398339105935} + - component: {fileID: 2191032026728747673} + - component: {fileID: 6540469279383004371} + m_Layer: 0 + m_Name: Action Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6619477171691025485 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2528674810541638133} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3558115546729316791} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1709151398339105935 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2528674810541638133} + m_CullTransparentMesh: 1 +--- !u!114 &2191032026728747673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2528674810541638133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &6540469279383004371 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2528674810541638133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &4840273786051835579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7506809609323640443} + - component: {fileID: 282732620897349114} + - component: {fileID: 2302777607111060259} + - component: {fileID: 1488035623717650519} + m_Layer: 0 + m_Name: Binding Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7506809609323640443 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4840273786051835579} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3558115546729316791} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &282732620897349114 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4840273786051835579} + m_CullTransparentMesh: 1 +--- !u!114 &2302777607111060259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4840273786051835579} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1488035623717650519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4840273786051835579} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 250 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1001 &529700551860927639 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3558115546729316791} + m_Modifications: + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Name + value: Rebind Button + objectReference: {fileID: 0} + - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_text + value: Rebind + objectReference: {fileID: 0} + - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: 'm_ActiveFontFeatures.Array.data[0]' + value: 1801810542 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + insertIndex: -1 + addedObject: {fileID: 4475570706916735671} + m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} +--- !u!1 &3515222119924470940 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 529700551860927639} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4475570706916735671 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3515222119924470940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 150 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &3515222119924470942 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 529700551860927639} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3515222119924470940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &3515222119924470943 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 529700551860927639} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/Settings/KeybindSettingRow.prefab.meta b/Assets/Prefabs/Settings/KeybindSettingRow.prefab.meta new file mode 100644 index 00000000..57da155e --- /dev/null +++ b/Assets/Prefabs/Settings/KeybindSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e9a2fa1d87e9ef84e90cdc4898dc06a9 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Settings/SettingsGroupHeader.prefab b/Assets/Prefabs/Settings/SettingsGroupHeader.prefab new file mode 100644 index 00000000..c53bacf0 --- /dev/null +++ b/Assets/Prefabs/Settings/SettingsGroupHeader.prefab @@ -0,0 +1,155 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &5715127959302336772 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9059434882248163405, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + propertyPath: m_Name + value: SettingsGroupHeader + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 9059434882248163405, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + insertIndex: -1 + addedObject: {fileID: 3035592963051426016} + m_SourcePrefab: {fileID: 100100000, guid: 718e44fb2550f5f42bac217364367066, type: 3} +--- !u!114 &3100168766798543008 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7230025111042509220, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + m_PrefabInstance: {fileID: 5715127959302336772} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &3668642177706176841 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9059434882248163405, guid: 718e44fb2550f5f42bac217364367066, + type: 3} + m_PrefabInstance: {fileID: 5715127959302336772} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3035592963051426016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3668642177706176841} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f5496afd54939f14ba645c4b09a602fa, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SettingsGroupHeader + headerText: {fileID: 3100168766798543008} diff --git a/Assets/Prefabs/Settings/SettingsGroupHeader.prefab.meta b/Assets/Prefabs/Settings/SettingsGroupHeader.prefab.meta new file mode 100644 index 00000000..db53c249 --- /dev/null +++ b/Assets/Prefabs/Settings/SettingsGroupHeader.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 46512247587b4de4fa5226043c22f0b2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Settings/SettingsTabButton.prefab b/Assets/Prefabs/Settings/SettingsTabButton.prefab new file mode 100644 index 00000000..54caf3fe --- /dev/null +++ b/Assets/Prefabs/Settings/SettingsTabButton.prefab @@ -0,0 +1,317 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2536530436062505663 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3284948407884151645} + - component: {fileID: 1360274480212580255} + - component: {fileID: 6397604524060570300} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3284948407884151645 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2536530436062505663} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4464448172680619806} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1360274480212580255 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2536530436062505663} + m_CullTransparentMesh: 1 +--- !u!114 &6397604524060570300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2536530436062505663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.941, g: 0.878, b: 0.655, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4528556651331904489 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4464448172680619806} + - component: {fileID: 7004272334197578487} + - component: {fileID: 9196564791461603278} + - component: {fileID: 936214861878644734} + - component: {fileID: 1907624229177813559} + - component: {fileID: 6720489787974092210} + - component: {fileID: 5984645912649801787} + m_Layer: 0 + m_Name: SettingsTabButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4464448172680619806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528556651331904489} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3284948407884151645} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 44} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7004272334197578487 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528556651331904489} + m_CullTransparentMesh: 1 +--- !u!114 &9196564791461603278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528556651331904489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 7 +--- !u!114 &936214861878644734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528556651331904489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Toggle + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 9196564791461603278} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &1907624229177813559 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528556651331904489} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Outline + m_EffectColor: {r: 0.83, g: 0.68, b: 0.21, a: 1} + m_EffectDistance: {x: 2, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &6720489787974092210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528556651331904489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 44 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &5984645912649801787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528556651331904489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 96e5c3bea762add4bb8ea6c12c991edd, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SettingsTabButton + labelText: {fileID: 6397604524060570300} + toggle: {fileID: 936214861878644734} + activeOutline: {fileID: 1907624229177813559} diff --git a/Assets/Prefabs/Settings/SettingsTabButton.prefab.meta b/Assets/Prefabs/Settings/SettingsTabButton.prefab.meta new file mode 100644 index 00000000..90255897 --- /dev/null +++ b/Assets/Prefabs/Settings/SettingsTabButton.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5a80a442aef4e3741ac141a326796608 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Settings/SliderSettingRow.prefab b/Assets/Prefabs/Settings/SliderSettingRow.prefab new file mode 100644 index 00000000..67457cfd --- /dev/null +++ b/Assets/Prefabs/Settings/SliderSettingRow.prefab @@ -0,0 +1,1030 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &215894356363163694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1958401663540529170} + - component: {fileID: 2363774793401816153} + - component: {fileID: 8032220900668220735} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1958401663540529170 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215894356363163694} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3943814130513123986} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2363774793401816153 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215894356363163694} + m_CullTransparentMesh: 1 +--- !u!114 &8032220900668220735 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215894356363163694} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 912c48aa4c55843f0b43ae673d2eb864, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &727139380500466830 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7750784498427097651} + - component: {fileID: 2879319309940425764} + - component: {fileID: 6817940345445062933} + m_Layer: 0 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7750784498427097651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 727139380500466830} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8283621636884774023} + - {fileID: 4952215311779047504} + - {fileID: 3943814130513123986} + m_Father: {fileID: 5262525505548664441} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2879319309940425764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 727139380500466830} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 260 + m_PreferredHeight: 24 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &6817940345445062933 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 727139380500466830} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8032220900668220735} + m_FillRect: {fileID: 2794892016187099738} + m_HandleRect: {fileID: 1958401663540529170} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &782047820281580546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8283621636884774023} + - component: {fileID: 6440420670011166664} + - component: {fileID: 6348853418239689355} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8283621636884774023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782047820281580546} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7750784498427097651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6440420670011166664 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782047820281580546} + m_CullTransparentMesh: 1 +--- !u!114 &6348853418239689355 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782047820281580546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 0564d275adab04552bd7f8f46d7c56e7, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 5 +--- !u!1 &849638541350373116 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6489542812249251694} + - component: {fileID: 2410870501103750982} + - component: {fileID: 2920905036247612663} + - component: {fileID: 3189361290749325827} + m_Layer: 0 + m_Name: Value + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6489542812249251694 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849638541350373116} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5262525505548664441} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2410870501103750982 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849638541350373116} + m_CullTransparentMesh: 1 +--- !u!114 &2920905036247612663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849638541350373116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &3189361290749325827 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849638541350373116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 60 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &850638816898411201 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4952215311779047504} + m_Layer: 0 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4952215311779047504 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 850638816898411201} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2794892016187099738} + m_Father: {fileID: 7750784498427097651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2660044647557024270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3943814130513123986} + m_Layer: 0 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3943814130513123986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2660044647557024270} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1958401663540529170} + m_Father: {fileID: 7750784498427097651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2947740433428244349 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7580573147556000104} + - component: {fileID: 6818880373850518324} + - component: {fileID: 297419532583780192} + - component: {fileID: 7360205022866672411} + m_Layer: 0 + m_Name: SliderSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7580573147556000104 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947740433428244349} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5262525505548664441} + - {fileID: 6095982031264094566} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6818880373850518324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947740433428244349} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 2 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &297419532583780192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947740433428244349} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &7360205022866672411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947740433428244349} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 113666b7b0f355446a734646a3678133, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SliderSettingWidget + labelText: {fileID: 2072075447663552741} + valueText: {fileID: 2920905036247612663} + slider: {fileID: 6817940345445062933} + descriptionText: {fileID: 2558151489572847110} +--- !u!1 &4590647858873887390 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7640242990749883748} + - component: {fileID: 2341687435271083995} + - component: {fileID: 2072075447663552741} + - component: {fileID: 8587248296612602661} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7640242990749883748 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4590647858873887390} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5262525505548664441} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2341687435271083995 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4590647858873887390} + m_CullTransparentMesh: 1 +--- !u!114 &2072075447663552741 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4590647858873887390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &8587248296612602661 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4590647858873887390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5371449448444027634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6095982031264094566} + - component: {fileID: 1871225148468458085} + - component: {fileID: 2558151489572847110} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6095982031264094566 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5371449448444027634} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7580573147556000104} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1871225148468458085 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5371449448444027634} + m_CullTransparentMesh: 1 +--- !u!114 &2558151489572847110 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5371449448444027634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 0.75} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7460725065147281989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5262525505548664441} + - component: {fileID: 1911399183681390753} + m_Layer: 0 + m_Name: Row + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5262525505548664441 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7460725065147281989} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7640242990749883748} + - {fileID: 7750784498427097651} + - {fileID: 6489542812249251694} + m_Father: {fileID: 7580573147556000104} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1911399183681390753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7460725065147281989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &8537003544632811026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2794892016187099738} + - component: {fileID: 2922973726820319312} + - component: {fileID: 6904932872373245159} + m_Layer: 0 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2794892016187099738 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8537003544632811026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4952215311779047504} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: -2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2922973726820319312 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8537003544632811026} + m_CullTransparentMesh: 1 +--- !u!114 &6904932872373245159 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8537003544632811026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 52a3696080a8b4e0e9c592dc9a94a6e1, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 2 diff --git a/Assets/Prefabs/Settings/SliderSettingRow.prefab.meta b/Assets/Prefabs/Settings/SliderSettingRow.prefab.meta new file mode 100644 index 00000000..60deb4ab --- /dev/null +++ b/Assets/Prefabs/Settings/SliderSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6e629f76f0f0de540ad3b31d9683885c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Settings/ToggleSettingRow.prefab b/Assets/Prefabs/Settings/ToggleSettingRow.prefab new file mode 100644 index 00000000..5954c143 --- /dev/null +++ b/Assets/Prefabs/Settings/ToggleSettingRow.prefab @@ -0,0 +1,398 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5159869926116390544 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3551743805465697293} + - component: {fileID: 5379748786907483447} + - component: {fileID: 2557281671743676471} + - component: {fileID: 3272324700467465557} + m_Layer: 0 + m_Name: ToggleSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3551743805465697293 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5159869926116390544} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5003576388418138454} + - {fileID: 4317082478351297374} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5379748786907483447 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5159869926116390544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 2 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &2557281671743676471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5159869926116390544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &3272324700467465557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5159869926116390544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b777d5528cc25494c8f6d7222907e78b, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.ToggleSettingWidget + labelText: {fileID: 6184232743279377151} + toggle: {fileID: 4906348763803417874} + descriptionText: {fileID: 4508048292542249309} +--- !u!1 &8800561205100882448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4317082478351297374} + - component: {fileID: 5808068496009627695} + - component: {fileID: 4508048292542249309} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4317082478351297374 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8800561205100882448} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3551743805465697293} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5808068496009627695 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8800561205100882448} + m_CullTransparentMesh: 1 +--- !u!114 &4508048292542249309 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8800561205100882448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.149, g: 0.137, b: 0.098, a: 0.75} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1001 &1183491110630908727 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3551743805465697293} + m_Modifications: + - target: {fileID: 3594140587641797289, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_ChildAlignment + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3594140587641797289, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_ChildForceExpandWidth + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6439773537784029901, guid: 6a65c30246825634b906060b357284af, + type: 3} + propertyPath: m_Name + value: Radio Button With Label Right + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 6a65c30246825634b906060b357284af, type: 3} +--- !u!114 &4906348763803417874 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6087249115443437093, guid: 6a65c30246825634b906060b357284af, + type: 3} + m_PrefabInstance: {fileID: 1183491110630908727} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &5003576388418138454 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6133019587572994657, guid: 6a65c30246825634b906060b357284af, + type: 3} + m_PrefabInstance: {fileID: 1183491110630908727} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6184232743279377151 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5025546657937054152, guid: 6a65c30246825634b906060b357284af, + type: 3} + m_PrefabInstance: {fileID: 1183491110630908727} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI diff --git a/Assets/Prefabs/Settings/ToggleSettingRow.prefab.meta b/Assets/Prefabs/Settings/ToggleSettingRow.prefab.meta new file mode 100644 index 00000000..572d8898 --- /dev/null +++ b/Assets/Prefabs/Settings/ToggleSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 15757df2eb6d7e049b10962efa08ad2f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Windows/SettingsWindow.prefab b/Assets/Resources/Windows/SettingsWindow.prefab new file mode 100644 index 00000000..080493c2 --- /dev/null +++ b/Assets/Resources/Windows/SettingsWindow.prefab @@ -0,0 +1,1232 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &788354231288113594 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3203517312880287328} + - component: {fileID: 3437279773648836662} + m_Layer: 0 + m_Name: Tab Column + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3203517312880287328 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788354231288113594} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6494591369299317989} + m_Father: {fileID: 4629025334696629871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 550} + m_Pivot: {x: 0, y: 1} +--- !u!114 &3437279773648836662 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788354231288113594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 10 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 4 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1759138125314356373 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3290469797222583333} + - component: {fileID: 1878164621929794254} + m_Layer: 0 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3290469797222583333 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1759138125314356373} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4002910279517478709} + m_Father: {fileID: 712324906201488877} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1878164621929794254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1759138125314356373} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &1788374399879997267 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4629025334696629871} + - component: {fileID: 4471493874407801361} + m_Layer: 0 + m_Name: Body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4629025334696629871 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1788374399879997267} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3203517312880287328} + - {fileID: 4196071748104660636} + m_Father: {fileID: 8316648787340291295} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4471493874407801361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1788374399879997267} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: 950 + m_MinHeight: 550 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &3016052289696620226 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 171632431509917173} + - component: {fileID: 7899437644469527179} + m_Layer: 0 + m_Name: Footer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &171632431509917173 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3016052289696620226} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2857280697999477655} + - {fileID: 7602015390913140097} + m_Father: {fileID: 4196071748104660636} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: -9.5} + m_SizeDelta: {x: 0, y: 50} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &7899437644469527179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3016052289696620226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &3658443748182142701 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4002910279517478709} + - component: {fileID: 5117002917157610305} + - component: {fileID: 1805814511219679513} + m_Layer: 0 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4002910279517478709 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658443748182142701} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3290469797222583333} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &5117002917157610305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658443748182142701} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 8 + m_Bottom: 8 + m_ChildAlignment: 0 + m_Spacing: 6 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &1805814511219679513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658443748182142701} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &4543282733038159356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4196071748104660636} + m_Layer: 0 + m_Name: Right Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4196071748104660636 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4543282733038159356} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 712324906201488877} + - {fileID: 171632431509917173} + m_Father: {fileID: 4629025334696629871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 740, y: 550} + m_Pivot: {x: 1, y: 1} +--- !u!1 &6625585754476875847 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6494591369299317989} + - component: {fileID: 369595461038260310} + - component: {fileID: 4961819396212873329} + - component: {fileID: 3148905531018697501} + m_Layer: 0 + m_Name: Divider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6494591369299317989 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6625585754476875847} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3203517312880287328} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.000061035156} + m_SizeDelta: {x: 16, y: 24.0001} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &369595461038260310 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6625585754476875847} + m_CullTransparentMesh: 1 +--- !u!114 &4961819396212873329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6625585754476875847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ebf468c8960584510a470bbd9636e954, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 10 +--- !u!114 &3148905531018697501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6625585754476875847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &9193962494916097832 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 712324906201488877} + - component: {fileID: 2718146628936625629} + - component: {fileID: 6895468102910876427} + m_Layer: 0 + m_Name: Scroll Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &712324906201488877 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9193962494916097832} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3290469797222583333} + m_Father: {fileID: 4196071748104660636} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 29} + m_SizeDelta: {x: 0, y: -58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2718146628936625629 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9193962494916097832} + m_CullTransparentMesh: 1 +--- !u!114 &6895468102910876427 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9193962494916097832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ScrollRect + m_Content: {fileID: 4002910279517478709} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 30 + m_Viewport: {fileID: 3290469797222583333} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1001 &1168215250338112415 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 171632431509917173} + m_Modifications: + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Name + value: Discard Button + objectReference: {fileID: 0} + - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_text + value: Discard + objectReference: {fileID: 0} + - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: 'm_ActiveFontFeatures.Array.data[0]' + value: 1801810542 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + insertIndex: -1 + addedObject: {fileID: 9105651111711803366} + m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} +--- !u!1 &2857280697999477652 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 1168215250338112415} + m_PrefabAsset: {fileID: 0} +--- !u!114 &9105651111711803366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2857280697999477652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 150 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &2857280697999477654 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 1168215250338112415} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2857280697999477652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &2857280697999477655 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 1168215250338112415} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3052221581828853824 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1363300979575058775, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1363300979575058775, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3362090858256578404, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_PresetInfoIsWorld + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033885, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_text + value: Settings + objectReference: {fileID: 0} + - target: {fileID: 6426926222301033885, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: 'm_ActiveFontFeatures.Array.data[0]' + value: 1801810542 + objectReference: {fileID: 0} + - target: {fileID: 6426926222443932187, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 1.6000061 + objectReference: {fileID: 0} + - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_Name + value: SettingsWindow + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 2648 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 1463 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 1324 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 731.5 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223143253523, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -1.6000061 + objectReference: {fileID: 0} + - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223204803392, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_text + value: X + objectReference: {fileID: 0} + - target: {fileID: 6426926223204803392, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: 'm_ActiveFontFeatures.Array.data[0]' + value: 1801810542 + objectReference: {fileID: 0} + - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6426926223540170643, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -1.6000061 + objectReference: {fileID: 0} + - target: {fileID: 6426926223678012609, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 1.6000061 + objectReference: {fileID: 0} + - target: {fileID: 9173432770828700879, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + propertyPath: m_AdditionalShaderChannelsFlag + value: 25 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + insertIndex: -1 + addedObject: {fileID: 4629025334696629871} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + insertIndex: -1 + addedObject: {fileID: 5144977707028106730} + - targetCorrespondingSourceObject: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + insertIndex: -1 + addedObject: {fileID: 1528685844935499500} + m_SourcePrefab: {fileID: 100100000, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, type: 3} +--- !u!224 &8316648787340291295 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + m_PrefabInstance: {fileID: 3052221581828853824} + m_PrefabAsset: {fileID: 0} +--- !u!1 &8316648787701633430 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + m_PrefabInstance: {fileID: 3052221581828853824} + m_PrefabAsset: {fileID: 0} +--- !u!114 &5144977707028106730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8316648787701633430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8675f0918056faa479ecc7cd79b043a8, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SettingsWidgetCatalog + sliderRowPrefab: {fileID: 7360205022866672411, guid: 6e629f76f0f0de540ad3b31d9683885c, + type: 3} + toggleRowPrefab: {fileID: 3272324700467465557, guid: 15757df2eb6d7e049b10962efa08ad2f, + type: 3} + dropdownRowPrefab: {fileID: 6213361363857234667, guid: 68e33d0874357fe498193879878516dc, + type: 3} + groupHeaderPrefab: {fileID: 3035592963051426016, guid: 46512247587b4de4fa5226043c22f0b2, + type: 3} + tabButtonPrefab: {fileID: 5984645912649801787, guid: 5a80a442aef4e3741ac141a326796608, + type: 3} +--- !u!114 &1528685844935499500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8316648787701633430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: abbf2c0b0f9c80046a10cf95f0879a42, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Warlander.Deedplanner.Ui.Windows.SettingsWindowView + tabButtonRoot: {fileID: 3203517312880287328} + contentRoot: {fileID: 4002910279517478709} + saveButton: {fileID: 7602015390913140096} + discardButton: {fileID: 2857280697999477654} + widgetCatalog: {fileID: 5144977707028106730} +--- !u!1001 &6840550587065449865 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 171632431509917173} + m_Modifications: + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_Name + value: Save Button + objectReference: {fileID: 0} + - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: m_text + value: Save + objectReference: {fileID: 0} + - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + propertyPath: 'm_ActiveFontFeatures.Array.data[0]' + value: 1801810542 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + insertIndex: -1 + addedObject: {fileID: 4498559470873496360} + m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} +--- !u!114 &7602015390913140096 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 6840550587065449865} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7602015390913140098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &7602015390913140097 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 6840550587065449865} + m_PrefabAsset: {fileID: 0} +--- !u!1 &7602015390913140098 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, + type: 3} + m_PrefabInstance: {fileID: 6840550587065449865} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4498559470873496360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7602015390913140098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 150 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/Resources/Windows/SettingsWindow.prefab.meta b/Assets/Resources/Windows/SettingsWindow.prefab.meta new file mode 100644 index 00000000..94646187 --- /dev/null +++ b/Assets/Resources/Windows/SettingsWindow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0a775d270e0dd0046932cf41fc295098 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs index b117a057..153b20fd 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs @@ -2,6 +2,6 @@ namespace Warlander.Deedplanner.Editing { public enum MenuAction { - Resize, Clear, New, Save, SaveAs, Load, GraphicsSettings, InputSettings, Credits, Fullscreen, Quit, Patreon, Paypal + Resize, Clear, New, Save, SaveAs, Load, GraphicsSettings, InputSettings, Settings, Credits, Fullscreen, Quit, Patreon, Paypal } } diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs index 3222e4e5..4d0ac0e7 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs @@ -12,7 +12,9 @@ using Warlander.Deedplanner.Persistence; using Warlander.Deedplanner.Settings; using Warlander.Deedplanner.Platform.Steam; +using Warlander.Deedplanner.Ui.Windows; using Warlander.UI.Windows; +using Warlogic.Settings; namespace Warlander.Deedplanner.Editing { @@ -166,6 +168,9 @@ private void OnButtonClicked(MenuAction action) case MenuAction.InputSettings: _windowCoordinator.CreateWindowExclusive(WindowNames.InputSettingsWindow); break; + case MenuAction.Settings: + OpenNewSettingsWindow(); + break; case MenuAction.Credits: _windowCoordinator.CreateWindow(WindowNames.CreditsWindow); break; @@ -184,6 +189,22 @@ private void OnButtonClicked(MenuAction action) } } + // TEMP until chunk 5 wires the real registry: sample settings so the new window is browsable + private void OpenNewSettingsWindow() + { + var registry = new SettingsRegistry(); + SettingsTab generalTab = registry.AddTab("general", "General"); + SettingsTab graphicsTab = registry.AddTab("graphics", "Graphics"); + generalTab.Add(new IntSetting("fpsLimit", "FPS Limit", 60, 30, 240, "Caps the frame rate.", ApplyMode.OnSave)); + generalTab.Add(new BoolSetting("tooltips", "Tooltips", true, null, ApplyMode.OnSave)); + graphicsTab.Add(new FloatSetting("guiScale", "GUI Scale", 1.0f, 0.5f, 2.0f, "Scales the whole user interface.", ApplyMode.OnSave)); + graphicsTab.Add(new BoolSetting("shadows", "Shadows", true, null, ApplyMode.OnSave)); + graphicsTab.Add(new EnumSetting("waterQuality", "Water Quality", WaterQuality.High, null, ApplyMode.OnSave)); + + Window window = _windowCoordinator.CreateWindowExclusive(WindowNames.SettingsWindow); + window.GetComponent().Initialize(registry); + } + private void ToggleFullscreen() { if (Screen.fullScreen) diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs index 8e1a4c92..7802ff3b 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs @@ -15,6 +15,7 @@ public class MenuUpdaterView : MonoBehaviour, IMenuUpdaterView [SerializeField] private Button _loadButton; [SerializeField] private Button _graphicsSettingsButton; [SerializeField] private Button _inputSettingsButton; + [SerializeField] private Button _settingsButton; [SerializeField] private Button _creditsButton; [SerializeField] private Button _fullscreenButton; [SerializeField] private Button _quitButton; @@ -40,6 +41,7 @@ private void Awake() _loadButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Load)); _graphicsSettingsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.GraphicsSettings)); _inputSettingsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.InputSettings)); + _settingsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Settings)); _creditsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Credits)); _fullscreenButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Fullscreen)); _quitButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Quit)); diff --git a/Assets/Warlander/Deedplanner/Ui/WindowNames.cs b/Assets/Warlander/Deedplanner/Ui/WindowNames.cs index 77c40492..f7b97e19 100644 --- a/Assets/Warlander/Deedplanner/Ui/WindowNames.cs +++ b/Assets/Warlander/Deedplanner/Ui/WindowNames.cs @@ -10,6 +10,7 @@ public static class WindowNames public const string DeleteSaveWindow = "Windows/DeleteSaveWindow"; public const string GraphicsSettingsWindow = "Windows/GraphicsSettingsWindow"; public const string InputSettingsWindow = "Windows/InputSettingsWindow"; + public const string SettingsWindow = "Windows/SettingsWindow"; public const string CreditsWindow = "Windows/CreditsWindow"; public const string TextWindow = "Windows/TextWindow"; public const string ErrorReportWindow = "Windows/ErrorReportWindow"; diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs new file mode 100644 index 00000000..57464a72 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs @@ -0,0 +1,44 @@ +using System; +using UnityEngine; +using UnityEngine.UI; +using Warlogic.Settings; +using Warlogic.Settings.Ugui; + +namespace Warlander.Deedplanner.Ui.Windows +{ + public class SettingsWindowView : MonoBehaviour, ISettingsWindowView + { + [SerializeField] private RectTransform tabButtonRoot; + [SerializeField] private RectTransform contentRoot; + [SerializeField] private Button saveButton; + [SerializeField] private Button discardButton; + [SerializeField] private SettingsWidgetCatalog widgetCatalog; + + public event Action SaveClicked; + public event Action DiscardClicked; + + public RectTransform TabButtonRoot => tabButtonRoot; + public RectTransform ContentRoot => contentRoot; + + private void Awake() + { + saveButton.onClick.AddListener(() => SaveClicked?.Invoke()); + discardButton.onClick.AddListener(() => DiscardClicked?.Invoke()); + } + + public SettingsWindowPresenter Initialize(SettingsRegistry registry) + { + return new SettingsWindowPresenter(registry, widgetCatalog, this); + } + + public void SetSaveInteractable(bool interactable) + { + saveButton.interactable = interactable; + } + + public void SetDiscardInteractable(bool interactable) + { + discardButton.interactable = interactable; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs.meta b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs.meta new file mode 100644 index 00000000..0f6553af --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: abbf2c0b0f9c80046a10cf95f0879a42 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/CHANGELOG.md b/Packages/com.warlogic.settings.ugui/CHANGELOG.md new file mode 100644 index 00000000..ba4bf0cf --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## [0.1.0] - 2026-09-05 + +- Initial release: widget factory registry, six widget prefabs (slider, toggle, dropdown, keybind placeholder, group header, tab button), unified settings window view + presenter. diff --git a/Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta b/Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta new file mode 100644 index 00000000..eacad4aa --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 61d06c191940bce41ba8596d45727f6a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime.meta b/Packages/com.warlogic.settings.ugui/Runtime.meta new file mode 100644 index 00000000..4e704418 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dbe6ba01f7cf6fb4a9af5c1011b3fbc3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs new file mode 100644 index 00000000..dc64657c --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs @@ -0,0 +1,73 @@ +using System; +using TMPro; +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public sealed class DropdownSettingWidget : MonoBehaviour, ISettingWidget + { + [SerializeField] private TMP_Text labelText; + [SerializeField] private TMP_Dropdown dropdown; + [SerializeField] private TMP_Text descriptionText; + + private Func _readIndex; + private Action _writeIndex; + + public event Action ValueEdited; + + public RectTransform Root => (RectTransform) transform; + + public void BindEnum(ISetting setting, Type enumType) + { + labelText.text = setting.Label; + bool hasDescription = !string.IsNullOrEmpty(setting.Description); + descriptionText.gameObject.SetActive(hasDescription); + if (hasDescription) + { + descriptionText.text = setting.Description; + } + + System.Reflection.PropertyInfo valueProp = setting.GetType().GetProperty("Value"); + System.Reflection.PropertyInfo stagedProp = setting.GetType().GetProperty("StagedValue"); + var values = new System.Collections.Generic.List(); + foreach (object value in Enum.GetValues(enumType)) + { + if (!values.Contains(value)) + { + values.Add(value); + } + } + var options = new System.Collections.Generic.List(); + foreach (object value in values) + { + options.Add(new TMP_Dropdown.OptionData(value.ToString())); + } + dropdown.options = options; + + _readIndex = () => + { + object current = setting.ApplyMode == ApplyMode.OnSave ? stagedProp.GetValue(setting) : valueProp.GetValue(setting); + return values.IndexOf(current); + }; + _writeIndex = index => valueProp.SetValue(setting, values[index]); + + dropdown.onValueChanged.AddListener(OnDropdownChanged); + Refresh(); + } + + public void Refresh() + { + if (_readIndex == null) + { + return; + } + dropdown.SetValueWithoutNotify(Mathf.Max(0, _readIndex())); + } + + private void OnDropdownChanged(int index) + { + _writeIndex(index); + ValueEdited?.Invoke(); + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta new file mode 100644 index 00000000..2ce1f240 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 32dabc1660f77fe44ad6a1c369943338 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs new file mode 100644 index 00000000..b49812e7 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs @@ -0,0 +1,24 @@ +using System; +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public sealed class DropdownSettingWidgetFactory : ISettingWidgetFactory + { + private readonly DropdownSettingWidget _prefab; + private readonly Type _enumType; + + public DropdownSettingWidgetFactory(DropdownSettingWidget prefab, Type enumType) + { + _prefab = prefab; + _enumType = enumType; + } + + public ISettingWidget Create(ISetting setting, Transform parent) + { + DropdownSettingWidget widget = UnityEngine.Object.Instantiate(_prefab, parent); + widget.BindEnum(setting, _enumType); + return widget; + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta new file mode 100644 index 00000000..7904b4d2 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 83e183e11639d9d478fbf86d983a7082 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs new file mode 100644 index 00000000..dda3f9ad --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public interface ISettingWidget + { + RectTransform Root { get; } + event Action ValueEdited; + void Refresh(); + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta new file mode 100644 index 00000000..5e30bb31 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b052de693f38ffc499a50e30250efb23 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs new file mode 100644 index 00000000..545c7a74 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public interface ISettingWidgetFactory + { + ISettingWidget Create(ISetting setting, Transform parent); + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta new file mode 100644 index 00000000..be93894c --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e5e9c198580036f46823c5157ead0196 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs b/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs new file mode 100644 index 00000000..a78d1b8f --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs @@ -0,0 +1,15 @@ +using System; +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public interface ISettingsWindowView + { + event Action SaveClicked; + event Action DiscardClicked; + RectTransform TabButtonRoot { get; } + RectTransform ContentRoot { get; } + void SetSaveInteractable(bool interactable); + void SetDiscardInteractable(bool interactable); + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta new file mode 100644 index 00000000..f803ebd7 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 911b7d9de37988146894564e7b8ffa92 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs b/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs new file mode 100644 index 00000000..786a5f26 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs @@ -0,0 +1,22 @@ +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace Warlogic.Settings.Ugui +{ + public sealed class KeybindSettingRow : MonoBehaviour + { + [SerializeField] private TMP_Text actionLabelText; + [SerializeField] private TMP_Text bindingText; + [SerializeField] private Button rebindButton; + + public RectTransform Root => (RectTransform) transform; + public Button RebindButton => rebindButton; + + public void SetLabels(string actionLabel, string binding) + { + actionLabelText.text = actionLabel; + bindingText.text = binding; + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta new file mode 100644 index 00000000..75940b27 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0cf5bf386d4b4e04dba93d30eb9350db \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta new file mode 100644 index 00000000..64bcab02 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e6eb7a37c05004547a188ab2ae99c8a7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab new file mode 100644 index 00000000..0d29ed35 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab @@ -0,0 +1,1458 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &547663816937546016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7775786895803472207} + - component: {fileID: 1718642921942058971} + - component: {fileID: 1798240956141886063} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7775786895803472207 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547663816937546016} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6573333316332237256} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: -40, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1718642921942058971 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547663816937546016} + m_CullTransparentMesh: 1 +--- !u!114 &1798240956141886063 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547663816937546016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &586639809560980258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8694535449170907048} + - component: {fileID: 5700625802663241484} + - component: {fileID: 7799191208106146804} + m_Layer: 0 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8694535449170907048 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 586639809560980258} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4194535041111387472} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 12, y: 0} + m_SizeDelta: {x: 18, y: 18} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5700625802663241484 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 586639809560980258} + m_CullTransparentMesh: 1 +--- !u!114 &7799191208106146804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 586639809560980258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &967323859253071121 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4851426183015034898} + - component: {fileID: 4456741283598100154} + - component: {fileID: 8534472189986526337} + m_Layer: 0 + m_Name: DropdownSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4851426183015034898 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967323859253071121} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7028991682193134301} + - {fileID: 5514563394505216482} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4456741283598100154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967323859253071121} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 2 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &8534472189986526337 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967323859253071121} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32dabc1660f77fe44ad6a1c369943338, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.DropdownSettingWidget + labelText: {fileID: 1997950822411004859} + dropdown: {fileID: 6716778157587832806} + descriptionText: {fileID: 3891384929951464154} +--- !u!1 &1039982759528130506 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8133426358526148854} + - component: {fileID: 5926956854031933550} + - component: {fileID: 3931666630068495468} + - component: {fileID: 5248670659261968323} + m_Layer: 0 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &8133426358526148854 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039982759528130506} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6765889746888377768} + m_Father: {fileID: 6573333316332237256} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &5926956854031933550 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039982759528130506} + m_CullTransparentMesh: 1 +--- !u!114 &3931666630068495468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039982759528130506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.18, g: 0.18, b: 0.18, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &5248670659261968323 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039982759528130506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ScrollRect + m_Content: {fileID: 8866607485582424769} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 6765889746888377768} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1882678858389972146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6459660466451565953} + - component: {fileID: 3366184477491018466} + - component: {fileID: 9081661622861711268} + m_Layer: 0 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6459660466451565953 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1882678858389972146} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6573333316332237256} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3366184477491018466 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1882678858389972146} + m_CullTransparentMesh: 1 +--- !u!114 &9081661622861711268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1882678858389972146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1894114533674492556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8866607485582424769} + m_Layer: 0 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8866607485582424769 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1894114533674492556} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4194535041111387472} + m_Father: {fileID: 6765889746888377768} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &4005451945719528430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4194535041111387472} + - component: {fileID: 8468340426849312405} + m_Layer: 0 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4194535041111387472 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4005451945719528430} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 523129708304235449} + - {fileID: 8694535449170907048} + - {fileID: 6217348976447106898} + m_Father: {fileID: 8866607485582424769} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8468340426849312405 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4005451945719528430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Toggle + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.45, g: 0.45, b: 0.45, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5172827256399075592} + toggleTransition: 1 + graphic: {fileID: 7799191208106146804} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &5215115348936762077 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5514563394505216482} + - component: {fileID: 3084073256033389831} + - component: {fileID: 3891384929951464154} + - component: {fileID: 4517768266017549225} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5514563394505216482 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5215115348936762077} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4851426183015034898} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3084073256033389831 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5215115348936762077} + m_CullTransparentMesh: 1 +--- !u!114 &3891384929951464154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5215115348936762077} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.7, g: 0.7, b: 0.7, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &4517768266017549225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5215115348936762077} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5513550024736285845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7028991682193134301} + - component: {fileID: 8547930247252852488} + - component: {fileID: 6778686846683746336} + m_Layer: 0 + m_Name: Row + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7028991682193134301 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5513550024736285845} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7959139930162574822} + - {fileID: 6573333316332237256} + m_Father: {fileID: 4851426183015034898} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8547930247252852488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5513550024736285845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &6778686846683746336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5513550024736285845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 32 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5777167872051892320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7959139930162574822} + - component: {fileID: 7679606746600987719} + - component: {fileID: 1997950822411004859} + - component: {fileID: 679677780463971417} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7959139930162574822 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5777167872051892320} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7028991682193134301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7679606746600987719 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5777167872051892320} + m_CullTransparentMesh: 1 +--- !u!114 &1997950822411004859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5777167872051892320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &679677780463971417 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5777167872051892320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 220 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5807996329148924024 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6573333316332237256} + - component: {fileID: 9155157035545140040} + - component: {fileID: 4964037659789034454} + - component: {fileID: 7010442456867013503} + - component: {fileID: 6716778157587832806} + m_Layer: 0 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6573333316332237256 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5807996329148924024} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7775786895803472207} + - {fileID: 6459660466451565953} + - {fileID: 8133426358526148854} + m_Father: {fileID: 7028991682193134301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &9155157035545140040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5807996329148924024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &4964037659789034454 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5807996329148924024} + m_CullTransparentMesh: 1 +--- !u!114 &7010442456867013503 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5807996329148924024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6716778157587832806 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5807996329148924024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b743370ac3e4ec2a1668f5455a8ef8a, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_Dropdown + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 7010442456867013503} + m_Template: {fileID: 8133426358526148854} + m_CaptionText: {fileID: 1798240956141886063} + m_CaptionImage: {fileID: 0} + m_Placeholder: {fileID: 0} + m_ItemText: {fileID: 3089850726977621740} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_MultiSelect: 0 + m_Options: + m_Options: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_AlphaFadeSpeed: 0.15 +--- !u!1 &6203122783600781617 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 523129708304235449} + - component: {fileID: 5466166196408017114} + - component: {fileID: 5172827256399075592} + m_Layer: 0 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &523129708304235449 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6203122783600781617} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4194535041111387472} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5466166196408017114 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6203122783600781617} + m_CullTransparentMesh: 1 +--- !u!114 &5172827256399075592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6203122783600781617} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.35, g: 0.35, b: 0.35, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6546782935254796631 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6765889746888377768} + - component: {fileID: 2605527148670270912} + - component: {fileID: 7067618689721806895} + - component: {fileID: 4685903868571797472} + m_Layer: 0 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6765889746888377768 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6546782935254796631} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8866607485582424769} + m_Father: {fileID: 8133426358526148854} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &2605527148670270912 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6546782935254796631} + m_CullTransparentMesh: 1 +--- !u!114 &7067618689721806895 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6546782935254796631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.01} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4685903868571797472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6546782935254796631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &6680455435052572943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6217348976447106898} + - component: {fileID: 8103878530067296014} + - component: {fileID: 3089850726977621740} + m_Layer: 0 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6217348976447106898 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6680455435052572943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4194535041111387472} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 15, y: 0} + m_SizeDelta: {x: -42, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8103878530067296014 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6680455435052572943} + m_CullTransparentMesh: 1 +--- !u!114 &3089850726977621740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6680455435052572943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta new file mode 100644 index 00000000..3e22e617 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6a2e01fcfa01d0641842d39608ed06cd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab new file mode 100644 index 00000000..35641eff --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab @@ -0,0 +1,678 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1368673227581239100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704800380156519355} + - component: {fileID: 5645879299320586103} + - component: {fileID: 8569282542660884367} + - component: {fileID: 1156738326899359152} + m_Layer: 0 + m_Name: Action Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &704800380156519355 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368673227581239100} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1025252804700249907} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5645879299320586103 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368673227581239100} + m_CullTransparentMesh: 1 +--- !u!114 &8569282542660884367 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368673227581239100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1156738326899359152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368673227581239100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &2862488475575783181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4959300882970057527} + - component: {fileID: 5491062849988747901} + - component: {fileID: 7467690535295795353} + - component: {fileID: 2118849856051076332} + m_Layer: 0 + m_Name: Binding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4959300882970057527 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2862488475575783181} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1025252804700249907} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5491062849988747901 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2862488475575783181} + m_CullTransparentMesh: 1 +--- !u!114 &7467690535295795353 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2862488475575783181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &2118849856051076332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2862488475575783181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 140 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &3936079510294817999 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6180501514266598586} + - component: {fileID: 7157106940881410278} + - component: {fileID: 5183402193687960222} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6180501514266598586 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3936079510294817999} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4285116700718520785} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7157106940881410278 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3936079510294817999} + m_CullTransparentMesh: 1 +--- !u!114 &5183402193687960222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3936079510294817999} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Rebind + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4150550859377666342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4285116700718520785} + - component: {fileID: 8918826696193274663} + - component: {fileID: 5366998284656149838} + - component: {fileID: 5822877820680962675} + - component: {fileID: 8727624872435126028} + m_Layer: 0 + m_Name: Rebind Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4285116700718520785 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4150550859377666342} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6180501514266598586} + m_Father: {fileID: 1025252804700249907} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8918826696193274663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4150550859377666342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 100 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &5366998284656149838 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4150550859377666342} + m_CullTransparentMesh: 1 +--- !u!114 &5822877820680962675 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4150550859377666342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8727624872435126028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4150550859377666342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5822877820680962675} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4564083129591634886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1025252804700249907} + - component: {fileID: 7346583179803725481} + - component: {fileID: 3785077488095232591} + m_Layer: 0 + m_Name: KeybindSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1025252804700249907 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4564083129591634886} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 704800380156519355} + - {fileID: 4959300882970057527} + - {fileID: 4285116700718520785} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 36} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7346583179803725481 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4564083129591634886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &3785077488095232591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4564083129591634886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cf5bf386d4b4e04dba93d30eb9350db, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.KeybindSettingRow + actionLabelText: {fileID: 8569282542660884367} + bindingText: {fileID: 7467690535295795353} + rebindButton: {fileID: 8727624872435126028} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta new file mode 100644 index 00000000..4e847a9b --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: af027cadb8078b8419c624eda44cb2c4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab new file mode 100644 index 00000000..b27db1e7 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab @@ -0,0 +1,334 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &996196194324087807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 811789932442757556} + - component: {fileID: 8008270439741732585} + - component: {fileID: 2381040953208706365} + - component: {fileID: 4918286615146955649} + m_Layer: 0 + m_Name: Line + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &811789932442757556 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 996196194324087807} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3171408497648296648} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8008270439741732585 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 996196194324087807} + m_CullTransparentMesh: 1 +--- !u!114 &2381040953208706365 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 996196194324087807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4918286615146955649 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 996196194324087807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 2 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &8057282102511238857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3130158812167106768} + - component: {fileID: 2254934165989010107} + - component: {fileID: 7819368576699090682} + - component: {fileID: 7500824198176167703} + m_Layer: 0 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3130158812167106768 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8057282102511238857} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3171408497648296648} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2254934165989010107 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8057282102511238857} + m_CullTransparentMesh: 1 +--- !u!114 &7819368576699090682 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8057282102511238857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &7500824198176167703 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8057282102511238857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &8266159946973255812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3171408497648296648} + - component: {fileID: 243622327274016487} + - component: {fileID: 8136755060007132778} + m_Layer: 0 + m_Name: SettingsGroupHeader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3171408497648296648 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8266159946973255812} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3130158812167106768} + - {fileID: 811789932442757556} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &243622327274016487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8266159946973255812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 4 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &8136755060007132778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8266159946973255812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f5496afd54939f14ba645c4b09a602fa, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SettingsGroupHeader + headerText: {fileID: 7819368576699090682} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta new file mode 100644 index 00000000..d7f49adc --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f06e260663e69c840a22a6915b799285 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab new file mode 100644 index 00000000..82d5f61c --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab @@ -0,0 +1,296 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4680319398195913748 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2626200043387682689} + - component: {fileID: 2971516530397136253} + - component: {fileID: 6006307358497217957} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2626200043387682689 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4680319398195913748} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2894054071426942441} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2971516530397136253 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4680319398195913748} + m_CullTransparentMesh: 1 +--- !u!114 &6006307358497217957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4680319398195913748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7556938534710344026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2894054071426942441} + - component: {fileID: 3277242532702859876} + - component: {fileID: 2969167737653743825} + - component: {fileID: 918078599274014078} + - component: {fileID: 4392776676213909515} + - component: {fileID: 1322163474594506188} + m_Layer: 0 + m_Name: SettingsTabButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2894054071426942441 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7556938534710344026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2626200043387682689} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 180, y: 44} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3277242532702859876 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7556938534710344026} + m_CullTransparentMesh: 1 +--- !u!114 &2969167737653743825 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7556938534710344026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &918078599274014078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7556938534710344026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Toggle + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2969167737653743825} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &4392776676213909515 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7556938534710344026} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Outline + m_EffectColor: {r: 0.9, g: 0.9, b: 0.9, a: 0.9} + m_EffectDistance: {x: 2, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &1322163474594506188 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7556938534710344026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 96e5c3bea762add4bb8ea6c12c991edd, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SettingsTabButton + labelText: {fileID: 6006307358497217957} + toggle: {fileID: 918078599274014078} + activeOutline: {fileID: 4392776676213909515} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta new file mode 100644 index 00000000..dc359fb4 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4f32f64c20b19944781a22b023113f0d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab new file mode 100644 index 00000000..fc89e9e9 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab @@ -0,0 +1,1051 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &42879495047399739 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4905170779856767915} + - component: {fileID: 2671211611608392262} + - component: {fileID: 920000048755613003} + m_Layer: 0 + m_Name: SliderSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4905170779856767915 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 42879495047399739} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5597768032680221029} + - {fileID: 3631378942844171488} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2671211611608392262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 42879495047399739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 2 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &920000048755613003 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 42879495047399739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 113666b7b0f355446a734646a3678133, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SliderSettingWidget + labelText: {fileID: 3897795646481236247} + valueText: {fileID: 4934867336505491135} + slider: {fileID: 5498433502768831080} + descriptionText: {fileID: 586043496208320228} +--- !u!1 &550800891798009356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5567205179998286341} + - component: {fileID: 5239109606387480481} + - component: {fileID: 930438601580911736} + m_Layer: 0 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5567205179998286341 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550800891798009356} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5085782856646224337} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5239109606387480481 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550800891798009356} + m_CullTransparentMesh: 1 +--- !u!114 &930438601580911736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550800891798009356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.72, g: 0.72, b: 0.72, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &623439488850462019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7984216573710506361} + - component: {fileID: 5936654187861177493} + - component: {fileID: 3897795646481236247} + - component: {fileID: 8710168255087153204} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7984216573710506361 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 623439488850462019} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5597768032680221029} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5936654187861177493 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 623439488850462019} + m_CullTransparentMesh: 1 +--- !u!114 &3897795646481236247 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 623439488850462019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &8710168255087153204 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 623439488850462019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 220 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1547216973397038323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 584155936831690031} + - component: {fileID: 1724863041150910798} + - component: {fileID: 4934867336505491135} + - component: {fileID: 2783091669208393932} + m_Layer: 0 + m_Name: Value + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &584155936831690031 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1547216973397038323} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5597768032680221029} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1724863041150910798 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1547216973397038323} + m_CullTransparentMesh: 1 +--- !u!114 &4934867336505491135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1547216973397038323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 4 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &2783091669208393932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1547216973397038323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 70 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1551319464398099292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3631378942844171488} + - component: {fileID: 3674948671484722327} + - component: {fileID: 586043496208320228} + - component: {fileID: 6705107486367964105} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3631378942844171488 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1551319464398099292} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4905170779856767915} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3674948671484722327 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1551319464398099292} + m_CullTransparentMesh: 1 +--- !u!114 &586043496208320228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1551319464398099292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.7, g: 0.7, b: 0.7, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &6705107486367964105 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1551319464398099292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &2054354776428156221 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6715256470988641338} + - component: {fileID: 8694153069179026803} + - component: {fileID: 5278091934628039615} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6715256470988641338 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054354776428156221} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5515522748831428642} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8694153069179026803 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054354776428156221} + m_CullTransparentMesh: 1 +--- !u!114 &5278091934628039615 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054354776428156221} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2066083375746477353 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8627596582008281778} + m_Layer: 0 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8627596582008281778 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2066083375746477353} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1326435435119543605} + m_Father: {fileID: 5515522748831428642} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2417095572641787130 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5085782856646224337} + m_Layer: 0 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5085782856646224337 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2417095572641787130} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5567205179998286341} + m_Father: {fileID: 5515522748831428642} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2464666966677564614 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1326435435119543605} + - component: {fileID: 2302077600723047109} + - component: {fileID: 6148126215933414538} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1326435435119543605 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2464666966677564614} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8627596582008281778} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2302077600723047109 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2464666966677564614} + m_CullTransparentMesh: 1 +--- !u!114 &6148126215933414538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2464666966677564614} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.72, g: 0.72, b: 0.72, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2469847446487402700 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5515522748831428642} + - component: {fileID: 2717377723206263606} + - component: {fileID: 5498433502768831080} + m_Layer: 0 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5515522748831428642 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2469847446487402700} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6715256470988641338} + - {fileID: 5085782856646224337} + - {fileID: 8627596582008281778} + m_Father: {fileID: 5597768032680221029} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2717377723206263606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2469847446487402700} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 24 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &5498433502768831080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2469847446487402700} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6148126215933414538} + m_FillRect: {fileID: 5567205179998286341} + m_HandleRect: {fileID: 1326435435119543605} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3939107696438759957 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5597768032680221029} + - component: {fileID: 8076564413767803239} + - component: {fileID: 5695584082162533694} + m_Layer: 0 + m_Name: Row + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5597768032680221029 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3939107696438759957} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7984216573710506361} + - {fileID: 5515522748831428642} + - {fileID: 584155936831690031} + m_Father: {fileID: 4905170779856767915} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8076564413767803239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3939107696438759957} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &5695584082162533694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3939107696438759957} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 32 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta new file mode 100644 index 00000000..0073b8c3 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 898bfcb2f90034f4d99bbcfff00bfc93 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab new file mode 100644 index 00000000..6c5ba3c0 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab @@ -0,0 +1,704 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3448601837636717176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4874666659026802401} + - component: {fileID: 2393754336676497399} + - component: {fileID: 300359771971290469} + - component: {fileID: 7702960626228888500} + - component: {fileID: 8789600829715143829} + m_Layer: 0 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4874666659026802401 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3448601837636717176} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8862235941287777692} + m_Father: {fileID: 5216324525638281257} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2393754336676497399 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3448601837636717176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 24 + m_PreferredHeight: 24 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &300359771971290469 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3448601837636717176} + m_CullTransparentMesh: 1 +--- !u!114 &7702960626228888500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3448601837636717176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8789600829715143829 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3448601837636717176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Toggle + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 7702960626228888500} + toggleTransition: 1 + graphic: {fileID: 8118257887811463093} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &4633108352055977306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5216324525638281257} + - component: {fileID: 8062715808805840412} + - component: {fileID: 3791166923046046240} + m_Layer: 0 + m_Name: Row + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5216324525638281257 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4633108352055977306} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4874666659026802401} + - {fileID: 6710966151576112758} + m_Father: {fileID: 8562244588157808918} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8062715808805840412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4633108352055977306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &3791166923046046240 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4633108352055977306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 32 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &4827855708637882626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4771525357461283707} + - component: {fileID: 978633729136942456} + - component: {fileID: 8236835367339581289} + - component: {fileID: 1470702262799295362} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4771525357461283707 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4827855708637882626} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8562244588157808918} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &978633729136942456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4827855708637882626} + m_CullTransparentMesh: 1 +--- !u!114 &8236835367339581289 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4827855708637882626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.7, g: 0.7, b: 0.7, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1470702262799295362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4827855708637882626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 20 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5271343715736364808 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8562244588157808918} + - component: {fileID: 6981562926990575885} + - component: {fileID: 8057993710751154939} + m_Layer: 0 + m_Name: ToggleSettingRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8562244588157808918 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5271343715736364808} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5216324525638281257} + - {fileID: 4771525357461283707} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6981562926990575885 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5271343715736364808} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 2 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &8057993710751154939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5271343715736364808} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b777d5528cc25494c8f6d7222907e78b, type: 3} + m_Name: + m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.ToggleSettingWidget + labelText: {fileID: 323492695222097635} + toggle: {fileID: 8789600829715143829} + descriptionText: {fileID: 8236835367339581289} +--- !u!1 &7483794450522686815 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6710966151576112758} + - component: {fileID: 2703367507413186750} + - component: {fileID: 323492695222097635} + - component: {fileID: 8463783094646457401} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6710966151576112758 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7483794450522686815} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5216324525638281257} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2703367507413186750 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7483794450522686815} + m_CullTransparentMesh: 1 +--- !u!114 &323492695222097635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7483794450522686815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &8463783094646457401 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7483794450522686815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &9031556223997286581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8862235941287777692} + - component: {fileID: 2698643922328821874} + - component: {fileID: 8118257887811463093} + m_Layer: 0 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8862235941287777692 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9031556223997286581} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4874666659026802401} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -6, y: -6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2698643922328821874 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9031556223997286581} + m_CullTransparentMesh: 1 +--- !u!114 &8118257887811463093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9031556223997286581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.72, g: 0.72, b: 0.72, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta new file mode 100644 index 00000000..afb5e3eb --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 831cbb32c61bed0438d9a687f33ed170 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs new file mode 100644 index 00000000..1e17802d --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs @@ -0,0 +1,17 @@ +using TMPro; +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public sealed class SettingsGroupHeader : MonoBehaviour + { + [SerializeField] private TMP_Text headerText; + + public RectTransform Root => (RectTransform) transform; + + public void SetLabel(string label) + { + headerText.text = label; + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta new file mode 100644 index 00000000..d4afa247 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f5496afd54939f14ba645c4b09a602fa \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs new file mode 100644 index 00000000..f8cd8c76 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs @@ -0,0 +1,59 @@ +using System; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace Warlogic.Settings.Ugui +{ + public sealed class SettingsTabButton : MonoBehaviour + { + [SerializeField] private TMP_Text labelText; + [SerializeField] private Toggle toggle; + [SerializeField] private Outline activeOutline; + + public event Action Clicked; + + public RectTransform Root => (RectTransform) transform; + + private bool _selected; + + private void Awake() + { + toggle.onValueChanged.AddListener(OnToggleChanged); + RefreshOutline(); + } + + public void SetLabel(string label) + { + labelText.text = label; + } + + public void SetSelected(bool selected) + { + _selected = selected; + toggle.SetIsOnWithoutNotify(selected); + RefreshOutline(); + } + + private void OnToggleChanged(bool value) + { + if (value) + { + Clicked?.Invoke(); + } + else if (_selected) + { + toggle.SetIsOnWithoutNotify(true); + } + RefreshOutline(); + } + + private void RefreshOutline() + { + if (activeOutline != null) + { + activeOutline.enabled = toggle.isOn; + } + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta new file mode 100644 index 00000000..8fbb63fa --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 96e5c3bea762add4bb8ea6c12c991edd \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs new file mode 100644 index 00000000..d5f9b577 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public sealed class SettingsWidgetCatalog : MonoBehaviour + { + [SerializeField] private SliderSettingWidget sliderRowPrefab; + [SerializeField] private ToggleSettingWidget toggleRowPrefab; + [SerializeField] private DropdownSettingWidget dropdownRowPrefab; + [SerializeField] private SettingsGroupHeader groupHeaderPrefab; + [SerializeField] private SettingsTabButton tabButtonPrefab; + + private readonly Dictionary _factories = new Dictionary(); + + public void RegisterFactory(Type settingType, ISettingWidgetFactory factory) + { + _factories[settingType] = factory; + } + + public ISettingWidget CreateWidget(ISetting setting, Transform parent) + { + ISettingWidgetFactory factory = ResolveFactory(setting.GetType()); + return factory?.Create(setting, parent); + } + + public SettingsGroupHeader CreateGroupHeader(string label, Transform parent) + { + SettingsGroupHeader header = Instantiate(groupHeaderPrefab, parent); + header.SetLabel(label); + return header; + } + + public SettingsTabButton CreateTabButton(Transform parent) + { + return Instantiate(tabButtonPrefab, parent); + } + + private ISettingWidgetFactory ResolveFactory(Type settingType) + { + if (_factories.TryGetValue(settingType, out ISettingWidgetFactory registered)) + { + return registered; + } + if (settingType == typeof(FloatSetting) || settingType == typeof(IntSetting)) + { + return new SliderSettingWidgetFactory(sliderRowPrefab); + } + if (settingType == typeof(BoolSetting)) + { + return new ToggleSettingWidgetFactory(toggleRowPrefab); + } + if (settingType.IsGenericType && settingType.GetGenericTypeDefinition() == typeof(EnumSetting<>)) + { + Type enumType = settingType.GetGenericArguments()[0]; + return new DropdownSettingWidgetFactory(dropdownRowPrefab, enumType); + } + return null; + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta new file mode 100644 index 00000000..5ff27546 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8675f0918056faa479ecc7cd79b043a8 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs new file mode 100644 index 00000000..f404cede --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Warlogic.Settings.Ugui +{ + public sealed class SettingsWindowPresenter + { + private readonly SettingsRegistry _registry; + private readonly SettingsWidgetCatalog _catalog; + private readonly ISettingsWindowView _view; + private readonly Dictionary> _widgetsByTab = new Dictionary>(); + private readonly Dictionary _tabButtons = new Dictionary(); + private string _activeTabId; + + public event Action TabContentBuilt; + + public SettingsWindowPresenter(SettingsRegistry registry, SettingsWidgetCatalog catalog, ISettingsWindowView view) + { + _registry = registry; + _catalog = catalog; + _view = view; + _view.SaveClicked += SaveAll; + _view.DiscardClicked += DiscardAll; + BuildTabButtons(); + RefreshFooter(); + if (_registry.Tabs.Count > 0) + { + SelectTab(_registry.Tabs[0].Id); + } + } + + public bool IsTabBuilt(string tabId) + { + return _widgetsByTab.ContainsKey(tabId); + } + + public void SelectTab(string tabId) + { + if (tabId == _activeTabId) + { + return; + } + if (_activeTabId != null) + { + SetTabContentVisible(_activeTabId, false); + _tabButtons[_activeTabId].SetSelected(false); + } + _activeTabId = tabId; + if (!IsTabBuilt(tabId)) + { + BuildTabContent(tabId); + } + SetTabContentVisible(tabId, true); + _tabButtons[tabId].SetSelected(true); + } + + private void BuildTabButtons() + { + foreach (SettingsTab tab in _registry.Tabs) + { + SettingsTabButton button = _catalog.CreateTabButton(_view.TabButtonRoot); + button.SetLabel(tab.Label); + string tabId = tab.Id; + button.Clicked += () => SelectTab(tabId); + _tabButtons[tabId] = button; + } + } + + private void BuildTabContent(string tabId) + { + SettingsTab tab = _registry.Tabs.First(t => t.Id == tabId); + var widgets = new List(); + foreach (ISetting setting in tab.Settings) + { + ISettingWidget widget = _catalog.CreateWidget(setting, _view.ContentRoot); + if (widget == null) + { + continue; + } + widget.ValueEdited += RefreshFooter; + widget.Root.gameObject.SetActive(false); + widgets.Add(widget); + } + _widgetsByTab[tabId] = widgets; + TabContentBuilt?.Invoke(tabId); + } + + private void SetTabContentVisible(string tabId, bool visible) + { + foreach (ISettingWidget widget in _widgetsByTab[tabId]) + { + widget.Root.gameObject.SetActive(visible); + } + } + + private void SaveAll() + { + foreach (SettingsTab tab in _registry.Tabs) + { + foreach (ISetting setting in tab.Settings) + { + if (setting.ApplyMode == ApplyMode.OnSave && setting.IsDirty) + { + setting.Commit(); + } + } + } + RefreshFooter(); + } + + private void DiscardAll() + { + foreach (SettingsTab tab in _registry.Tabs) + { + foreach (ISetting setting in tab.Settings) + { + setting.Revert(); + } + } + foreach (List widgets in _widgetsByTab.Values) + { + foreach (ISettingWidget widget in widgets) + { + widget.Refresh(); + } + } + RefreshFooter(); + } + + private void RefreshFooter() + { + bool anyDirty = _registry.Tabs.SelectMany(t => t.Settings).Any(s => s.IsDirty); + _view.SetSaveInteractable(anyDirty); + _view.SetDiscardInteractable(anyDirty); + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta new file mode 100644 index 00000000..7092860d --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f44755f96b28fa540b819223fa800318 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs new file mode 100644 index 00000000..89c98aaf --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs @@ -0,0 +1,83 @@ +using System; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace Warlogic.Settings.Ugui +{ + public sealed class SliderSettingWidget : MonoBehaviour, ISettingWidget + { + [SerializeField] private TMP_Text labelText; + [SerializeField] private TMP_Text valueText; + [SerializeField] private Slider slider; + [SerializeField] private TMP_Text descriptionText; + + private Func _read; + private Action _write; + private bool _wholeNumbers; + + public event Action ValueEdited; + + public RectTransform Root => (RectTransform) transform; + + public void Bind(ISetting setting, float min, float max) + { + BindCommon(setting.Label, setting.Description, min, max, false, + () => setting.ApplyMode == ApplyMode.OnSave ? setting.StagedValue : setting.Value, + v => setting.Value = v); + } + + public void Bind(ISetting setting, int min, int max) + { + BindCommon(setting.Label, setting.Description, min, max, true, + () => setting.ApplyMode == ApplyMode.OnSave ? setting.StagedValue : setting.Value, + v => setting.Value = Mathf.RoundToInt(v)); + } + + private void BindCommon(string label, string description, float min, float max, bool wholeNumbers, Func read, Action write) + { + _read = read; + _write = write; + _wholeNumbers = wholeNumbers; + labelText.text = label; + SetupDescription(description); + slider.minValue = min; + slider.maxValue = max; + slider.wholeNumbers = wholeNumbers; + slider.onValueChanged.AddListener(OnSliderChanged); + Refresh(); + } + + public void Refresh() + { + if (_read == null) + { + return; + } + float value = _read(); + slider.SetValueWithoutNotify(value); + valueText.text = _wholeNumbers ? Mathf.RoundToInt(value).ToString() : value.ToString("0.##"); + } + + private void OnSliderChanged(float value) + { + if (_wholeNumbers) + { + value = Mathf.RoundToInt(value); + } + valueText.text = _wholeNumbers ? ((int) value).ToString() : value.ToString("0.##"); + _write(value); + ValueEdited?.Invoke(); + } + + private void SetupDescription(string description) + { + bool hasDescription = !string.IsNullOrEmpty(description); + descriptionText.gameObject.SetActive(hasDescription); + if (hasDescription) + { + descriptionText.text = description; + } + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta new file mode 100644 index 00000000..e5f76f40 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 113666b7b0f355446a734646a3678133 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs new file mode 100644 index 00000000..a618ff2d --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs @@ -0,0 +1,33 @@ +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public sealed class SliderSettingWidgetFactory : ISettingWidgetFactory + { + private readonly SliderSettingWidget _prefab; + + public SliderSettingWidgetFactory(SliderSettingWidget prefab) + { + _prefab = prefab; + } + + public ISettingWidget Create(ISetting setting, Transform parent) + { + SliderSettingWidget widget = Object.Instantiate(_prefab, parent); + if (setting is ISetting floatSetting && setting is FloatSetting floatRange) + { + widget.Bind(floatSetting, floatRange.Min, floatRange.Max); + } + else if (setting is ISetting intSetting && setting is IntSetting intRange) + { + widget.Bind(intSetting, intRange.Min, intRange.Max); + } + else + { + Object.Destroy(widget.gameObject); + return null; + } + return widget; + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta new file mode 100644 index 00000000..84d6c3ec --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e9a63ba71134c234ea29c08ed095ec56 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs new file mode 100644 index 00000000..0498051f --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs @@ -0,0 +1,49 @@ +using System; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace Warlogic.Settings.Ugui +{ + public sealed class ToggleSettingWidget : MonoBehaviour, ISettingWidget + { + [SerializeField] private TMP_Text labelText; + [SerializeField] private Toggle toggle; + [SerializeField] private TMP_Text descriptionText; + + private ISetting _setting; + + public event Action ValueEdited; + + public RectTransform Root => (RectTransform) transform; + + public void Bind(ISetting setting) + { + _setting = setting; + labelText.text = setting.Label; + bool hasDescription = !string.IsNullOrEmpty(setting.Description); + descriptionText.gameObject.SetActive(hasDescription); + if (hasDescription) + { + descriptionText.text = setting.Description; + } + toggle.onValueChanged.AddListener(OnToggleChanged); + Refresh(); + } + + public void Refresh() + { + if (_setting == null) + { + return; + } + toggle.SetIsOnWithoutNotify(_setting.ApplyMode == ApplyMode.OnSave ? _setting.StagedValue : _setting.Value); + } + + private void OnToggleChanged(bool value) + { + _setting.Value = value; + ValueEdited?.Invoke(); + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta new file mode 100644 index 00000000..a76dfef3 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b777d5528cc25494c8f6d7222907e78b \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs new file mode 100644 index 00000000..922738df --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +namespace Warlogic.Settings.Ugui +{ + public sealed class ToggleSettingWidgetFactory : ISettingWidgetFactory + { + private readonly ToggleSettingWidget _prefab; + + public ToggleSettingWidgetFactory(ToggleSettingWidget prefab) + { + _prefab = prefab; + } + + public ISettingWidget Create(ISetting setting, Transform parent) + { + if (!(setting is ISetting boolSetting)) + { + return null; + } + ToggleSettingWidget widget = Object.Instantiate(_prefab, parent); + widget.Bind(boolSetting); + return widget; + } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta new file mode 100644 index 00000000..646dc496 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 07ed8ee32454b4b46ab8202b5f83b6e9 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef b/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef new file mode 100644 index 00000000..c1ff1d87 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef @@ -0,0 +1,13 @@ +{ + "name": "Warlogic.Settings.Ugui", + "rootNamespace": "Warlogic.Settings.Ugui", + "references": [ + "Warlogic.Settings", + "Unity.TextMeshPro" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "autoReferenced": true, + "noEngineReferences": false +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta b/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta new file mode 100644 index 00000000..a1cb1cac --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b15e588a65e8f2542935802fb059504c +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/package.json b/Packages/com.warlogic.settings.ugui/package.json new file mode 100644 index 00000000..5222ab44 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/package.json @@ -0,0 +1,15 @@ +{ + "name": "com.warlogic.settings.ugui", + "displayName": "Warlogic Settings uGUI", + "version": "0.1.0", + "description": "uGUI widgets and unified settings window built on the Warlogic.Settings core registry.", + "unity": "2021.3", + "dependencies": { + "com.warlogic.settings": "0.1.0" + }, + "author": { + "name": "Maciej Cyranowicz", + "url": "https://github.com/Warlander" + }, + "license": "MIT" +} diff --git a/Packages/com.warlogic.settings.ugui/package.json.meta b/Packages/com.warlogic.settings.ugui/package.json.meta new file mode 100644 index 00000000..a30309de --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 454d4caba24c09a41a094970f18ed48e +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 0ed59ac7..c841bf7f 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -387,6 +387,14 @@ "source": "embedded", "dependencies": {} }, + "com.warlogic.settings.ugui": { + "version": "file:com.warlogic.settings.ugui", + "depth": 0, + "source": "embedded", + "dependencies": { + "com.warlogic.settings": "0.1.0" + } + }, "com.warlogic.utils.markdown": { "version": "1.2.0", "depth": 1, From d9327709286b44c87badd0a830445bc2267d9392 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sat, 5 Sep 2026 23:44:46 +0200 Subject: [PATCH 07/18] KeybindSetting + rebind row widget, group headers, keybinds tab sample (settings overhaul chunk 4) --- .../Prefabs/Settings/KeybindSettingRow.prefab | 14 + .../Resources/Windows/SettingsWindow.prefab | 522 ++++++++++++++++++ .../Deedplanner/Editing/Menu/MenuUpdater.cs | 45 +- .../Deedplanner/Settings/KeybindSetting.cs | 111 ++++ .../Settings/KeybindSetting.cs.meta | 2 + .../Ui/Widgets/KeybindSettingWidget.cs | 62 +++ .../Ui/Widgets/KeybindSettingWidget.cs.meta | 2 + .../Ui/Widgets/KeybindSettingWidgetFactory.cs | 27 + .../KeybindSettingWidgetFactory.cs.meta | 2 + .../Deedplanner/Ui/Windows/IRebindOverlay.cs | 8 + .../Ui/Windows/IRebindOverlay.cs.meta | 2 + .../Ui/Windows/SettingsWindowView.cs | 61 +- .../Runtime/IGroupedSetting.cs | 11 + .../Runtime/IGroupedSetting.cs.meta | 2 + .../Runtime/SettingsWindowPresenter.cs | 36 +- 15 files changed, 895 insertions(+), 12 deletions(-) create mode 100644 Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs create mode 100644 Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs create mode 100644 Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs create mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs.meta create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs create mode 100644 Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta diff --git a/Assets/Prefabs/Settings/KeybindSettingRow.prefab b/Assets/Prefabs/Settings/KeybindSettingRow.prefab index a5a9edab..e7017866 100644 --- a/Assets/Prefabs/Settings/KeybindSettingRow.prefab +++ b/Assets/Prefabs/Settings/KeybindSettingRow.prefab @@ -12,6 +12,7 @@ GameObject: - component: {fileID: 7252380099658977099} - component: {fileID: 1632226564635061043} - component: {fileID: 7737537809639680212} + - component: {fileID: 2543550732368668777} m_Layer: 0 m_Name: KeybindSettingRow m_TagString: Untagged @@ -102,6 +103,19 @@ MonoBehaviour: actionLabelText: {fileID: 2191032026728747673} bindingText: {fileID: 2302777607111060259} rebindButton: {fileID: 3515222119924470942} +--- !u!114 &2543550732368668777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2438347310019379843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f14b27b6eea170a418e123524f7633c0, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Warlander.Deedplanner.Ui.Widgets.KeybindSettingWidget + _row: {fileID: 7737537809639680212} --- !u!1 &2528674810541638133 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Windows/SettingsWindow.prefab b/Assets/Resources/Windows/SettingsWindow.prefab index 080493c2..8644f579 100644 --- a/Assets/Resources/Windows/SettingsWindow.prefab +++ b/Assets/Resources/Windows/SettingsWindow.prefab @@ -172,6 +172,143 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &2990279464871175155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62633530804728062} + - component: {fileID: 2293572207266667255} + - component: {fileID: 4348796483258295081} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &62633530804728062 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2990279464871175155} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 82831744913804045} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2293572207266667255 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2990279464871175155} + m_CullTransparentMesh: 0 +--- !u!114 &4348796483258295081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2990279464871175155} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Reset Bindings + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4289192176 + m_fontColor: {r: 0.9411765, g: 0.8784314, b: 0.654902, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 10 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 10 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &3016052289696620226 GameObject: m_ObjectHideFlags: 0 @@ -201,6 +338,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 82831744913804045} - {fileID: 2857280697999477655} - {fileID: 7602015390913140097} m_Father: {fileID: 4196071748104660636} @@ -446,6 +584,374 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &7909038383731548908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9057644232118787716} + - component: {fileID: 8399614801152940436} + - component: {fileID: 8951244324230463028} + - component: {fileID: 9005857158139872364} + m_Layer: 0 + m_Name: Rebind Overlay + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &9057644232118787716 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7909038383731548908} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4331836258491846827} + m_Father: {fileID: 8316648787701633431} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8399614801152940436 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7909038383731548908} + m_CullTransparentMesh: 1 +--- !u!114 &8951244324230463028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7909038383731548908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.75} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!225 &9005857158139872364 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7909038383731548908} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &8384216386582139220 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 82831744913804045} + - component: {fileID: 6525343859756265950} + - component: {fileID: 6746802430815531850} + - component: {fileID: 4453074103217388459} + - component: {fileID: 7393944488786769132} + m_Layer: 5 + m_Name: Reset Bindings Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &82831744913804045 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8384216386582139220} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 62633530804728062} + m_Father: {fileID: 171632431509917173} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6525343859756265950 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8384216386582139220} + m_CullTransparentMesh: 0 +--- !u!114 &6746802430815531850 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8384216386582139220} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 7 +--- !u!114 &4453074103217388459 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8384216386582139220} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6746802430815531850} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &7393944488786769132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8384216386582139220} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 150 + m_PreferredHeight: 40 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &9075020714366021526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4331836258491846827} + - component: {fileID: 4467801282974137425} + - component: {fileID: 4344807477244121419} + m_Layer: 0 + m_Name: Rebind Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4331836258491846827 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9075020714366021526} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9057644232118787716} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4467801282974137425 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9075020714366021526} + m_CullTransparentMesh: 1 +--- !u!114 &4344807477244121419 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9075020714366021526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Waiting for input to rebind + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 28 + m_fontSizeBase: 28 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &9193962494916097832 GameObject: m_ObjectHideFlags: 0 @@ -989,6 +1495,10 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + insertIndex: -1 + addedObject: {fileID: 9057644232118787716} - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, type: 3} insertIndex: -1 @@ -1051,9 +1561,21 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::Warlander.Deedplanner.Ui.Windows.SettingsWindowView tabButtonRoot: {fileID: 3203517312880287328} contentRoot: {fileID: 4002910279517478709} + contentScrollRect: {fileID: 6895468102910876427} saveButton: {fileID: 7602015390913140096} discardButton: {fileID: 2857280697999477654} + resetBindingsButton: {fileID: 4453074103217388459} widgetCatalog: {fileID: 5144977707028106730} + keybindRowPrefab: {fileID: 2543550732368668777, guid: e9a2fa1d87e9ef84e90cdc4898dc06a9, + type: 3} + rebindFade: {fileID: 9005857158139872364} + rebindText: {fileID: 4344807477244121419} +--- !u!224 &8316648787701633431 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, + type: 3} + m_PrefabInstance: {fileID: 3052221581828853824} + m_PrefabAsset: {fileID: 0} --- !u!1001 &6840550587065449865 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs index 4d0ac0e7..9af590c8 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs @@ -6,12 +6,15 @@ using UnityEditor; using UnityEngine; +using UnityEngine.InputSystem; using Warlander.Deedplanner.Domain; +using Warlander.Deedplanner.Inputs; using Warlander.Deedplanner.Ui; using Warlander.Deedplanner.Ui.Home; using Warlander.Deedplanner.Persistence; using Warlander.Deedplanner.Settings; using Warlander.Deedplanner.Platform.Steam; +using InputSettings = Warlander.Deedplanner.Settings.InputSettings; using Warlander.Deedplanner.Ui.Windows; using Warlander.UI.Windows; using Warlogic.Settings; @@ -28,12 +31,15 @@ public class MenuUpdater : IUpdater private readonly ISaveCoordinator _saveCoordinator; private readonly MapHandler _mapHandler; private readonly IHomeScreenPresenter _homeScreenPresenter; + private readonly DPInput _input; + private readonly InputSettings _inputSettings; public Tab TargetTab => Tab.Menu; public MenuUpdater(IMenuUpdaterView view, DPSettings settings, WindowCoordinator windowCoordinator, ISteamConnection steamConnection, TabContext tabContext, - ISaveCoordinator saveCoordinator, MapHandler mapHandler, IHomeScreenPresenter homeScreenPresenter) + ISaveCoordinator saveCoordinator, MapHandler mapHandler, IHomeScreenPresenter homeScreenPresenter, + DPInput input, InputSettings inputSettings) { _view = view; _settings = settings; @@ -43,6 +49,8 @@ public MenuUpdater(IMenuUpdaterView view, DPSettings settings, WindowCoordinator _saveCoordinator = saveCoordinator; _mapHandler = mapHandler; _homeScreenPresenter = homeScreenPresenter; + _input = input; + _inputSettings = inputSettings; } public void Initialize() @@ -200,11 +208,46 @@ private void OpenNewSettingsWindow() graphicsTab.Add(new FloatSetting("guiScale", "GUI Scale", 1.0f, 0.5f, 2.0f, "Scales the whole user interface.", ApplyMode.OnSave)); graphicsTab.Add(new BoolSetting("shadows", "Shadows", true, null, ApplyMode.OnSave)); graphicsTab.Add(new EnumSetting("waterQuality", "Water Quality", WaterQuality.High, null, ApplyMode.OnSave)); + AddSampleKeybindsTab(registry); Window window = _windowCoordinator.CreateWindowExclusive(WindowNames.SettingsWindow); window.GetComponent().Initialize(registry); } + // TEMP chunk 4 sample: real keybind rows, replaced by the full keybind declaration in chunk 5 + private void AddSampleKeybindsTab(SettingsRegistry registry) + { + SettingsTab keybindsTab = registry.AddTab("keybinds", "Keybinds"); + foreach (InputActionMap actionMap in _input.asset.actionMaps) + { + // UI map stays non-rebindable so the user can't lock themselves out of the UI + if (actionMap == _input.UI.Submit.actionMap) + { + continue; + } + + foreach (InputAction action in actionMap.actions) + { + for (int i = 0; i < action.bindings.Count; i++) + { + InputBinding binding = action.bindings[i]; + if (binding.isComposite) + { + continue; + } + + keybindsTab.Add(new KeybindSetting(action, i, _inputSettings)); + + if (!binding.isPartOfComposite) + { + // standalone actions show only their first binding + break; + } + } + } + } + } + private void ToggleFullscreen() { if (Screen.fullScreen) diff --git a/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs new file mode 100644 index 00000000..2128b7c5 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs @@ -0,0 +1,111 @@ +using System; +using UnityEngine.InputSystem; +using Warlogic.Settings; +using Warlogic.Settings.Ugui; + +namespace Warlander.Deedplanner.Settings +{ + /// + /// Setting wrapping one Input System binding. Value is the effective binding path. + /// Persistence goes through InputSettings (JSON binding overrides) until the store migration chunk. + /// + public sealed class KeybindSetting : ISetting, IGroupedSetting + { + private readonly InputAction _action; + private readonly int _bindingIndex; + private readonly InputSettings _inputSettings; + + public string Key { get; } + public string Label { get; } + public string Group { get; } + public string Description => null; + public ApplyMode ApplyMode => ApplyMode.Immediate; + public bool IsDirty => false; + + public event Action Changed; + + public KeybindSetting(InputAction action, int bindingIndex, InputSettings inputSettings) + { + _action = action; + _bindingIndex = bindingIndex; + _inputSettings = inputSettings; + + Group = action.actionMap.name; + Key = $"keybind.{action.actionMap.name}.{action.name}.{bindingIndex}"; + Label = ComputeLabel(); + + _inputSettings.SettingsReset += OnSettingsReset; + } + + public string Value + { + get => _action.bindings[_bindingIndex].effectivePath; + set + { + _action.ApplyBindingOverride(_bindingIndex, value); + _inputSettings.Save(); + Changed?.Invoke(); + } + } + + public string StagedValue + { + get => Value; + set => Value = value; + } + + public string DefaultValue => _action.bindings[_bindingIndex].path; + + public string DisplayString => _action.bindings[_bindingIndex].ToDisplayString(); + + public void Commit() { } + + public void Revert() { } + + public bool IsEnabled() + { + return true; + } + + public void ResetToDefault() + { + _action.RemoveBindingOverride(_bindingIndex); + _inputSettings.Save(); + Changed?.Invoke(); + } + + public void PerformInteractiveRebind(Action onSuccess, Action onCancel) + { + _action.Disable(); + + _action.PerformInteractiveRebinding(_bindingIndex).OnComplete(operation => + { + operation.Dispose(); + _action.Enable(); + _inputSettings.Save(); + Changed?.Invoke(); + onSuccess?.Invoke(); + }).OnCancel(operation => + { + operation.Dispose(); + _action.Enable(); + onCancel?.Invoke(); + }).Start(); + } + + private string ComputeLabel() + { + string bindingName = _action.bindings[_bindingIndex].name; + if (string.IsNullOrEmpty(bindingName) == false) + { + return $"{_action.name} ({bindingName})"; + } + return _action.name; + } + + private void OnSettingsReset() + { + Changed?.Invoke(); + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs.meta b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs.meta new file mode 100644 index 00000000..935e4483 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ae5da0154fc20814ca5eab1343829633 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs new file mode 100644 index 00000000..3373bdbb --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs @@ -0,0 +1,62 @@ +using System; +using UnityEngine; +using Warlander.Deedplanner.Settings; +using Warlander.Deedplanner.Ui.Windows; +using Warlogic.Settings.Ugui; + +namespace Warlander.Deedplanner.Ui.Widgets +{ + public sealed class KeybindSettingWidget : MonoBehaviour, ISettingWidget + { + [SerializeField] private KeybindSettingRow _row; + + private KeybindSetting _setting; + private IRebindOverlay _overlay; + + public event Action ValueEdited; + + public RectTransform Root => (RectTransform) transform; + + private void Awake() + { + _row.RebindButton.onClick.AddListener(OnRebindClick); + } + + public void Bind(KeybindSetting setting, IRebindOverlay overlay) + { + _setting = setting; + _overlay = overlay; + _setting.Changed += Refresh; + Refresh(); + } + + public void Refresh() + { + if (_setting == null) + { + return; + } + _row.SetLabels(_setting.Label, _setting.DisplayString); + } + + private void OnRebindClick() + { + _overlay.ShowRebind(_setting.Label); + _setting.PerformInteractiveRebind( + () => + { + _overlay.HideRebind(); + ValueEdited?.Invoke(); + }, + () => _overlay.HideRebind()); + } + + private void OnDestroy() + { + if (_setting != null) + { + _setting.Changed -= Refresh; + } + } + } +} diff --git a/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs.meta b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs.meta new file mode 100644 index 00000000..04914fab --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f14b27b6eea170a418e123524f7633c0 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs new file mode 100644 index 00000000..097c93e8 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs @@ -0,0 +1,27 @@ +using UnityEngine; +using Warlander.Deedplanner.Settings; +using Warlander.Deedplanner.Ui.Windows; +using Warlogic.Settings; +using Warlogic.Settings.Ugui; + +namespace Warlander.Deedplanner.Ui.Widgets +{ + public sealed class KeybindSettingWidgetFactory : ISettingWidgetFactory + { + private readonly KeybindSettingWidget _prefab; + private readonly IRebindOverlay _overlay; + + public KeybindSettingWidgetFactory(KeybindSettingWidget prefab, IRebindOverlay overlay) + { + _prefab = prefab; + _overlay = overlay; + } + + public ISettingWidget Create(ISetting setting, Transform parent) + { + KeybindSettingWidget widget = Object.Instantiate(_prefab, parent); + widget.Bind((KeybindSetting) setting, _overlay); + return widget; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs.meta b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs.meta new file mode 100644 index 00000000..97cdd95c --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidgetFactory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cff4de56c64baf84090d7bb6abd77af2 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs b/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs new file mode 100644 index 00000000..b40933a0 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs @@ -0,0 +1,8 @@ +namespace Warlander.Deedplanner.Ui.Windows +{ + public interface IRebindOverlay + { + void ShowRebind(string bindingLabel); + void HideRebind(); + } +} diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs.meta b/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs.meta new file mode 100644 index 00000000..4439bda3 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5715bb316366be04d84a33fcd22a50b4 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs index 57464a72..02cb44fc 100644 --- a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs +++ b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs @@ -1,18 +1,34 @@ using System; +using System.Linq; +using DG.Tweening; +using TMPro; using UnityEngine; using UnityEngine.UI; +using VContainer; +using Warlander.Deedplanner.Settings; +using Warlander.Deedplanner.Ui.Widgets; using Warlogic.Settings; using Warlogic.Settings.Ugui; namespace Warlander.Deedplanner.Ui.Windows { - public class SettingsWindowView : MonoBehaviour, ISettingsWindowView + public class SettingsWindowView : MonoBehaviour, ISettingsWindowView, IRebindOverlay { [SerializeField] private RectTransform tabButtonRoot; [SerializeField] private RectTransform contentRoot; + [SerializeField] private ScrollRect contentScrollRect; [SerializeField] private Button saveButton; [SerializeField] private Button discardButton; + [SerializeField] private Button resetBindingsButton; [SerializeField] private SettingsWidgetCatalog widgetCatalog; + [SerializeField] private KeybindSettingWidget keybindRowPrefab; + [SerializeField] private CanvasGroup rebindFade; + [SerializeField] private TMP_Text rebindText; + + [Inject] private InputSettings _inputSettings; + + private SettingsWindowPresenter _presenter; + private SettingsRegistry _registry; public event Action SaveClicked; public event Action DiscardClicked; @@ -24,11 +40,20 @@ private void Awake() { saveButton.onClick.AddListener(() => SaveClicked?.Invoke()); discardButton.onClick.AddListener(() => DiscardClicked?.Invoke()); + resetBindingsButton.onClick.AddListener(ResetBindingsOnClick); + + rebindFade.gameObject.SetActive(false); + resetBindingsButton.gameObject.SetActive(false); } public SettingsWindowPresenter Initialize(SettingsRegistry registry) { - return new SettingsWindowPresenter(registry, widgetCatalog, this); + _registry = registry; + widgetCatalog.RegisterFactory(typeof(KeybindSetting), new KeybindSettingWidgetFactory(keybindRowPrefab, this)); + _presenter = new SettingsWindowPresenter(registry, widgetCatalog, this); + _presenter.ActiveTabChanged += OnActiveTabChanged; + OnActiveTabChanged(registry.Tabs[0].Id); + return _presenter; } public void SetSaveInteractable(bool interactable) @@ -40,5 +65,37 @@ public void SetDiscardInteractable(bool interactable) { discardButton.interactable = interactable; } + + public void ShowRebind(string bindingLabel) + { + rebindText.text = $"Waiting for input to rebind\n\n{bindingLabel}"; + contentScrollRect.enabled = false; + rebindFade.gameObject.SetActive(true); + rebindFade.alpha = 0; + rebindFade.DOFade(1, 0.15f); + } + + public void HideRebind() + { + contentScrollRect.enabled = true; + rebindFade.DOFade(0, 0.15f).OnComplete(() => rebindFade.gameObject.SetActive(false)); + } + + private void OnActiveTabChanged(string tabId) + { + SettingsTab tab = _registry.Tabs.First(t => t.Id == tabId); + bool hasKeybinds = tab.Settings.Any(s => s is KeybindSetting); + resetBindingsButton.gameObject.SetActive(hasKeybinds); + } + + private void ResetBindingsOnClick() + { + _inputSettings.Reset(); + } + + private void OnDestroy() + { + rebindFade.DOKill(); + } } } diff --git a/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs b/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs new file mode 100644 index 00000000..45a06e54 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs @@ -0,0 +1,11 @@ +namespace Warlogic.Settings.Ugui +{ + /// + /// Optional setting marker: settings with the same consecutive Group value get a group header + /// inserted before them when tab content is built. + /// + public interface IGroupedSetting + { + string Group { get; } + } +} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta new file mode 100644 index 00000000..54c55d13 --- /dev/null +++ b/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ccf0bac1fcae3f746b8320c721053787 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs index f404cede..62877013 100644 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs +++ b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs @@ -1,19 +1,27 @@ using System; using System.Collections.Generic; using System.Linq; +using UnityEngine; namespace Warlogic.Settings.Ugui { public sealed class SettingsWindowPresenter { + private sealed class TabContent + { + public readonly List Widgets = new List(); + public readonly List Roots = new List(); + } + private readonly SettingsRegistry _registry; private readonly SettingsWidgetCatalog _catalog; private readonly ISettingsWindowView _view; - private readonly Dictionary> _widgetsByTab = new Dictionary>(); + private readonly Dictionary _contentByTab = new Dictionary(); private readonly Dictionary _tabButtons = new Dictionary(); private string _activeTabId; public event Action TabContentBuilt; + public event Action ActiveTabChanged; public SettingsWindowPresenter(SettingsRegistry registry, SettingsWidgetCatalog catalog, ISettingsWindowView view) { @@ -32,7 +40,7 @@ public SettingsWindowPresenter(SettingsRegistry registry, SettingsWidgetCatalog public bool IsTabBuilt(string tabId) { - return _widgetsByTab.ContainsKey(tabId); + return _contentByTab.ContainsKey(tabId); } public void SelectTab(string tabId) @@ -53,6 +61,7 @@ public void SelectTab(string tabId) } SetTabContentVisible(tabId, true); _tabButtons[tabId].SetSelected(true); + ActiveTabChanged?.Invoke(tabId); } private void BuildTabButtons() @@ -70,9 +79,17 @@ private void BuildTabButtons() private void BuildTabContent(string tabId) { SettingsTab tab = _registry.Tabs.First(t => t.Id == tabId); - var widgets = new List(); + var content = new TabContent(); + string currentGroup = null; foreach (ISetting setting in tab.Settings) { + if (setting is IGroupedSetting grouped && grouped.Group != currentGroup) + { + currentGroup = grouped.Group; + SettingsGroupHeader header = _catalog.CreateGroupHeader(currentGroup, _view.ContentRoot); + content.Roots.Add(header.gameObject); + header.gameObject.SetActive(false); + } ISettingWidget widget = _catalog.CreateWidget(setting, _view.ContentRoot); if (widget == null) { @@ -80,17 +97,18 @@ private void BuildTabContent(string tabId) } widget.ValueEdited += RefreshFooter; widget.Root.gameObject.SetActive(false); - widgets.Add(widget); + content.Widgets.Add(widget); + content.Roots.Add(widget.Root.gameObject); } - _widgetsByTab[tabId] = widgets; + _contentByTab[tabId] = content; TabContentBuilt?.Invoke(tabId); } private void SetTabContentVisible(string tabId, bool visible) { - foreach (ISettingWidget widget in _widgetsByTab[tabId]) + foreach (GameObject root in _contentByTab[tabId].Roots) { - widget.Root.gameObject.SetActive(visible); + root.SetActive(visible); } } @@ -118,9 +136,9 @@ private void DiscardAll() setting.Revert(); } } - foreach (List widgets in _widgetsByTab.Values) + foreach (TabContent content in _contentByTab.Values) { - foreach (ISettingWidget widget in widgets) + foreach (ISettingWidget widget in content.Widgets) { widget.Refresh(); } From 0c4640fd774bed2aa5d040c446713ae24fc4106a Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 00:05:57 +0200 Subject: [PATCH 08/18] Declare all settings in code, translator classes, retire DPSettings (settings overhaul chunk 5) --- Assets/KSunyo/CompassManager.cs | 2 +- .../Cameras/FppCameraController.cs | 6 +- .../Cameras/IsoCameraController.cs | 6 +- .../Cameras/TopCameraController.cs | 6 +- .../Composition/MainSceneLifetimeScope.cs | 1 + .../Composition/ProjectLifetimeScope.cs | 8 +- .../Editing/Decoration/DecorationUpdater.cs | 22 ++--- .../Editing/Height/HeightUpdater.cs | 14 +-- .../Deedplanner/Editing/Menu/MenuUpdater.cs | 65 +------------ .../Deedplanner/Editing/Wall/WallUpdater.cs | 14 +-- .../Rendering/Water/WaterController.cs | 10 +- .../Rendering/Water/WaterFacade.cs | 6 +- .../Rendering/Water/WaterSettingsApplier.cs | 14 +-- .../Screenshots/ScreenshotRenderer.cs | 12 +-- .../Deedplanner/Settings/CameraSettings.cs | 37 ++++++++ .../Settings/CameraSettings.cs.meta | 2 + .../Deedplanner/Settings/DPSettings.cs | 86 ----------------- .../Deedplanner/Settings/DPSettings.cs.meta | 3 - .../Settings/DeedPlannerSettings.cs | 92 +++++++++++++++++++ .../Settings/DeedPlannerSettings.cs.meta | 2 + .../Deedplanner/Settings/EditingSettings.cs | 72 +++++++++++++++ .../Settings/EditingSettings.cs.meta | 2 + .../Deedplanner/Settings/GraphicsOptions.cs | 47 ++++++++++ .../Settings/GraphicsOptions.cs.meta | 2 + .../Settings/KeybindSettingsRegistrar.cs | 59 ++++++++++++ .../Settings/KeybindSettingsRegistrar.cs.meta | 2 + .../Deedplanner/Settings/QualityLevel.cs | 15 +++ .../Deedplanner/Settings/QualityLevel.cs.meta | 2 + .../Settings/QualityLevelApplier.cs | 40 ++++++++ .../Settings/QualityLevelApplier.cs.meta | 2 + .../Deedplanner/Settings/SettingsFactory.cs | 55 ----------- .../Settings/SettingsFactory.cs.meta | 3 - .../Deedplanner/Settings/UiSettings.cs | 35 +++++++ .../Deedplanner/Settings/UiSettings.cs.meta | 2 + .../Deedplanner/Ui/CanvasGuiScaler.cs | 13 +-- .../Ui/Home/HomeScreenPresenter.cs | 6 +- .../Ui/Windows/GraphicSettingsWindow.cs | 51 ++++------ 37 files changed, 497 insertions(+), 319 deletions(-) create mode 100644 Assets/Warlander/Deedplanner/Settings/CameraSettings.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/CameraSettings.cs.meta delete mode 100644 Assets/Warlander/Deedplanner/Settings/DPSettings.cs delete mode 100644 Assets/Warlander/Deedplanner/Settings/DPSettings.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/EditingSettings.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/EditingSettings.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/QualityLevel.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/QualityLevel.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs.meta delete mode 100644 Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs delete mode 100644 Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/UiSettings.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/UiSettings.cs.meta diff --git a/Assets/KSunyo/CompassManager.cs b/Assets/KSunyo/CompassManager.cs index 11ac405d..edd3ed56 100644 --- a/Assets/KSunyo/CompassManager.cs +++ b/Assets/KSunyo/CompassManager.cs @@ -8,7 +8,7 @@ namespace KSunyo { public class CompassManager : MonoBehaviour { - [Inject] private DPSettings _settings; + [Inject] private UiSettings _settings; [Inject] private IInterfaceVisibility _interfaceVisibility; [SerializeField] private Transform cameraTransform; diff --git a/Assets/Warlander/Deedplanner/Cameras/FppCameraController.cs b/Assets/Warlander/Deedplanner/Cameras/FppCameraController.cs index fb294f52..89f50af5 100644 --- a/Assets/Warlander/Deedplanner/Cameras/FppCameraController.cs +++ b/Assets/Warlander/Deedplanner/Cameras/FppCameraController.cs @@ -11,10 +11,10 @@ namespace Warlander.Deedplanner.Cameras { public class FppCameraController : ICameraController { - private readonly DPSettings _settings; + private readonly CameraSettings _settings; private readonly DPInput _input; - - public FppCameraController(DPSettings settings, DPInput input) + + public FppCameraController(CameraSettings settings, DPInput input) { _settings = settings; _input = input; diff --git a/Assets/Warlander/Deedplanner/Cameras/IsoCameraController.cs b/Assets/Warlander/Deedplanner/Cameras/IsoCameraController.cs index 24e8812c..8b3bde74 100644 --- a/Assets/Warlander/Deedplanner/Cameras/IsoCameraController.cs +++ b/Assets/Warlander/Deedplanner/Cameras/IsoCameraController.cs @@ -10,10 +10,10 @@ namespace Warlander.Deedplanner.Cameras { public class IsoCameraController : ICameraController { - private readonly DPSettings _settings; + private readonly CameraSettings _settings; private readonly DPInput _input; - - public IsoCameraController(DPSettings settings, DPInput input) + + public IsoCameraController(CameraSettings settings, DPInput input) { _settings = settings; _input = input; diff --git a/Assets/Warlander/Deedplanner/Cameras/TopCameraController.cs b/Assets/Warlander/Deedplanner/Cameras/TopCameraController.cs index d1d0a1ab..9b6a4684 100644 --- a/Assets/Warlander/Deedplanner/Cameras/TopCameraController.cs +++ b/Assets/Warlander/Deedplanner/Cameras/TopCameraController.cs @@ -9,10 +9,10 @@ namespace Warlander.Deedplanner.Cameras { public class TopCameraController : ICameraController { - private readonly DPSettings _settings; + private readonly CameraSettings _settings; private readonly DPInput _input; - - public TopCameraController(DPSettings settings, DPInput input) + + public TopCameraController(CameraSettings settings, DPInput input) { _settings = settings; _input = input; diff --git a/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs b/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs index c6f93c58..a553eee6 100644 --- a/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs +++ b/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs @@ -115,6 +115,7 @@ protected override void Configure(IContainerBuilder builder) builder.RegisterInstance(input); builder.RegisterEntryPoint().AsSelf(); + builder.RegisterEntryPoint(); builder.Register(Lifetime.Singleton).AsImplementedInterfaces().AsSelf(); builder.Register(Lifetime.Singleton); diff --git a/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs b/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs index 86e38ba4..2f3456fb 100644 --- a/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs +++ b/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs @@ -39,7 +39,13 @@ protected override void Configure(IContainerBuilder builder) CrashReportHandler.enableCaptureExceptions = false; } - builder.RegisterInstance(new SettingsFactory(loggerSource).Create()); + var settings = DeedPlannerSettings.Create(); + builder.RegisterInstance(settings.Registry); + builder.RegisterInstance(settings.Camera); + builder.RegisterInstance(settings.Editing); + builder.RegisterInstance(settings.Ui); + builder.RegisterInstance(settings.Graphics); + builder.RegisterEntryPoint(); builder.Register(Lifetime.Singleton).AsSelf().As(); diff --git a/Assets/Warlander/Deedplanner/Editing/Decoration/DecorationUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Decoration/DecorationUpdater.cs index cfc61b6f..1d139159 100644 --- a/Assets/Warlander/Deedplanner/Editing/Decoration/DecorationUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Decoration/DecorationUpdater.cs @@ -26,7 +26,7 @@ public class DecorationUpdater : IUpdater private const float CornerSnapDistance = 0.25f; private readonly IDecorationUpdaterView _view; - private readonly DPSettings _settings; + private readonly EditingSettings _settings; private readonly CameraCoordinator _cameraCoordinator; private readonly DPInput _input; private readonly MapHandler _mapHandler; @@ -56,7 +56,7 @@ public class DecorationUpdater : IUpdater private bool _isScrollRotate = false; - public DecorationUpdater(IDecorationUpdaterView view, DPSettings settings, CameraCoordinator cameraCoordinator, + public DecorationUpdater(IDecorationUpdaterView view, EditingSettings settings, CameraCoordinator cameraCoordinator, DPInput input, MapHandler mapHandler, IOutlineCoordinator outlineCoordinator, ISharedMaterials sharedMaterials, TabContext tabContext, ILoggerSource loggerSource, PreviewAtlasCatalog previewAtlasCatalog, IDataCatalog dataCatalog) @@ -95,7 +95,7 @@ public void Initialize() } } - _rotationSensitivity = _settings.DecorationRotationSensitivity; + _rotationSensitivity = _settings.DecorationRotationSensitivity.ToString(CultureInfo.InvariantCulture); _rotationSnapping = _settings.DecorationRotationSnapping; _view.SetRotationSensitivity(_rotationSensitivity); @@ -116,28 +116,20 @@ private void OnDecorationSelected(DecorationData data) private void OnSnapToGridChanged(bool value) { - _settings.Modify(settings => - { - settings.DecorationSnapToGrid = value; - }); + _settings.DecorationSnapToGrid = value; } private void OnRotationSnappingChanged(bool value) { _rotationSnapping = value; - _settings.Modify(settings => - { - settings.DecorationRotationSnapping = value; - }); + _settings.DecorationRotationSnapping = value; } private void OnRotationSensitivityChanged(string value) { _rotationSensitivity = value; - _settings.Modify(settings => - { - settings.DecorationRotationSensitivity = value; - }); + float.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out float parsed); + _settings.DecorationRotationSensitivity = parsed; } public void Tick() diff --git a/Assets/Warlander/Deedplanner/Editing/Height/HeightUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Height/HeightUpdater.cs index 9600be0b..56127d14 100644 --- a/Assets/Warlander/Deedplanner/Editing/Height/HeightUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Height/HeightUpdater.cs @@ -22,7 +22,7 @@ public class HeightUpdater : IUpdater private readonly IHeightUpdaterView _view; private readonly TooltipHandler _tooltipHandler; - private readonly DPSettings _settings; + private readonly EditingSettings _settings; private readonly CameraCoordinator _cameraCoordinator; private readonly DPInput _input; private readonly MapHandler _mapHandler; @@ -54,7 +54,7 @@ public class HeightUpdater : IUpdater private bool ComplexSelectionEnabled => mode != HeightMode.PaintTerrain; - public HeightUpdater(IHeightUpdaterView view, TooltipHandler tooltipHandler, DPSettings settings, + public HeightUpdater(IHeightUpdaterView view, TooltipHandler tooltipHandler, EditingSettings settings, CameraCoordinator cameraCoordinator, DPInput input, MapHandler mapHandler, IMapProjectorFacade mapProjectorFacade, TabContext tabContext) { @@ -100,19 +100,13 @@ private void OnDragSensitivityChanged(string value) _dragSensitivity = value; float.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out float dragSensitivity); - _settings.Modify(settings => - { - settings.HeightDragSensitivity = dragSensitivity; - }); + _settings.HeightDragSensitivity = dragSensitivity; } private void OnRespectOriginalSlopesChanged(bool value) { _respectOriginalSlopes = value; - _settings.Modify(settings => - { - settings.HeightRespectOriginalSlopes = value; - }); + _settings.HeightRespectOriginalSlopes = value; } private void OnTargetHeightChanged(string value) diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs index 9af590c8..e028b1eb 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs @@ -6,15 +6,11 @@ using UnityEditor; using UnityEngine; -using UnityEngine.InputSystem; using Warlander.Deedplanner.Domain; -using Warlander.Deedplanner.Inputs; using Warlander.Deedplanner.Ui; using Warlander.Deedplanner.Ui.Home; using Warlander.Deedplanner.Persistence; -using Warlander.Deedplanner.Settings; using Warlander.Deedplanner.Platform.Steam; -using InputSettings = Warlander.Deedplanner.Settings.InputSettings; using Warlander.Deedplanner.Ui.Windows; using Warlander.UI.Windows; using Warlogic.Settings; @@ -24,33 +20,28 @@ namespace Warlander.Deedplanner.Editing public class MenuUpdater : IUpdater { private readonly IMenuUpdaterView _view; - private readonly DPSettings _settings; + private readonly SettingsRegistry _settingsRegistry; private readonly WindowCoordinator _windowCoordinator; private readonly ISteamConnection _steamConnection; private readonly TabContext _tabContext; private readonly ISaveCoordinator _saveCoordinator; private readonly MapHandler _mapHandler; private readonly IHomeScreenPresenter _homeScreenPresenter; - private readonly DPInput _input; - private readonly InputSettings _inputSettings; public Tab TargetTab => Tab.Menu; - public MenuUpdater(IMenuUpdaterView view, DPSettings settings, WindowCoordinator windowCoordinator, + public MenuUpdater(IMenuUpdaterView view, SettingsRegistry settingsRegistry, WindowCoordinator windowCoordinator, ISteamConnection steamConnection, TabContext tabContext, - ISaveCoordinator saveCoordinator, MapHandler mapHandler, IHomeScreenPresenter homeScreenPresenter, - DPInput input, InputSettings inputSettings) + ISaveCoordinator saveCoordinator, MapHandler mapHandler, IHomeScreenPresenter homeScreenPresenter) { _view = view; - _settings = settings; + _settingsRegistry = settingsRegistry; _windowCoordinator = windowCoordinator; _steamConnection = steamConnection; _tabContext = tabContext; _saveCoordinator = saveCoordinator; _mapHandler = mapHandler; _homeScreenPresenter = homeScreenPresenter; - _input = input; - _inputSettings = inputSettings; } public void Initialize() @@ -197,55 +188,10 @@ private void OnButtonClicked(MenuAction action) } } - // TEMP until chunk 5 wires the real registry: sample settings so the new window is browsable private void OpenNewSettingsWindow() { - var registry = new SettingsRegistry(); - SettingsTab generalTab = registry.AddTab("general", "General"); - SettingsTab graphicsTab = registry.AddTab("graphics", "Graphics"); - generalTab.Add(new IntSetting("fpsLimit", "FPS Limit", 60, 30, 240, "Caps the frame rate.", ApplyMode.OnSave)); - generalTab.Add(new BoolSetting("tooltips", "Tooltips", true, null, ApplyMode.OnSave)); - graphicsTab.Add(new FloatSetting("guiScale", "GUI Scale", 1.0f, 0.5f, 2.0f, "Scales the whole user interface.", ApplyMode.OnSave)); - graphicsTab.Add(new BoolSetting("shadows", "Shadows", true, null, ApplyMode.OnSave)); - graphicsTab.Add(new EnumSetting("waterQuality", "Water Quality", WaterQuality.High, null, ApplyMode.OnSave)); - AddSampleKeybindsTab(registry); - Window window = _windowCoordinator.CreateWindowExclusive(WindowNames.SettingsWindow); - window.GetComponent().Initialize(registry); - } - - // TEMP chunk 4 sample: real keybind rows, replaced by the full keybind declaration in chunk 5 - private void AddSampleKeybindsTab(SettingsRegistry registry) - { - SettingsTab keybindsTab = registry.AddTab("keybinds", "Keybinds"); - foreach (InputActionMap actionMap in _input.asset.actionMaps) - { - // UI map stays non-rebindable so the user can't lock themselves out of the UI - if (actionMap == _input.UI.Submit.actionMap) - { - continue; - } - - foreach (InputAction action in actionMap.actions) - { - for (int i = 0; i < action.bindings.Count; i++) - { - InputBinding binding = action.bindings[i]; - if (binding.isComposite) - { - continue; - } - - keybindsTab.Add(new KeybindSetting(action, i, _inputSettings)); - - if (!binding.isPartOfComposite) - { - // standalone actions show only their first binding - break; - } - } - } - } + window.GetComponent().Initialize(_settingsRegistry); } private void ToggleFullscreen() @@ -264,7 +210,6 @@ private void ToggleFullscreen() private async System.Threading.Tasks.Task QuitAsync() { await _saveCoordinator.PrepareForQuitAsync(); - _settings.Save(); #if UNITY_EDITOR EditorApplication.ExitPlaymode(); diff --git a/Assets/Warlander/Deedplanner/Editing/Wall/WallUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Wall/WallUpdater.cs index 8278cb34..ebb86a3c 100644 --- a/Assets/Warlander/Deedplanner/Editing/Wall/WallUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Wall/WallUpdater.cs @@ -14,7 +14,7 @@ namespace Warlander.Deedplanner.Editing public class WallUpdater : IUpdater { private readonly IWallUpdaterView _view; - private readonly DPSettings _settings; + private readonly EditingSettings _settings; private readonly CameraCoordinator _cameraCoordinator; private readonly DPInput _input; private readonly MapHandler _mapHandler; @@ -26,7 +26,7 @@ public class WallUpdater : IUpdater private WallData _selectedWall; - public WallUpdater(IWallUpdaterView view, DPSettings settings, CameraCoordinator cameraCoordinator, + public WallUpdater(IWallUpdaterView view, EditingSettings settings, CameraCoordinator cameraCoordinator, DPInput input, MapHandler mapHandler, TabContext tabContext, PreviewAtlasCatalog previewAtlasCatalog, IDataCatalog dataCatalog) { @@ -73,18 +73,12 @@ private void OnWallSelected(WallData data) private void OnReverseChanged(bool value) { - _settings.Modify(settings => - { - settings.WallReverse = value; - }); + _settings.WallReverse = value; } private void OnAutomaticReverseChanged(bool value) { - _settings.Modify(settings => - { - settings.WallAutomaticReverse = value; - }); + _settings.WallAutomaticReverse = value; } public void Tick() diff --git a/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs b/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs index 69df047e..91e273af 100644 --- a/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs +++ b/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs @@ -10,18 +10,18 @@ public class WaterController : IDisposable { private readonly WaterObjectContainer _container; private readonly WaterReflectionController _reflectionController; - private readonly DPSettings _settings; + private readonly GraphicsOptions _graphics; - public WaterController(WaterObjectContainer container, WaterReflectionController reflectionController, DPSettings settings) + public WaterController(WaterObjectContainer container, WaterReflectionController reflectionController, GraphicsOptions graphics) { _container = container; _reflectionController = reflectionController; - _settings = settings; + _graphics = graphics; } - + public void PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater) { - WaterQuality quality = _settings.WaterQuality; + WaterQuality quality = _graphics.WaterQuality; if (quality == WaterQuality.Ultra || quality == WaterQuality.High) { diff --git a/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs b/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs index 87c3ccb5..2e39409b 100644 --- a/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs +++ b/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs @@ -14,13 +14,13 @@ public class WaterFacade : IWaterFacade, IDisposable private readonly WaterController _waterController; private readonly WaterSettingsApplier _settingsApplier; - public WaterFacade(DPSettings settings) + public WaterFacade(GraphicsOptions graphics) { var loader = new WaterObjectLoader(); _objectContainer = new WaterObjectContainer(loader); _reflectionController = new WaterReflectionController(); - _waterController = new WaterController(_objectContainer, _reflectionController, settings); - _settingsApplier = new WaterSettingsApplier(_objectContainer, settings); + _waterController = new WaterController(_objectContainer, _reflectionController, graphics); + _settingsApplier = new WaterSettingsApplier(_objectContainer, graphics); } public void PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater) diff --git a/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs b/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs index 19c2b8e9..4b0995e4 100644 --- a/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs +++ b/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs @@ -6,7 +6,7 @@ namespace Warlander.Deedplanner.Rendering.Water { /// - /// Subscribes to DPSettings.Modified and keeps the PLANAR_REFLECTIONS shader keyword + /// Subscribes to GraphicsOptions.WaterQualityChanged and keeps the PLANAR_REFLECTIONS shader keyword /// in sync with the current water quality setting. /// Independent of WaterController — neither depends on the other. /// @@ -15,20 +15,20 @@ public class WaterSettingsApplier : IDisposable private static readonly string PlanarReflectionsKeyword = "PLANAR_REFLECTIONS"; private readonly WaterObjectContainer _container; - private readonly DPSettings _settings; + private readonly GraphicsOptions _graphics; - public WaterSettingsApplier(WaterObjectContainer container, DPSettings settings) + public WaterSettingsApplier(WaterObjectContainer container, GraphicsOptions graphics) { _container = container; - _settings = settings; - _settings.Modified += Apply; + _graphics = graphics; + _graphics.WaterQualityChanged += Apply; Apply(); } private void Apply() { Material mat = _container.ComplexWaterRenderer.sharedMaterial; - if (_settings.WaterQuality == WaterQuality.Ultra) + if (_graphics.WaterQuality == WaterQuality.Ultra) { mat.EnableKeyword(PlanarReflectionsKeyword); } @@ -40,7 +40,7 @@ private void Apply() public void Dispose() { - _settings.Modified -= Apply; + _graphics.WaterQualityChanged -= Apply; } } } diff --git a/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs b/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs index 5f1ecda1..be7e8c52 100644 --- a/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs +++ b/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs @@ -13,17 +13,17 @@ public class ScreenshotRenderer : IScreenshotRenderer private readonly MapHandler _mapHandler; private readonly IWaterFacade _waterFacade; private readonly IOutlineCoordinator _outlineCoordinator; - private readonly DPSettings _settings; + private readonly GraphicsOptions _graphics; private Camera _screenshotCamera; public ScreenshotRenderer(MapHandler mapHandler, IWaterFacade waterFacade, - IOutlineCoordinator outlineCoordinator, DPSettings settings) + IOutlineCoordinator outlineCoordinator, GraphicsOptions graphics) { _mapHandler = mapHandler; _waterFacade = waterFacade; _outlineCoordinator = outlineCoordinator; - _settings = settings; + _graphics = graphics; } public Texture2D TakeScreenshot(ScreenshotRequest request) @@ -34,12 +34,12 @@ public Texture2D TakeScreenshot(ScreenshotRequest request) return null; } - WaterQuality previousWaterQuality = _settings.WaterQuality; + WaterQuality previousWaterQuality = _graphics.WaterQuality; bool previousRenderGrid = map.RenderGrid; _outlineCoordinator.RenderingSuspended = true; map.RenderGrid = false; - _settings.Modify(settings => settings.WaterQuality = WaterQuality.Ultra, autoSave: false); + _graphics.WaterQuality = WaterQuality.Ultra; try { @@ -83,7 +83,7 @@ public Texture2D TakeScreenshot(ScreenshotRequest request) } finally { - _settings.Modify(settings => settings.WaterQuality = previousWaterQuality, autoSave: false); + _graphics.WaterQuality = previousWaterQuality; map.RenderGrid = previousRenderGrid; _outlineCoordinator.RenderingSuspended = false; } diff --git a/Assets/Warlander/Deedplanner/Settings/CameraSettings.cs b/Assets/Warlander/Deedplanner/Settings/CameraSettings.cs new file mode 100644 index 00000000..40ce530b --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/CameraSettings.cs @@ -0,0 +1,37 @@ +using Warlogic.Settings; + +namespace Warlander.Deedplanner.Settings +{ + public sealed class CameraSettings + { + private readonly ISetting _fppMouseSensitivity; + private readonly ISetting _fppKeyboardRotationSensitivity; + private readonly ISetting _fppMovementSpeed; + private readonly ISetting _topMovementSpeed; + private readonly ISetting _isoMovementSpeed; + private readonly ISetting _shiftSpeedModifier; + private readonly ISetting _controlSpeedModifier; + + public float FppMouseSensitivity => _fppMouseSensitivity.Value; + public float FppKeyboardRotationSensitivity => _fppKeyboardRotationSensitivity.Value; + public float FppMovementSpeed => _fppMovementSpeed.Value; + public float TopMovementSpeed => _topMovementSpeed.Value; + public float IsoMovementSpeed => _isoMovementSpeed.Value; + public float ShiftSpeedModifier => _shiftSpeedModifier.Value; + public float ControlSpeedModifier => _controlSpeedModifier.Value; + + internal CameraSettings( + ISetting fppMouseSensitivity, ISetting fppKeyboardRotationSensitivity, + ISetting fppMovementSpeed, ISetting topMovementSpeed, ISetting isoMovementSpeed, + ISetting shiftSpeedModifier, ISetting controlSpeedModifier) + { + _fppMouseSensitivity = fppMouseSensitivity; + _fppKeyboardRotationSensitivity = fppKeyboardRotationSensitivity; + _fppMovementSpeed = fppMovementSpeed; + _topMovementSpeed = topMovementSpeed; + _isoMovementSpeed = isoMovementSpeed; + _shiftSpeedModifier = shiftSpeedModifier; + _controlSpeedModifier = controlSpeedModifier; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/CameraSettings.cs.meta b/Assets/Warlander/Deedplanner/Settings/CameraSettings.cs.meta new file mode 100644 index 00000000..16c6e256 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/CameraSettings.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1cb2844b3f1f6f54188da4ed23a2cf6b \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/DPSettings.cs b/Assets/Warlander/Deedplanner/Settings/DPSettings.cs deleted file mode 100644 index 660d4407..00000000 --- a/Assets/Warlander/Deedplanner/Settings/DPSettings.cs +++ /dev/null @@ -1,86 +0,0 @@ -using System; -using System.IO; -using System.Text; -using System.Xml; -using System.Xml.Serialization; -using UnityEngine; -using Warlander.Deedplanner.Ui; -using Warlander.Deedplanner.Logging; - -namespace Warlander.Deedplanner.Settings -{ - /// - /// Settings should never be modified directly - use "Modify" method instead. - /// - public class DPSettings - { - private ICategoryLogger _logger; - - internal ICategoryLogger Logger - { - set => _logger = value; - } - - public const string SettingsKey = "properties"; - - public event Action Modified; - - public float FppMouseSensitivity = 0.5f; - public float FppKeyboardRotationSensitivity = 60f; - - public float FppMovementSpeed = 16f; - public float TopMovementSpeed = 16f; - public float IsoMovementSpeed = 16f; - - [XmlElement(ElementName = "FppShiftModifier")] public float ShiftSpeedModifier = 5f; - [XmlElement(ElementName = "FppControlModifier")] public float ControlSpeedModifier = 0.2f; - - public float HeightDragSensitivity = 0.5f; - public bool HeightRespectOriginalSlopes = true; - - public bool WallAutomaticReverse = true; - public bool WallReverse = false; - - public bool DecorationSnapToGrid = false; - public bool DecorationRotationSnapping = false; - public string DecorationRotationSensitivity = "1"; - - public int GuiScale = 10; - - public WaterQuality WaterQuality = WaterDefaultQuality; - - public bool CompassVisibility = true; - - private static WaterQuality WaterDefaultQuality => WaterQuality.Ultra; - - public void Modify(Action modifyCallback, bool autoSave = true) - { - modifyCallback.Invoke(this); - Modified?.Invoke(); - if (autoSave) - { - Save(); - } - } - - public void Save() - { - XmlWriterSettings settings = new XmlWriterSettings(); - settings.OmitXmlDeclaration = true; - - StringBuilder builder = new StringBuilder(); - XmlSerializer xmlSerializer = new XmlSerializer(typeof(DPSettings)); - using (TextWriter writer = new StringWriter(builder)) - { - using (XmlWriter xmlWriter = XmlWriter.Create(writer, settings)) - { - xmlSerializer.Serialize(xmlWriter, this); - } - } - PlayerPrefs.SetString(SettingsKey, builder.ToString()); - PlayerPrefs.Save(); - - _logger.Message("Properties saved"); - } - } -} diff --git a/Assets/Warlander/Deedplanner/Settings/DPSettings.cs.meta b/Assets/Warlander/Deedplanner/Settings/DPSettings.cs.meta deleted file mode 100644 index 083e42d1..00000000 --- a/Assets/Warlander/Deedplanner/Settings/DPSettings.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6840994f067d4c828ac15aa0743e0c52 -timeCreated: 1690042555 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs new file mode 100644 index 00000000..c9671abb --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs @@ -0,0 +1,92 @@ +using Warlander.Deedplanner.Ui; +using Warlogic.Settings; + +namespace Warlander.Deedplanner.Settings +{ + /// + /// Declares every game setting in one place, wires them into a registry backed by the + /// PlayerPrefs JSON store, and exposes per-module translators for consumers. + /// The Keybinds tab is not declared here - keybinds need the scene-scoped DPInput, + /// see KeybindSettingsRegistrar. + /// + public sealed class DeedPlannerSettings + { + public SettingsRegistry Registry { get; } + public CameraSettings Camera { get; } + public EditingSettings Editing { get; } + public UiSettings Ui { get; } + public GraphicsOptions Graphics { get; } + + private DeedPlannerSettings(SettingsRegistry registry, CameraSettings camera, + EditingSettings editing, UiSettings ui, GraphicsOptions graphics) + { + Registry = registry; + Camera = camera; + Editing = editing; + Ui = ui; + Graphics = graphics; + } + + public static DeedPlannerSettings Create() + { + var store = new PlayerPrefsJsonSettingsStore(); + var registry = new SettingsRegistry(store); + + SettingsTab generalTab = registry.AddTab("general", "General"); + SettingsTab graphicsTab = registry.AddTab("graphics", "Graphics"); + SettingsTab camerasTab = registry.AddTab("cameras", "Cameras"); + SettingsTab editingTab = registry.AddTab("editing", "Editing"); + + var guiScale = new IntSetting("guiScale", "GUI Scale", 10, 5, 20, "Scales the whole user interface."); + generalTab.Add(guiScale); + var compassVisibility = new BoolSetting("compassVisibility", "Compass", true, "Shows the compass in first-person mode."); + generalTab.Add(compassVisibility); + + var waterQuality = new EnumSetting("waterQuality", "Water Quality", WaterQuality.Ultra); + graphicsTab.Add(waterQuality); + var qualityLevel = new EnumSetting("qualityLevel", "Quality Level", + (QualityLevel) UnityEngine.QualitySettings.GetQualityLevel(), "Unity quality preset.", ApplyMode.OnSave); + graphicsTab.Add(qualityLevel); + + var fppMouseSensitivity = new FloatSetting("fppMouseSensitivity", "Mouse Sensitivity", 0.5f, 0.05f, 3f); + camerasTab.Add(fppMouseSensitivity); + var fppKeyboardRotationSensitivity = new FloatSetting("fppKeyboardRotationSensitivity", "Keyboard Rotation Sensitivity", 60f, 10f, 180f); + camerasTab.Add(fppKeyboardRotationSensitivity); + var fppMovementSpeed = new FloatSetting("fppMovementSpeed", "First-Person Movement Speed", 16f, 1f, 64f); + camerasTab.Add(fppMovementSpeed); + var topMovementSpeed = new FloatSetting("topMovementSpeed", "Top-Down Movement Speed", 16f, 1f, 64f); + camerasTab.Add(topMovementSpeed); + var isoMovementSpeed = new FloatSetting("isoMovementSpeed", "Isometric Movement Speed", 16f, 1f, 64f); + camerasTab.Add(isoMovementSpeed); + var shiftSpeedModifier = new FloatSetting("shiftSpeedModifier", "Boost Speed Modifier", 5f, 1f, 20f); + camerasTab.Add(shiftSpeedModifier); + var controlSpeedModifier = new FloatSetting("controlSpeedModifier", "Precise Speed Modifier", 0.2f, 0.05f, 1f); + camerasTab.Add(controlSpeedModifier); + + var heightDragSensitivity = new FloatSetting("heightDragSensitivity", "Height Drag Sensitivity", 0.5f, 0.05f, 2f); + editingTab.Add(heightDragSensitivity); + var heightRespectOriginalSlopes = new BoolSetting("heightRespectOriginalSlopes", "Respect Original Slopes", true); + editingTab.Add(heightRespectOriginalSlopes); + var wallAutomaticReverse = new BoolSetting("wallAutomaticReverse", "Automatic Wall Reverse", true); + editingTab.Add(wallAutomaticReverse); + var wallReverse = new BoolSetting("wallReverse", "Wall Reverse", false); + editingTab.Add(wallReverse); + var decorationSnapToGrid = new BoolSetting("decorationSnapToGrid", "Decoration Snap To Grid", false); + editingTab.Add(decorationSnapToGrid); + var decorationRotationSnapping = new BoolSetting("decorationRotationSnapping", "Decoration Rotation Snapping", false); + editingTab.Add(decorationRotationSnapping); + var decorationRotationSensitivity = new FloatSetting("decorationRotationSensitivity", "Decoration Rotation Sensitivity", 1f, 0.1f, 10f); + editingTab.Add(decorationRotationSensitivity); + + var camera = new CameraSettings(fppMouseSensitivity, fppKeyboardRotationSensitivity, + fppMovementSpeed, topMovementSpeed, isoMovementSpeed, shiftSpeedModifier, controlSpeedModifier); + var editing = new EditingSettings(heightDragSensitivity, heightRespectOriginalSlopes, + wallAutomaticReverse, wallReverse, decorationSnapToGrid, decorationRotationSnapping, + decorationRotationSensitivity); + var ui = new UiSettings(guiScale, compassVisibility); + var graphics = new GraphicsOptions(waterQuality, qualityLevel); + + return new DeedPlannerSettings(registry, camera, editing, ui, graphics); + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs.meta b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs.meta new file mode 100644 index 00000000..518a3326 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 736102a411cb8bf4e8703372c4440030 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/EditingSettings.cs b/Assets/Warlander/Deedplanner/Settings/EditingSettings.cs new file mode 100644 index 00000000..a03a7075 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/EditingSettings.cs @@ -0,0 +1,72 @@ +using Warlogic.Settings; + +namespace Warlander.Deedplanner.Settings +{ + public sealed class EditingSettings + { + private readonly ISetting _heightDragSensitivity; + private readonly ISetting _heightRespectOriginalSlopes; + private readonly ISetting _wallAutomaticReverse; + private readonly ISetting _wallReverse; + private readonly ISetting _decorationSnapToGrid; + private readonly ISetting _decorationRotationSnapping; + private readonly ISetting _decorationRotationSensitivity; + + public float HeightDragSensitivity + { + get => _heightDragSensitivity.Value; + set => _heightDragSensitivity.Value = value; + } + + public bool HeightRespectOriginalSlopes + { + get => _heightRespectOriginalSlopes.Value; + set => _heightRespectOriginalSlopes.Value = value; + } + + public bool WallAutomaticReverse + { + get => _wallAutomaticReverse.Value; + set => _wallAutomaticReverse.Value = value; + } + + public bool WallReverse + { + get => _wallReverse.Value; + set => _wallReverse.Value = value; + } + + public bool DecorationSnapToGrid + { + get => _decorationSnapToGrid.Value; + set => _decorationSnapToGrid.Value = value; + } + + public bool DecorationRotationSnapping + { + get => _decorationRotationSnapping.Value; + set => _decorationRotationSnapping.Value = value; + } + + public float DecorationRotationSensitivity + { + get => _decorationRotationSensitivity.Value; + set => _decorationRotationSensitivity.Value = value; + } + + internal EditingSettings( + ISetting heightDragSensitivity, ISetting heightRespectOriginalSlopes, + ISetting wallAutomaticReverse, ISetting wallReverse, + ISetting decorationSnapToGrid, ISetting decorationRotationSnapping, + ISetting decorationRotationSensitivity) + { + _heightDragSensitivity = heightDragSensitivity; + _heightRespectOriginalSlopes = heightRespectOriginalSlopes; + _wallAutomaticReverse = wallAutomaticReverse; + _wallReverse = wallReverse; + _decorationSnapToGrid = decorationSnapToGrid; + _decorationRotationSnapping = decorationRotationSnapping; + _decorationRotationSensitivity = decorationRotationSensitivity; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/EditingSettings.cs.meta b/Assets/Warlander/Deedplanner/Settings/EditingSettings.cs.meta new file mode 100644 index 00000000..032d1fb9 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/EditingSettings.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d92c8b691b3516047b4c59a1973f6ecc \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs b/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs new file mode 100644 index 00000000..d0ac5f14 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs @@ -0,0 +1,47 @@ +using System; +using Warlander.Deedplanner.Ui; +using Warlogic.Settings; + +namespace Warlander.Deedplanner.Settings +{ + public sealed class GraphicsOptions + { + private readonly ISetting _waterQuality; + private readonly ISetting _qualityLevel; + + public event Action WaterQualityChanged + { + add => _waterQuality.Changed += value; + remove => _waterQuality.Changed -= value; + } + + public event Action QualityLevelChanged + { + add => _qualityLevel.Changed += value; + remove => _qualityLevel.Changed -= value; + } + + public WaterQuality WaterQuality + { + get => _waterQuality.Value; + set => _waterQuality.Value = value; + } + + public QualityLevel QualityLevel + { + get => _qualityLevel.Value; + set + { + // quality level is staged (ApplyMode.OnSave); translator commits so callers see immediate semantics + _qualityLevel.Value = value; + _qualityLevel.Commit(); + } + } + + internal GraphicsOptions(ISetting waterQuality, ISetting qualityLevel) + { + _waterQuality = waterQuality; + _qualityLevel = qualityLevel; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs.meta b/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs.meta new file mode 100644 index 00000000..465c4c40 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b74596216cf730441994227ad50df7c6 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs b/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs new file mode 100644 index 00000000..7989ee63 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs @@ -0,0 +1,59 @@ +using UnityEngine.InputSystem; +using VContainer.Unity; +using Warlander.Deedplanner.Inputs; +using Warlogic.Settings; +using InputSettings = Warlander.Deedplanner.Settings.InputSettings; + +namespace Warlander.Deedplanner.Settings +{ + /// + /// Declares the Keybinds tab on the project-wide registry. Scene-scoped because it needs + /// the live DPInput and InputSettings. + /// + public sealed class KeybindSettingsRegistrar : IInitializable + { + private readonly SettingsRegistry _registry; + private readonly DPInput _input; + private readonly InputSettings _inputSettings; + + public KeybindSettingsRegistrar(SettingsRegistry registry, DPInput input, InputSettings inputSettings) + { + _registry = registry; + _input = input; + _inputSettings = inputSettings; + } + + public void Initialize() + { + SettingsTab keybindsTab = _registry.AddTab("keybinds", "Keybinds", 100); + foreach (InputActionMap actionMap in _input.asset.actionMaps) + { + // UI map stays non-rebindable so the user can't lock themselves out of the UI + if (actionMap == _input.UI.Submit.actionMap) + { + continue; + } + + foreach (InputAction action in actionMap.actions) + { + for (int i = 0; i < action.bindings.Count; i++) + { + InputBinding binding = action.bindings[i]; + if (binding.isComposite) + { + continue; + } + + keybindsTab.Add(new KeybindSetting(action, i, _inputSettings)); + + if (!binding.isPartOfComposite) + { + // standalone actions show only their first binding + break; + } + } + } + } + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs.meta b/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs.meta new file mode 100644 index 00000000..66a161d5 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0914b2f7ff93ca740ab48da81d44681e \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/QualityLevel.cs b/Assets/Warlander/Deedplanner/Settings/QualityLevel.cs new file mode 100644 index 00000000..a0e085c0 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/QualityLevel.cs @@ -0,0 +1,15 @@ +namespace Warlander.Deedplanner.Settings +{ + /// + /// Values must stay in the same order as the levels in ProjectSettings/QualitySettings.asset. + /// + public enum QualityLevel + { + VeryLow, + Low, + Medium, + High, + VeryHigh, + Ultra + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/QualityLevel.cs.meta b/Assets/Warlander/Deedplanner/Settings/QualityLevel.cs.meta new file mode 100644 index 00000000..450d2cec --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/QualityLevel.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 19607f69dfb0f7946898b3f0cf03a1ec \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs b/Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs new file mode 100644 index 00000000..3383794c --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; +using VContainer.Unity; + +namespace Warlander.Deedplanner.Settings +{ + /// + /// Applies the quality level setting to Unity's QualitySettings, on startup and on change. + /// + public sealed class QualityLevelApplier : IInitializable, IDisposable + { + private readonly GraphicsOptions _graphics; + + public QualityLevelApplier(GraphicsOptions graphics) + { + _graphics = graphics; + } + + public void Initialize() + { + Apply(_graphics.QualityLevel); + _graphics.QualityLevelChanged += OnQualityLevelChanged; + } + + private void OnQualityLevelChanged() + { + Apply(_graphics.QualityLevel); + } + + private static void Apply(QualityLevel level) + { + QualitySettings.SetQualityLevel((int) level, true); + } + + public void Dispose() + { + _graphics.QualityLevelChanged -= OnQualityLevelChanged; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs.meta b/Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs.meta new file mode 100644 index 00000000..ca58c2ce --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/QualityLevelApplier.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b48e7165817d8dd40a46fc271777c71e \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs b/Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs deleted file mode 100644 index 72b23b9c..00000000 --- a/Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.IO; -using System.Xml; -using System.Xml.Serialization; -using UnityEngine; -using Warlander.Deedplanner.Ui; -using Warlander.Deedplanner.Logging; - -namespace Warlander.Deedplanner.Settings -{ - public class SettingsFactory - { - public static readonly LogCategory Category = new LogCategory("Settings"); - - private readonly ICategoryLogger _logger; - - public SettingsFactory(ILoggerSource loggerSource) - { - _logger = loggerSource.Create(Category); - } - - public DPSettings Create() - { - DPSettings settings = LoadOrDefault(); - settings.Logger = _logger; - return settings; - } - - private DPSettings LoadOrDefault() - { - if (!PlayerPrefs.HasKey(DPSettings.SettingsKey)) - { - return new DPSettings(); - } - - try - { - XmlSerializer xmlSerializer = new XmlSerializer(typeof(DPSettings)); - using (TextReader reader = new StringReader(PlayerPrefs.GetString(DPSettings.SettingsKey))) - { - using (XmlReader xmlReader = new XmlTextReader(reader)) - { - DPSettings settings = (DPSettings) xmlSerializer.Deserialize(xmlReader); - return settings; - } - } - } - catch (Exception ex) - { - _logger.Exception(ex); - return new DPSettings(); - } - } - } -} diff --git a/Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs.meta b/Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs.meta deleted file mode 100644 index dc97e173..00000000 --- a/Assets/Warlander/Deedplanner/Settings/SettingsFactory.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 1a1637f38e5441ffb468da4578cec247 -timeCreated: 1690065744 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/UiSettings.cs b/Assets/Warlander/Deedplanner/Settings/UiSettings.cs new file mode 100644 index 00000000..dfdbbfda --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/UiSettings.cs @@ -0,0 +1,35 @@ +using System; +using Warlogic.Settings; + +namespace Warlander.Deedplanner.Settings +{ + public sealed class UiSettings + { + private readonly ISetting _guiScale; + private readonly ISetting _compassVisibility; + + public event Action GuiScaleChanged + { + add => _guiScale.Changed += value; + remove => _guiScale.Changed -= value; + } + + public int GuiScale + { + get => _guiScale.Value; + set => _guiScale.Value = value; + } + + public bool CompassVisibility + { + get => _compassVisibility.Value; + set => _compassVisibility.Value = value; + } + + internal UiSettings(ISetting guiScale, ISetting compassVisibility) + { + _guiScale = guiScale; + _compassVisibility = compassVisibility; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/UiSettings.cs.meta b/Assets/Warlander/Deedplanner/Settings/UiSettings.cs.meta new file mode 100644 index 00000000..a9c11ff9 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/UiSettings.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 41f120589850a7c408e5148833648f88 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Ui/CanvasGuiScaler.cs b/Assets/Warlander/Deedplanner/Ui/CanvasGuiScaler.cs index f183c3b7..42b2d811 100644 --- a/Assets/Warlander/Deedplanner/Ui/CanvasGuiScaler.cs +++ b/Assets/Warlander/Deedplanner/Ui/CanvasGuiScaler.cs @@ -8,20 +8,15 @@ namespace Warlander.Deedplanner.Ui { public class CanvasGuiScaler : MonoBehaviour { - [Inject] private DPSettings _settings; - + [Inject] private UiSettings _settings; + [SerializeField] private CanvasScaler _canvasScaler; private void Start() { ApplyScale(); - - _settings.Modified += DpSettingsOnModified; - } - private void DpSettingsOnModified() - { - ApplyScale(); + _settings.GuiScaleChanged += ApplyScale; } private void ApplyScale() @@ -34,7 +29,7 @@ private void ApplyScale() private void OnDestroy() { - _settings.Modified -= DpSettingsOnModified; + _settings.GuiScaleChanged -= ApplyScale; } } } diff --git a/Assets/Warlander/Deedplanner/Ui/Home/HomeScreenPresenter.cs b/Assets/Warlander/Deedplanner/Ui/Home/HomeScreenPresenter.cs index 27c314e7..84c9ea96 100644 --- a/Assets/Warlander/Deedplanner/Ui/Home/HomeScreenPresenter.cs +++ b/Assets/Warlander/Deedplanner/Ui/Home/HomeScreenPresenter.cs @@ -4,7 +4,6 @@ using UnityEngine.InputSystem; using Warlander.Deedplanner.Persistence; using Warlander.Deedplanner.Logging; -using Warlander.Deedplanner.Settings; using Warlander.Deedplanner.Platform.Steam; using VContainer.Unity; using Warlander.UI.Windows; @@ -17,19 +16,17 @@ public class HomeScreenPresenter : IHomeScreenPresenter, IInitializable, IDispos private readonly ISaveCoordinator _saveCoordinator; private readonly HomeScreenCardCatalog _cardCatalog; private readonly WindowCoordinator _windowCoordinator; - private readonly DPSettings _settings; private readonly ISteamConnection _steamConnection; private readonly ICategoryLogger _logger; public HomeScreenPresenter(IHomeScreenView view, ISaveCoordinator saveCoordinator, - HomeScreenCardCatalog cardCatalog, WindowCoordinator windowCoordinator, DPSettings settings, + HomeScreenCardCatalog cardCatalog, WindowCoordinator windowCoordinator, ISteamConnection steamConnection, UiLog uiLog) { _view = view; _saveCoordinator = saveCoordinator; _cardCatalog = cardCatalog; _windowCoordinator = windowCoordinator; - _settings = settings; _steamConnection = steamConnection; _logger = uiLog.Logger; } @@ -135,7 +132,6 @@ private void OnQuit() private async Task QuitAsync() { await _saveCoordinator.PrepareForQuitAsync(); - _settings.Save(); #if UNITY_EDITOR UnityEditor.EditorApplication.ExitPlaymode(); diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs b/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs index bc7494f3..9bef961b 100644 --- a/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs +++ b/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs @@ -4,12 +4,14 @@ using VContainer; using Warlander.Deedplanner.Settings; using Warlander.UI.Windows; +using QualityLevel = Warlander.Deedplanner.Settings.QualityLevel; namespace Warlander.Deedplanner.Ui.Windows { public class GraphicSettingsWindow : MonoBehaviour { - [Inject] private DPSettings _settings; + [Inject] private GraphicsOptions _graphics; + [Inject] private UiSettings _ui; private Window _window; [SerializeField] private Toggle simpleWaterToggle; @@ -53,7 +55,7 @@ private void SaveButtonOnClick() private void ApplyProperties() { - WaterQuality waterQuality = _settings.WaterQuality; + WaterQuality waterQuality = _graphics.WaterQuality; switch (waterQuality) { case WaterQuality.Simple: @@ -67,7 +69,7 @@ private void ApplyProperties() break; } - bool compassVisibility = _settings.CompassVisibility; + bool compassVisibility = _ui.CompassVisibility; if (compassVisibility) { compassToggle.isOn = true; @@ -77,8 +79,7 @@ private void ApplyProperties() compassToggle.isOn = false; } - overallQualityDropdown.value = QualitySettings.GetQualityLevel(); - guiScaleSlider.value = _settings.GuiScale; + overallQualityDropdown.value = (int) _graphics.QualityLevel; guiScaleSlider.value = _ui.GuiScale; guiScaleValueText.text = Mathf.RoundToInt(guiScaleSlider.value).ToString(); } @@ -89,34 +90,22 @@ private void GuiScaleOnValueChanged(float value) private void SaveProperties() { - _settings.Modify(settings => + if (simpleWaterToggle.isOn) { - if (simpleWaterToggle.isOn) - { - settings.WaterQuality = WaterQuality.Simple; - } - else if (highWaterToggle.isOn) - { - settings.WaterQuality = WaterQuality.High; - } - else if (ultraWaterToggle.isOn) - { - settings.WaterQuality = WaterQuality.Ultra; - } - - settings.GuiScale = Mathf.RoundToInt(guiScaleSlider.value); - - if (compassToggle.isOn) - { - settings.CompassVisibility = true; - } - else - { - settings.CompassVisibility = false; - } - }); + _graphics.WaterQuality = WaterQuality.Simple; + } + else if (highWaterToggle.isOn) + { + _graphics.WaterQuality = WaterQuality.High; + } + else if (ultraWaterToggle.isOn) + { + _graphics.WaterQuality = WaterQuality.Ultra; + } - QualitySettings.SetQualityLevel(overallQualityDropdown.value, true); + _ui.GuiScale = Mathf.RoundToInt(guiScaleSlider.value); + _ui.CompassVisibility = compassToggle.isOn; + _graphics.QualityLevel = (QualityLevel) overallQualityDropdown.value; } } } From ca9c527ff72827107320085e503739b0ea1df22b Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 02:56:48 +0200 Subject: [PATCH 09/18] Migrate legacy PlayerPrefs into unified settings store (settings overhaul chunk 6) --- .../Composition/ProjectLifetimeScope.cs | 2 + .../Settings/DeedPlannerSettings.cs | 7 +- .../Deedplanner/Settings/InputSettings.cs | 17 +- .../Deedplanner/Settings/KeybindSetting.cs | 2 +- .../Settings/LegacySettingsMigration.cs | 150 +++++++++++++++++ .../Settings/LegacySettingsMigration.cs.meta | 2 + .../Warlander/Deedplanner/Settings/Tests.meta | 8 + .../Deedplanner/Settings/Tests/Editor.meta | 8 + .../Editor/LegacySettingsMigrationTests.cs | 158 ++++++++++++++++++ .../LegacySettingsMigrationTests.cs.meta | 2 + 10 files changed, 342 insertions(+), 14 deletions(-) create mode 100644 Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/Tests.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/Tests/Editor.meta create mode 100644 Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs create mode 100644 Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs.meta diff --git a/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs b/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs index 2f3456fb..7683f53b 100644 --- a/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs +++ b/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs @@ -11,6 +11,7 @@ using Warlander.Deedplanner.Settings; using Warlander.Deedplanner.Platform.Steam; using Warlander.Scopes; +using Warlogic.Settings; namespace Warlander.Deedplanner.Composition { @@ -41,6 +42,7 @@ protected override void Configure(IContainerBuilder builder) var settings = DeedPlannerSettings.Create(); builder.RegisterInstance(settings.Registry); + builder.RegisterInstance(settings.Store); builder.RegisterInstance(settings.Camera); builder.RegisterInstance(settings.Editing); builder.RegisterInstance(settings.Ui); diff --git a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs index c9671abb..5b43b304 100644 --- a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs +++ b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs @@ -12,15 +12,17 @@ namespace Warlander.Deedplanner.Settings public sealed class DeedPlannerSettings { public SettingsRegistry Registry { get; } + public ISettingsStore Store { get; } public CameraSettings Camera { get; } public EditingSettings Editing { get; } public UiSettings Ui { get; } public GraphicsOptions Graphics { get; } - private DeedPlannerSettings(SettingsRegistry registry, CameraSettings camera, + private DeedPlannerSettings(SettingsRegistry registry, ISettingsStore store, CameraSettings camera, EditingSettings editing, UiSettings ui, GraphicsOptions graphics) { Registry = registry; + Store = store; Camera = camera; Editing = editing; Ui = ui; @@ -30,6 +32,7 @@ private DeedPlannerSettings(SettingsRegistry registry, CameraSettings camera, public static DeedPlannerSettings Create() { var store = new PlayerPrefsJsonSettingsStore(); + LegacySettingsMigration.Migrate(store); var registry = new SettingsRegistry(store); SettingsTab generalTab = registry.AddTab("general", "General"); @@ -86,7 +89,7 @@ public static DeedPlannerSettings Create() var ui = new UiSettings(guiScale, compassVisibility); var graphics = new GraphicsOptions(waterQuality, qualityLevel); - return new DeedPlannerSettings(registry, camera, editing, ui, graphics); + return new DeedPlannerSettings(registry, store, camera, editing, ui, graphics); } } } diff --git a/Assets/Warlander/Deedplanner/Settings/InputSettings.cs b/Assets/Warlander/Deedplanner/Settings/InputSettings.cs index 72a4663f..800a5831 100644 --- a/Assets/Warlander/Deedplanner/Settings/InputSettings.cs +++ b/Assets/Warlander/Deedplanner/Settings/InputSettings.cs @@ -1,41 +1,36 @@ -using System; -using UnityEngine; +using System; using UnityEngine.InputSystem; using Warlander.Deedplanner.Inputs; using VContainer; using VContainer.Unity; +using Warlogic.Settings; namespace Warlander.Deedplanner.Settings { public class InputSettings : IInitializable { - public const string InputSettingsKey = "inputSettings"; - [Inject] private DPInput _input; + [Inject] private ISettingsStore _store; public event Action SettingsReset; void IInitializable.Initialize() { - if (PlayerPrefs.HasKey(InputSettingsKey)) + if (_store.TryLoad(LegacySettingsMigration.BindingOverridesKey, out string bindingOverrides)) { - string bindingOverrides = PlayerPrefs.GetString(InputSettingsKey); _input.LoadBindingOverridesFromJson(bindingOverrides); } } public void Save() { - PlayerPrefs.SetString(InputSettingsKey, _input.SaveBindingOverridesAsJson()); - PlayerPrefs.Save(); + _store.Save(LegacySettingsMigration.BindingOverridesKey, _input.SaveBindingOverridesAsJson()); } public void Reset() { - PlayerPrefs.DeleteKey(InputSettingsKey); - PlayerPrefs.Save(); - _input.RemoveAllBindingOverrides(); + Save(); SettingsReset?.Invoke(); } } diff --git a/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs index 2128b7c5..de950842 100644 --- a/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs +++ b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs @@ -7,7 +7,7 @@ namespace Warlander.Deedplanner.Settings { /// /// Setting wrapping one Input System binding. Value is the effective binding path. - /// Persistence goes through InputSettings (JSON binding overrides) until the store migration chunk. + /// Persistence goes through InputSettings (JSON binding overrides in the unified store). /// public sealed class KeybindSetting : ISetting, IGroupedSetting { diff --git a/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs b/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs new file mode 100644 index 00000000..d17699d5 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs @@ -0,0 +1,150 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Xml.Linq; +using UnityEngine; +using Warlander.Deedplanner.Ui; +using Warlogic.Settings; + +namespace Warlander.Deedplanner.Settings +{ + /// + /// One-time migration of legacy persistence into the unified settings store: + /// the DPSettings XML blob ("properties") and the Input System binding overrides + /// JSON ("inputSettings"). Legacy keys are deleted only after the new store + /// confirms the values. + /// + public static class LegacySettingsMigration + { + public const string LegacyPropertiesKey = "properties"; + public const string LegacyInputSettingsKey = "inputSettings"; + public const string BindingOverridesKey = "keybindOverrides"; + + public static void Migrate(ISettingsStore store) + { + Migrate(store, LegacyPropertiesKey, LegacyInputSettingsKey); + } + + public static void Migrate(ISettingsStore store, string propertiesKey, string inputSettingsKey) + { + MigrateProperties(store, propertiesKey); + MigrateBindingOverrides(store, inputSettingsKey); + } + + public static Dictionary TranslatePropertiesXml(string xml) + { + var result = new Dictionary(); + XElement root; + try + { + root = XElement.Parse(xml); + } + catch (Exception) + { + return result; + } + + TranslateFloat(root, "FppMouseSensitivity", "fppMouseSensitivity", result); + TranslateFloat(root, "FppKeyboardRotationSensitivity", "fppKeyboardRotationSensitivity", result); + TranslateFloat(root, "FppMovementSpeed", "fppMovementSpeed", result); + TranslateFloat(root, "TopMovementSpeed", "topMovementSpeed", result); + TranslateFloat(root, "IsoMovementSpeed", "isoMovementSpeed", result); + TranslateFloat(root, "FppShiftModifier", "shiftSpeedModifier", result); + TranslateFloat(root, "FppControlModifier", "controlSpeedModifier", result); + TranslateFloat(root, "HeightDragSensitivity", "heightDragSensitivity", result); + TranslateBool(root, "HeightRespectOriginalSlopes", "heightRespectOriginalSlopes", result); + TranslateBool(root, "WallAutomaticReverse", "wallAutomaticReverse", result); + TranslateBool(root, "WallReverse", "wallReverse", result); + TranslateBool(root, "DecorationSnapToGrid", "decorationSnapToGrid", result); + TranslateBool(root, "DecorationRotationSnapping", "decorationRotationSnapping", result); + TranslateFloat(root, "DecorationRotationSensitivity", "decorationRotationSensitivity", result); + TranslateInt(root, "GuiScale", "guiScale", result); + TranslateWaterQuality(root, result); + TranslateBool(root, "CompassVisibility", "compassVisibility", result); + + return result; + } + + private static void MigrateProperties(ISettingsStore store, string propertiesKey) + { + if (!PlayerPrefs.HasKey(propertiesKey)) + { + return; + } + Dictionary translated = TranslatePropertiesXml(PlayerPrefs.GetString(propertiesKey)); + foreach (KeyValuePair pair in translated) + { + store.Save(pair.Key, pair.Value); + } + + bool confirmed = true; + foreach (KeyValuePair pair in translated) + { + confirmed &= store.TryLoad(pair.Key, out string value) && value == pair.Value; + } + if (confirmed) + { + PlayerPrefs.DeleteKey(propertiesKey); + PlayerPrefs.Save(); + } + } + + private static void MigrateBindingOverrides(ISettingsStore store, string inputSettingsKey) + { + if (!PlayerPrefs.HasKey(inputSettingsKey)) + { + return; + } + if (!store.TryLoad(BindingOverridesKey, out _)) + { + store.Save(BindingOverridesKey, PlayerPrefs.GetString(inputSettingsKey)); + } + if (store.TryLoad(BindingOverridesKey, out _)) + { + PlayerPrefs.DeleteKey(inputSettingsKey); + PlayerPrefs.Save(); + } + } + + private static void TranslateFloat(XElement root, string elementName, string newKey, Dictionary result) + { + string raw = GetElementValue(root, elementName); + if (raw != null && float.TryParse(raw, NumberStyles.Float, CultureInfo.InvariantCulture, out float value)) + { + result[newKey] = value.ToString("R", CultureInfo.InvariantCulture); + } + } + + private static void TranslateInt(XElement root, string elementName, string newKey, Dictionary result) + { + string raw = GetElementValue(root, elementName); + if (raw != null && int.TryParse(raw, NumberStyles.Integer, CultureInfo.InvariantCulture, out int value)) + { + result[newKey] = value.ToString(CultureInfo.InvariantCulture); + } + } + + private static void TranslateBool(XElement root, string elementName, string newKey, Dictionary result) + { + string raw = GetElementValue(root, elementName); + if (bool.TryParse(raw, out bool value)) + { + result[newKey] = value ? "true" : "false"; + } + } + + private static void TranslateWaterQuality(XElement root, Dictionary result) + { + string raw = GetElementValue(root, "WaterQuality"); + if (raw != null && Enum.TryParse(raw, true, out WaterQuality quality)) + { + result["waterQuality"] = quality.ToString(); + } + } + + private static string GetElementValue(XElement root, string elementName) + { + return root.Element(elementName)?.Value; + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs.meta b/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs.meta new file mode 100644 index 00000000..4e6ea4b7 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 572a0f3f8e25db149aa886c65eea2746 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Settings/Tests.meta b/Assets/Warlander/Deedplanner/Settings/Tests.meta new file mode 100644 index 00000000..7271262c --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5f6ea4c9c2d976e4f86da84b851e4685 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Warlander/Deedplanner/Settings/Tests/Editor.meta b/Assets/Warlander/Deedplanner/Settings/Tests/Editor.meta new file mode 100644 index 00000000..13783726 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/Tests/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cbe7d5351bb1bb843ae2274dd50a724e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs b/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs new file mode 100644 index 00000000..ca4bbb19 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs @@ -0,0 +1,158 @@ +using System.Collections.Generic; +using NUnit.Framework; +using UnityEngine; +using Warlander.Deedplanner.Settings; +using Warlogic.Settings; + +namespace Warlander.Deedplanner.Tests +{ + public class LegacySettingsMigrationTests + { + private const string StoreKey = "warlogic.settings.migration-tests"; + private const string PropertiesKey = "properties.migration-tests"; + private const string InputSettingsKey = "inputSettings.migration-tests"; + + private const string FullLegacyXml = + "" + + "0.75" + + "90" + + "24" + + "8" + + "12" + + "7" + + "0.5" + + "1.25" + + "false" + + "false" + + "true" + + "true" + + "true" + + "2.5" + + "14" + + "SIMPLE" + + "false" + + ""; + + [TearDown] + public void TearDown() + { + PlayerPrefs.DeleteKey(StoreKey); + PlayerPrefs.DeleteKey(PropertiesKey); + PlayerPrefs.DeleteKey(InputSettingsKey); + PlayerPrefs.Save(); + } + + [Test] + public void TranslatePropertiesXml_FullDocument_TranslatesAllKeys() + { + Dictionary result = LegacySettingsMigration.TranslatePropertiesXml(FullLegacyXml); + + Assert.AreEqual(17, result.Count); + Assert.AreEqual("0.75", result["fppMouseSensitivity"]); + Assert.AreEqual("90", result["fppKeyboardRotationSensitivity"]); + Assert.AreEqual("24", result["fppMovementSpeed"]); + Assert.AreEqual("8", result["topMovementSpeed"]); + Assert.AreEqual("12", result["isoMovementSpeed"]); + Assert.AreEqual("7", result["shiftSpeedModifier"]); + Assert.AreEqual("0.5", result["controlSpeedModifier"]); + Assert.AreEqual("1.25", result["heightDragSensitivity"]); + Assert.AreEqual("false", result["heightRespectOriginalSlopes"]); + Assert.AreEqual("false", result["wallAutomaticReverse"]); + Assert.AreEqual("true", result["wallReverse"]); + Assert.AreEqual("true", result["decorationSnapToGrid"]); + Assert.AreEqual("true", result["decorationRotationSnapping"]); + Assert.AreEqual("2.5", result["decorationRotationSensitivity"]); + Assert.AreEqual("14", result["guiScale"]); + Assert.AreEqual("Simple", result["waterQuality"]); + Assert.AreEqual("false", result["compassVisibility"]); + } + + [Test] + public void TranslatePropertiesXml_StringRotationSensitivity_RetypesToFloat() + { + Dictionary result = LegacySettingsMigration.TranslatePropertiesXml( + "1"); + + Assert.AreEqual("1", result["decorationRotationSensitivity"]); + } + + [Test] + public void TranslatePropertiesXml_MalformedXml_ReturnsEmpty() + { + Dictionary result = LegacySettingsMigration.TranslatePropertiesXml("{{{not xml"); + + Assert.AreEqual(0, result.Count); + } + + [Test] + public void TranslatePropertiesXml_MissingElements_SkipsThem() + { + Dictionary result = LegacySettingsMigration.TranslatePropertiesXml( + "12"); + + Assert.AreEqual(1, result.Count); + Assert.AreEqual("12", result["guiScale"]); + } + + [Test] + public void TranslatePropertiesXml_InvalidValues_SkipsThem() + { + Dictionary result = LegacySettingsMigration.TranslatePropertiesXml( + "abcMedium"); + + Assert.AreEqual(0, result.Count); + } + + [Test] + public void Migrate_SeededLegacyPrefs_MovesValuesAndDeletesLegacyKeys() + { + PlayerPrefs.SetString(PropertiesKey, FullLegacyXml); + PlayerPrefs.SetString(InputSettingsKey, "[{\"action\":\"Map/Forward\",\"path\":\"/w\"}]"); + PlayerPrefs.Save(); + var store = new PlayerPrefsJsonSettingsStore(StoreKey); + + LegacySettingsMigration.Migrate(store, PropertiesKey, InputSettingsKey); + + Assert.IsTrue(store.TryLoad("fppMouseSensitivity", out string sensitivity)); + Assert.AreEqual("0.75", sensitivity); + Assert.IsTrue(store.TryLoad("decorationRotationSensitivity", out string rotation)); + Assert.AreEqual("2.5", rotation); + Assert.IsTrue(store.TryLoad("waterQuality", out string water)); + Assert.AreEqual("Simple", water); + Assert.IsTrue(store.TryLoad(LegacySettingsMigration.BindingOverridesKey, out string overrides)); + Assert.AreEqual("[{\"action\":\"Map/Forward\",\"path\":\"/w\"}]", overrides); + Assert.IsFalse(PlayerPrefs.HasKey(PropertiesKey)); + Assert.IsFalse(PlayerPrefs.HasKey(InputSettingsKey)); + + var reloaded = new PlayerPrefsJsonSettingsStore(StoreKey); + Assert.IsTrue(reloaded.TryLoad("guiScale", out string guiScale)); + Assert.AreEqual("14", guiScale); + } + + [Test] + public void Migrate_NoLegacyPrefs_LeavesStoreUntouched() + { + var store = new PlayerPrefsJsonSettingsStore(StoreKey); + + LegacySettingsMigration.Migrate(store, PropertiesKey, InputSettingsKey); + + Assert.IsFalse(store.TryLoad("guiScale", out _)); + Assert.IsFalse(PlayerPrefs.HasKey(StoreKey)); + } + + [Test] + public void Migrate_ExistingBindingOverrides_KeepsNewerValue() + { + var store = new PlayerPrefsJsonSettingsStore(StoreKey); + store.Save(LegacySettingsMigration.BindingOverridesKey, "[]"); + PlayerPrefs.SetString(InputSettingsKey, "[{\"action\":\"Map/Forward\",\"path\":\"/w\"}]"); + PlayerPrefs.Save(); + + LegacySettingsMigration.Migrate(store, PropertiesKey, InputSettingsKey); + + Assert.IsTrue(store.TryLoad(LegacySettingsMigration.BindingOverridesKey, out string overrides)); + Assert.AreEqual("[]", overrides); + Assert.IsFalse(PlayerPrefs.HasKey(InputSettingsKey)); + } + } +} diff --git a/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs.meta b/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs.meta new file mode 100644 index 00000000..981c4c93 --- /dev/null +++ b/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c18eca11ab334164c9be5e26eb40e3de \ No newline at end of file From 11ee900ff51e2ff425a7acbc7653d43348ff2ac9 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 02:56:54 +0200 Subject: [PATCH 10/18] Remove old graphics/input settings windows, menu keeps single Settings entry (settings overhaul chunk 7) --- Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab | 533 -- .../Windows/GraphicsSettingsWindow.prefab | 5447 ----------------- .../GraphicsSettingsWindow.prefab.meta | 7 - .../Windows/InputSettingsWindow.prefab | 2401 -------- .../Windows/InputSettingsWindow.prefab.meta | 7 - .../Deedplanner/Editing/Menu/MenuAction.cs | 2 +- .../Deedplanner/Editing/Menu/MenuUpdater.cs | 10 +- .../Editing/Menu/MenuUpdaterView.cs | 4 - .../Ui/Widgets/InputSettingElement.cs | 79 - .../Ui/Widgets/InputSettingElement.cs.meta | 3 - .../Warlander/Deedplanner/Ui/WindowNames.cs | 2 - .../Ui/Windows/GraphicSettingsWindow.cs | 111 - .../Ui/Windows/GraphicSettingsWindow.cs.meta | 11 - .../Ui/Windows/InputSettingsWindow.cs | 139 - .../Ui/Windows/InputSettingsWindow.cs.meta | 3 - 15 files changed, 3 insertions(+), 8756 deletions(-) delete mode 100644 Assets/Resources/Windows/GraphicsSettingsWindow.prefab delete mode 100644 Assets/Resources/Windows/GraphicsSettingsWindow.prefab.meta delete mode 100644 Assets/Resources/Windows/InputSettingsWindow.prefab delete mode 100644 Assets/Resources/Windows/InputSettingsWindow.prefab.meta delete mode 100644 Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs delete mode 100644 Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs.meta delete mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs delete mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs.meta delete mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs delete mode 100644 Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs.meta diff --git a/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab b/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab index 409919b6..8e989b0b 100644 --- a/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab +++ b/Assets/Prefabs/MainScene/Tabs/Menu Tab.prefab @@ -1250,8 +1250,6 @@ RectTransform: - {fileID: 290047575846309707} - {fileID: 6045664373535121275} - {fileID: 7836303559449755709} - - {fileID: 6389418460549847288} - - {fileID: 7765635618670917588} - {fileID: 4394618242102366626} - {fileID: 8386373495276078316} - {fileID: 6669454340995173620} @@ -1340,8 +1338,6 @@ MonoBehaviour: _saveButton: {fileID: 2493659495722005971} _saveAsButton: {fileID: 4964288069850966235} _loadButton: {fileID: 2021317280738769498} - _graphicsSettingsButton: {fileID: 6389418460549847289} - _inputSettingsButton: {fileID: 7765635618670917589} _settingsButton: {fileID: 2355598579669820321} _creditsButton: {fileID: 6669454340995173621} _fullscreenButton: {fileID: 7237333755228465514} @@ -3778,273 +3774,6 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 6634583782626333293} m_PrefabAsset: {fileID: 0} ---- !u!1001 &6653039649353506780 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 3300069807659418639} - m_Modifications: - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 48 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target - value: - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName - value: OnInputSettings - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName - value: UnityEngine.Object, UnityEngine - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Name - value: Input Settings Button - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, - type: 3} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_text - value: Input Settings - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_fontSize - value: 14.3 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.lineCount - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.wordCount - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.spaceCount - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_havePropertiesChanged - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_isInputParsingRequired - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.characterCount - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_firstOverflowCharacterIndex - value: -1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: 'm_ActiveFontFeatures.Array.data[0]' - value: 1801810542 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 2728049838620845193} - m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} ---- !u!224 &7765635618670917588 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 6653039649353506780} - m_PrefabAsset: {fileID: 0} ---- !u!114 &7765635618670917589 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 6653039649353506780} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7765635618670917591} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &7765635618670917591 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 6653039649353506780} - m_PrefabAsset: {fileID: 0} ---- !u!114 &2728049838620845193 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7765635618670917591} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 50 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 --- !u!1001 &7504041167782142419 PrefabInstance: m_ObjectHideFlags: 0 @@ -4510,265 +4239,3 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 ---- !u!1001 &8014870219802259696 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 3300069807659418639} - m_Modifications: - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 48 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target - value: - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName - value: OnGraphicsSettings - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName - value: UnityEngine.Object, UnityEngine - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Name - value: Graphics Settings Button - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, - type: 3} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_text - value: Graphics Settings - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_fontSize - value: 14.3 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.lineCount - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.wordCount - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.spaceCount - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_havePropertiesChanged - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_isInputParsingRequired - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.characterCount - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_firstOverflowCharacterIndex - value: -1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: 'm_ActiveFontFeatures.Array.data[0]' - value: 1801810542 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 8684571770591964174} - m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} ---- !u!224 &6389418460549847288 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 8014870219802259696} - m_PrefabAsset: {fileID: 0} ---- !u!114 &6389418460549847289 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 8014870219802259696} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6389418460549847291} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &6389418460549847291 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 8014870219802259696} - m_PrefabAsset: {fileID: 0} ---- !u!114 &8684571770591964174 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6389418460549847291} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 50 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 diff --git a/Assets/Resources/Windows/GraphicsSettingsWindow.prefab b/Assets/Resources/Windows/GraphicsSettingsWindow.prefab deleted file mode 100644 index e472b1ce..00000000 --- a/Assets/Resources/Windows/GraphicsSettingsWindow.prefab +++ /dev/null @@ -1,5447 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1310089864539060219 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2627594263236026728} - - component: {fileID: 8266758352157282863} - - component: {fileID: 866855265098154572} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2627594263236026728 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1310089864539060219} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3289741350825268766} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 10, y: 10} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8266758352157282863 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1310089864539060219} - m_CullTransparentMesh: 1 ---- !u!114 &866855265098154572 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1310089864539060219} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 3316f928b29ac43eb9f83c2765ce7bb2, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 7 ---- !u!1 &4148314566377964340 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314566377964343} - - component: {fileID: 4148314566377964337} - - component: {fileID: 4148314566377964342} - m_Layer: 5 - m_Name: GUI Scale Value - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314566377964343 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566377964340} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4148314567688517414} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 85, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314566377964337 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566377964340} - m_CullTransparentMesh: 0 ---- !u!114 &4148314566377964342 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566377964340} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: 10 - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 16 - m_fontSizeBase: 16 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 10 - m_fontSizeMax: 72 - m_fontStyle: 1 - m_HorizontalAlignment: 4 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &4148314566574180894 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314566574180889} - - component: {fileID: 4148314566574180891} - - component: {fileID: 4148314566574180888} - m_Layer: 5 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314566574180889 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566574180894} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4148314566995751028} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: -5, y: 0} - m_SizeDelta: {x: 24, y: 10} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314566574180891 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566574180894} - m_CullTransparentMesh: 0 ---- !u!114 &4148314566574180888 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566574180894} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 912c48aa4c55843f0b43ae673d2eb864, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 4 ---- !u!1 &4148314566652932100 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314566652932103} - - component: {fileID: 4148314566652932102} - m_Layer: 5 - m_Name: GUI Scale Slider - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314566652932103 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566652932100} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4148314568141976850} - - {fileID: 4148314566712637965} - - {fileID: 4148314566995751028} - m_Father: {fileID: 4148314567688517414} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 230, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &4148314566652932102 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566652932100} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 4148314566574180888} - m_FillRect: {fileID: 4148314566895299676} - m_HandleRect: {fileID: 4148314566574180889} - m_Direction: 0 - m_MinValue: 10 - m_MaxValue: 40 - m_WholeNumbers: 1 - m_Value: 10 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &4148314566712637954 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314566712637965} - m_Layer: 5 - m_Name: Fill Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314566712637965 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566712637954} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4148314566895299676} - m_Father: {fileID: 4148314566652932103} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.25} - m_AnchorMax: {x: 1, y: 0.75} - m_AnchoredPosition: {x: -5, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &4148314566818367807 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314566818367806} - - component: {fileID: 4148314566818367803} - - component: {fileID: 4148314566818367800} - - component: {fileID: 4148314566818367801} - m_Layer: 5 - m_Name: Overall Quality Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &4148314566818367806 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566818367807} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 209, y: -27} - m_SizeDelta: {x: 400, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314566818367803 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566818367807} - m_CullTransparentMesh: 0 ---- !u!114 &4148314566818367800 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566818367807} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Overall Quality - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 26.85 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 00000000 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4148314566818367801 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566818367807} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 400 - m_MinHeight: 30 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4148314566895299677 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314566895299676} - - component: {fileID: 4148314566895299678} - - component: {fileID: 4148314566895299679} - m_Layer: 5 - m_Name: Fill - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314566895299676 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566895299677} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4148314566712637965} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 10, y: -2} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314566895299678 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566895299677} - m_CullTransparentMesh: 0 ---- !u!114 &4148314566895299679 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566895299677} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 52a3696080a8b4e0e9c592dc9a94a6e1, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 2 ---- !u!1 &4148314566995751029 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314566995751028} - m_Layer: 5 - m_Name: Handle Slide Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314566995751028 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566995751029} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4148314566574180889} - m_Father: {fileID: 4148314566652932103} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &4148314567378886795 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314567378886794} - - component: {fileID: 4148314567378886775} - - component: {fileID: 4148314567378886772} - - component: {fileID: 4148314567378886773} - m_Layer: 5 - m_Name: Simple Water Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314567378886794 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567378886795} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4148314568161019026} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 91.5, y: 24} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314567378886775 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567378886795} - m_CullTransparentMesh: 0 ---- !u!114 &4148314567378886772 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567378886795} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Simple - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 15 - m_fontSizeBase: 15 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 3, z: 0, w: 3} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4148314567378886773 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567378886795} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 0 - m_PreferredHeight: -1 - m_FlexibleWidth: 99999 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4148314567519277960 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314567519277963} - - component: {fileID: 4148314567519277940} - - component: {fileID: 4148314567519277941} - - component: {fileID: 4148314567519277962} - m_Layer: 5 - m_Name: High Water Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314567519277963 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567519277960} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4148314568161019026} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 85.1, y: 24} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314567519277940 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567519277960} - m_CullTransparentMesh: 0 ---- !u!114 &4148314567519277941 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567519277960} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: High - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 15 - m_fontSizeBase: 15 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 3, z: 0, w: 3} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4148314567519277962 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567519277960} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 0 - m_PreferredHeight: -1 - m_FlexibleWidth: 99999 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4148314567597090479 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314567597090478} - - component: {fileID: 4148314567597090475} - - component: {fileID: 4148314567597090472} - - component: {fileID: 4148314567597090473} - m_Layer: 5 - m_Name: GUI Scale Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &4148314567597090478 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567597090479} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 209, y: -205.96} - m_SizeDelta: {x: 400, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314567597090475 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567597090479} - m_CullTransparentMesh: 0 ---- !u!114 &4148314567597090472 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567597090479} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: GUI Scale - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 26.85 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 00000000 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4148314567597090473 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567597090479} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 400 - m_MinHeight: 30 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4148314567638613026 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314567638613037} - - component: {fileID: 4148314567638613038} - - component: {fileID: 4148314567638613039} - - component: {fileID: 4148314567638613036} - m_Layer: 5 - m_Name: Ultra Water Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314567638613037 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567638613026} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4148314568161019026} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 50, y: 24} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314567638613038 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567638613026} - m_CullTransparentMesh: 0 ---- !u!114 &4148314567638613039 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567638613026} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Ultra - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 15 - m_fontSizeBase: 15 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 3, z: 0, w: 3} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4148314567638613036 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567638613026} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 0 - m_PreferredHeight: -1 - m_FlexibleWidth: 99999 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4148314567688517415 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314567688517414} - - component: {fileID: 4148314567688517408} - - component: {fileID: 4148314567688517409} - m_Layer: 5 - m_Name: GUI Scale Group - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314567688517414 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567688517415} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4148314566377964343} - - {fileID: 4148314566652932103} - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &4148314567688517408 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567688517415} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 23.66 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &4148314567688517409 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314567688517415} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 32 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4148314568090315199 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314568090315198} - - component: {fileID: 4148314568090315195} - - component: {fileID: 4148314568090315192} - - component: {fileID: 4148314568090315193} - m_Layer: 5 - m_Name: GUI Scale Hint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314568090315198 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568090315199} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314568090315195 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568090315199} - m_CullTransparentMesh: 0 ---- !u!114 &4148314568090315192 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568090315199} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Increase the value to reduce GUI size - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 16 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 16 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4148314568090315193 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568090315199} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 400 - m_MinHeight: 16 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4148314568141976851 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314568141976850} - - component: {fileID: 4148314568141976860} - - component: {fileID: 4148314568141976861} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314568141976850 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568141976851} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4148314566652932103} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.25} - m_AnchorMax: {x: 1, y: 0.75} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314568141976860 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568141976851} - m_CullTransparentMesh: 0 ---- !u!114 &4148314568141976861 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568141976851} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 0564d275adab04552bd7f8f46d7c56e7, type: 3} - m_Type: 1 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 4 ---- !u!1 &4148314568161019027 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314568161019026} - - component: {fileID: 4148314568161019036} - - component: {fileID: 4148314568161019037} - m_Layer: 5 - m_Name: Water Quality Group - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4148314568161019026 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568161019027} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4148314566460647346} - - {fileID: 4148314567378886794} - - {fileID: 798792531220778673} - - {fileID: 4148314567519277963} - - {fileID: 798792532209073240} - - {fileID: 4148314567638613037} - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &4148314568161019036 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568161019027} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 24 - m_ChildAlignment: 1 - m_Spacing: 4 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &4148314568161019037 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568161019027} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AllowSwitchOff: 0 ---- !u!1 &4148314568183082012 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4148314568183082015} - - component: {fileID: 4148314568183082008} - - component: {fileID: 4148314568183082009} - - component: {fileID: 4148314568183082014} - m_Layer: 5 - m_Name: Water Quality Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &4148314568183082015 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568183082012} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 209, y: -125.479996} - m_SizeDelta: {x: 400, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4148314568183082008 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568183082012} - m_CullTransparentMesh: 0 ---- !u!114 &4148314568183082009 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568183082012} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Water Quality - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 26.85 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 00000000 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4148314568183082014 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314568183082012} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 400 - m_MinHeight: 30 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4314926722799595282 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5041162129742854245} - - component: {fileID: 6049571454211895888} - m_Layer: 5 - m_Name: GameObject - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5041162129742854245 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4314926722799595282} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3289741352100952002} - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &6049571454211895888 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4314926722799595282} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 24 - m_ChildAlignment: 1 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!1 &4914503947837950809 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5755025513776029253} - - component: {fileID: 5926694952034990065} - m_Layer: 5 - m_Name: GameObject - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5755025513776029253 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4914503947837950809} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1008958196427047464} - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &5926694952034990065 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4914503947837950809} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 4 - m_Right: 4 - m_Top: 24 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!1 &5468848556945729315 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7056691641732137188} - - component: {fileID: 7163937798351096137} - - component: {fileID: 4465284092914018755} - - component: {fileID: 5431126171737425945} - m_Layer: 5 - m_Name: Compass label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7056691641732137188 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5468848556945729315} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 524646387881860423} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 45.62, y: 24} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7163937798351096137 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5468848556945729315} - m_CullTransparentMesh: 0 ---- !u!114 &4465284092914018755 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5468848556945729315} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: On/Off - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 15 - m_fontSizeBase: 15 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 1 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 3, z: 0, w: 3} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &5431126171737425945 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5468848556945729315} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 0 - m_PreferredHeight: -1 - m_FlexibleWidth: 99999 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &6108306967470640707 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 524646387881860423} - - component: {fileID: 6912340458428542179} - m_Layer: 5 - m_Name: GameObject (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &524646387881860423 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6108306967470640707} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6108945230914302406} - - {fileID: 7056691641732137188} - m_Father: {fileID: 5657961846980359799} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &6912340458428542179 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6108306967470640707} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 1 - m_Spacing: 0 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!1001 &798792531335648948 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 4148314568161019026} - m_Modifications: - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_SizeDelta.x - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_SizeDelta.y - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Name - value: Simple Water Radio - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744009, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744009, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 9219a0d1945e34b78be9815c8f0cbf11, - type: 3} - - target: {fileID: 3640077888067744011, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Group - value: - objectReference: {fileID: 4148314568161019037} - - target: {fileID: 3640077888716000263, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888716000263, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: cd2d250399b414901bad40562a591355, - type: 3} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314566460647358} - m_SourcePrefab: {fileID: 100100000, guid: a32902b751ab3e541b86447361bbb148, type: 3} ---- !u!224 &4148314566460647346 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 798792531335648948} - m_PrefabAsset: {fileID: 0} ---- !u!1 &4148314566460647347 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 798792531335648948} - m_PrefabAsset: {fileID: 0} ---- !u!114 &4148314566460647358 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566460647347} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 30 - m_MinHeight: -1 - m_PreferredWidth: 30 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!114 &4148314566460647359 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 3640077888067744011, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 798792531335648948} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4148314566460647347} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1001 &1639644292536271214 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 5657961846980359799} - m_Modifications: - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3937602099602700838, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 6525684143615726109, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7230025111042509220, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_text - value: Overall quality - objectReference: {fileID: 0} - - target: {fileID: 9059434882248163405, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Name - value: Decorated Header - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 718e44fb2550f5f42bac217364367066, type: 3} ---- !u!224 &97221863668347124 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - m_PrefabInstance: {fileID: 1639644292536271214} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &1708017697244269288 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1363300979575058775, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1363300979575058775, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3362090858256578404, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_PresetInfoIsWorld - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033885, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_text - value: Graphics Settings - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033885, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: 'm_ActiveFontFeatures.Array.data[0]' - value: 1801810542 - objectReference: {fileID: 0} - - target: {fileID: 6426926222443932187, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 1.6000061 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Name - value: GraphicsSettingsWindow - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 24752 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 14659 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 12376 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 7329.5 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223143253523, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -1.6000061 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223204803392, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: 'm_ActiveFontFeatures.Array.data[0]' - value: 1801810542 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Spacing - value: 9.24 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_ChildAlignment - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Padding.m_Left - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Padding.m_Right - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223540170643, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -1.6000061 - objectReference: {fileID: 0} - - target: {fileID: 6426926223678012609, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 1.6000061 - objectReference: {fileID: 0} - - target: {fileID: 9173432770828700879, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AdditionalShaderChannelsFlag - value: 25 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314566818367806} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 97221863668347124} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 5041162129742854245} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314568183082015} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 8609740454208525824} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314568161019026} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314567597090478} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 5446310304501397591} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314568090315198} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314567688517414} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 6514710817977729686} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 524646387881860423} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 5755025513776029253} - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 6321372607927577386} - m_SourcePrefab: {fileID: 100100000, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, type: 3} ---- !u!224 &5657961846980359799 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - m_PrefabInstance: {fileID: 1708017697244269288} - m_PrefabAsset: {fileID: 0} ---- !u!1 &5657961848192912190 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - m_PrefabInstance: {fileID: 1708017697244269288} - m_PrefabAsset: {fileID: 0} ---- !u!114 &6321372607927577386 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5657961848192912190} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e6d198949033a9145bdfba5449e9ae62, type: 3} - m_Name: - m_EditorClassIdentifier: - simpleWaterToggle: {fileID: 4148314566460647359} - highWaterToggle: {fileID: 798792531220778684} - ultraWaterToggle: {fileID: 798792532209073237} - overallQualityDropdown: {fileID: 3289741352100952001} - guiScaleSlider: {fileID: 4148314566652932102} - guiScaleValueText: {fileID: 4148314566377964342} - compassToggle: {fileID: 6108945230914302411} - _saveButton: {fileID: 1008958196427047465} ---- !u!1001 &4148314566380388279 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 4148314568161019026} - m_Modifications: - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_SizeDelta.x - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_SizeDelta.y - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Name - value: High Water Radio - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744009, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744009, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 9219a0d1945e34b78be9815c8f0cbf11, - type: 3} - - target: {fileID: 3640077888067744011, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Group - value: - objectReference: {fileID: 4148314568161019037} - - target: {fileID: 3640077888716000263, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888716000263, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: cd2d250399b414901bad40562a591355, - type: 3} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314567375337859} - m_SourcePrefab: {fileID: 100100000, guid: a32902b751ab3e541b86447361bbb148, type: 3} ---- !u!1 &798792531220778672 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 4148314566380388279} - m_PrefabAsset: {fileID: 0} ---- !u!114 &4148314567375337859 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 798792531220778672} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 30 - m_MinHeight: -1 - m_PreferredWidth: 30 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!224 &798792531220778673 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 4148314566380388279} - m_PrefabAsset: {fileID: 0} ---- !u!114 &798792531220778684 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 3640077888067744011, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 4148314566380388279} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 798792531220778672} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1001 &4148314566568019582 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 5041162129742854245} - m_Modifications: - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_text - value: - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_fontSize - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_fontStyle - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_fontColor.b - value: 0.654902 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_fontColor.g - value: 0.8784314 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_fontColor.r - value: 0.9411765 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_fontSizeMin - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_textAlignment - value: 65535 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_enableAutoSizing - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_TextStyleHashCode - value: -1183493901 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_VerticalAlignment - value: 512 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_textInfo.lineCount - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_textInfo.pageCount - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_textInfo.wordCount - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_HorizontalAlignment - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_textInfo.spaceCount - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_textInfo.characterCount - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908342, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: 'm_ActiveFontFeatures.Array.data[0]' - value: 1801810542 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908343, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: -48 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908343, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.y - value: -32 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908343, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616312908343, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616379859878, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: f849ff35a2e83425c873dbb2b2e89646, - type: 3} - - target: {fileID: 1456426616379859878, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 1456426616379859879, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616379859879, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616379859879, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616379859879, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616379859879, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616425465600, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Color.a - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616425465601, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616425465601, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616425465601, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: -1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_NormalColor.a - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_NormalColor.b - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_NormalColor.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_NormalColor.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_PressedColor.a - value: 0.1764706 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_PressedColor.b - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_PressedColor.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_PressedColor.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_SelectedColor.a - value: 0.1764706 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629494, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Colors.m_HighlightedColor.a - value: 0.1764706 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMin.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: 240.9 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.y - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 120.45 - objectReference: {fileID: 0} - - target: {fileID: 1456426616661629495, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -20 - objectReference: {fileID: 0} - - target: {fileID: 1456426616922601868, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Type - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616922601868, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - - target: {fileID: 1456426616928389388, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616928389388, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Value - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426616928389389, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 1456426616928389389, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.y - value: -6 - objectReference: {fileID: 0} - - target: {fileID: 1456426616928389389, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -5 - objectReference: {fileID: 0} - - target: {fileID: 1456426616928389389, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -3 - objectReference: {fileID: 0} - - target: {fileID: 1456426616928389391, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 5c3b2fc1506404fea944709b32c9bede, - type: 3} - - target: {fileID: 1456426616928389391, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 1456426617173119072, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: -10 - objectReference: {fileID: 0} - - target: {fileID: 1456426617173119072, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.y - value: 160 - objectReference: {fileID: 0} - - target: {fileID: 1456426617173119072, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426617173119072, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -10 - objectReference: {fileID: 0} - - target: {fileID: 1456426617173119073, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426617296250027, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426617296250027, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426617296250027, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMin.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426617296250027, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: 240.9 - objectReference: {fileID: 0} - - target: {fileID: 1456426617296250027, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.y - value: 184 - objectReference: {fileID: 0} - - target: {fileID: 1456426617296250027, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 128.45 - objectReference: {fileID: 0} - - target: {fileID: 1456426617296250027, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426617784839742, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -5.2 - objectReference: {fileID: 0} - - target: {fileID: 1456426617812338066, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709220, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_textAlignment - value: 65535 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709220, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_fontColor32.rgba - value: 4281479730 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709220, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_TextStyleHashCode - value: -1183493901 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709220, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_VerticalAlignment - value: 512 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709221, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: -16 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709221, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.y - value: -4 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709221, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426617924709221, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.x - value: 267.9 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_SizeDelta.y - value: 48 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163709, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Name - value: Overall Quality Dropdown - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163710, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, - type: 3} - - target: {fileID: 1456426618049163710, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Color.b - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163710, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163710, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Color.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163710, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 1456426618049163711, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - propertyPath: m_Options.m_Options.Array.size - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: - - targetCorrespondingSourceObject: {fileID: 1456426617173119072, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - insertIndex: 0 - addedObject: {fileID: 2627594263236026728} - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 1456426618049163709, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314566568019579} - - targetCorrespondingSourceObject: {fileID: 1456426616425465630, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - insertIndex: -1 - addedObject: {fileID: 5246242124526511509} - - targetCorrespondingSourceObject: {fileID: 1456426617296250024, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - insertIndex: -1 - addedObject: {fileID: 1618593984731148275} - m_SourcePrefab: {fileID: 100100000, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, type: 3} ---- !u!1 &3289741350469845344 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 1456426616425465630, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - m_PrefabInstance: {fileID: 4148314566568019582} - m_PrefabAsset: {fileID: 0} ---- !u!114 &5246242124526511509 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3289741350469845344} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 8 - m_Right: 8 - m_Top: 8 - m_Bottom: 8 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!1 &3289741350668362454 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 1456426617296250024, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - m_PrefabInstance: {fileID: 4148314566568019582} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1618593984731148275 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3289741350668362454} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 8 - m_Bottom: 8 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 1 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!224 &3289741350825268766 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 1456426617173119072, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - m_PrefabInstance: {fileID: 4148314566568019582} - m_PrefabAsset: {fileID: 0} ---- !u!114 &3289741352100952001 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 1456426618049163711, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - m_PrefabInstance: {fileID: 4148314566568019582} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3289741352100952003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7b743370ac3e4ec2a1668f5455a8ef8a, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!224 &3289741352100952002 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 1456426618049163708, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - m_PrefabInstance: {fileID: 4148314566568019582} - m_PrefabAsset: {fileID: 0} ---- !u!1 &3289741352100952003 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 1456426618049163709, guid: 1b4b1e3a8799b2f4bbef154c77b9fe18, - type: 3} - m_PrefabInstance: {fileID: 4148314566568019582} - m_PrefabAsset: {fileID: 0} ---- !u!114 &4148314566568019579 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3289741352100952003} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 48 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1001 &4148314567334055262 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 4148314568161019026} - m_Modifications: - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_SizeDelta.x - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_SizeDelta.y - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Name - value: Ultra Water Radio - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744009, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744009, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 9219a0d1945e34b78be9815c8f0cbf11, - type: 3} - - target: {fileID: 3640077888067744011, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Group - value: - objectReference: {fileID: 4148314568161019037} - - target: {fileID: 3640077888716000263, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888716000263, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: cd2d250399b414901bad40562a591355, - type: 3} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314568054849253} - m_SourcePrefab: {fileID: 100100000, guid: a32902b751ab3e541b86447361bbb148, type: 3} ---- !u!114 &798792532209073237 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 3640077888067744011, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 4148314567334055262} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 798792532209073241} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!224 &798792532209073240 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 3640077888067744006, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 4148314567334055262} - m_PrefabAsset: {fileID: 0} ---- !u!1 &798792532209073241 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 3640077888067744007, guid: a32902b751ab3e541b86447361bbb148, - type: 3} - m_PrefabInstance: {fileID: 4148314567334055262} - m_PrefabAsset: {fileID: 0} ---- !u!114 &4148314568054849253 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 798792532209073241} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 30 - m_MinHeight: -1 - m_PreferredWidth: 30 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1001 &4148314567712107040 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 5755025513776029253} - m_Modifications: - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 394 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target - value: - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName - value: OnSaveButton - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName - value: UnityEngine.Object, UnityEngine - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Name - value: Save Button - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, - type: 3} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_text - value: Save changes - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_fontSize - value: 16.1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textAlignment - value: 65535 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_TextStyleHashCode - value: -1183493901 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_VerticalAlignment - value: 512 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.wordCount - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_HorizontalAlignment - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.spaceCount - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_havePropertiesChanged - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_isInputParsingRequired - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textInfo.characterCount - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: 'm_ActiveFontFeatures.Array.data[0]' - value: 1801810542 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 4148314567712107042} - m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} ---- !u!224 &1008958196427047464 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 4148314567712107040} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1008958196427047465 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 4148314567712107040} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1008958196427047467} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &1008958196427047467 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 4148314567712107040} - m_PrefabAsset: {fileID: 0} ---- !u!114 &4148314567712107042 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1008958196427047467} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 50 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1001 &5616182206716211980 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 5657961846980359799} - m_Modifications: - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3937602099602700838, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 6525684143615726109, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7230025111042509220, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_text - value: Compass - objectReference: {fileID: 0} - - target: {fileID: 9059434882248163405, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Name - value: Decorated Header (3) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 718e44fb2550f5f42bac217364367066, type: 3} ---- !u!224 &6514710817977729686 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - m_PrefabInstance: {fileID: 5616182206716211980} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &6633071433886960077 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 5657961846980359799} - m_Modifications: - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3937602099602700838, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 6525684143615726109, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7230025111042509220, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_text - value: GUI scale - objectReference: {fileID: 0} - - target: {fileID: 9059434882248163405, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Name - value: Decorated Header (2) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 718e44fb2550f5f42bac217364367066, type: 3} ---- !u!224 &5446310304501397591 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - m_PrefabInstance: {fileID: 6633071433886960077} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &6981626558061324186 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 5657961846980359799} - m_Modifications: - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 348134671960328744, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 926647082067193418, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1227160728663834911, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3491260333785701224, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3937602099602700838, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 6525684143615726109, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -2.5 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7139301191977949949, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7230025111042509220, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_text - value: Water quality - objectReference: {fileID: 0} - - target: {fileID: 9059434882248163405, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - propertyPath: m_Name - value: Decorated Header (1) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 718e44fb2550f5f42bac217364367066, type: 3} ---- !u!224 &8609740454208525824 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 1700189187682431386, guid: 718e44fb2550f5f42bac217364367066, - type: 3} - m_PrefabInstance: {fileID: 6981626558061324186} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &7368859719726694592 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 524646387881860423} - m_Modifications: - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_SizeDelta.x - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_SizeDelta.y - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744007, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_Name - value: Compass Toggle - objectReference: {fileID: 0} - - target: {fileID: 3640077888067744011, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - propertyPath: m_IsOn - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6db79a0e8f0c9af48905e99b0003cb83, type: 3} ---- !u!224 &6108945230914302406 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 3640077888067744006, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - m_PrefabInstance: {fileID: 7368859719726694592} - m_PrefabAsset: {fileID: 0} ---- !u!114 &6108945230914302411 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 3640077888067744011, guid: 6db79a0e8f0c9af48905e99b0003cb83, - type: 3} - m_PrefabInstance: {fileID: 7368859719726694592} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: diff --git a/Assets/Resources/Windows/GraphicsSettingsWindow.prefab.meta b/Assets/Resources/Windows/GraphicsSettingsWindow.prefab.meta deleted file mode 100644 index f47f889f..00000000 --- a/Assets/Resources/Windows/GraphicsSettingsWindow.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 730fa5e71d6d4d14885ed8f88dbbc072 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Windows/InputSettingsWindow.prefab b/Assets/Resources/Windows/InputSettingsWindow.prefab deleted file mode 100644 index 8a6a5bf1..00000000 --- a/Assets/Resources/Windows/InputSettingsWindow.prefab +++ /dev/null @@ -1,2401 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &273912767523788857 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2858287229224851860} - - component: {fileID: 4129173399384645780} - - component: {fileID: 2657331985857951597} - - component: {fileID: 8354714352496091569} - m_Layer: 5 - m_Name: InputCategoryText - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2858287229224851860 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 273912767523788857} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3601846987940559005} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4129173399384645780 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 273912767523788857} - m_CullTransparentMesh: 1 ---- !u!114 &2657331985857951597 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 273912767523788857} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Input Category - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 32 - m_fontSizeBase: 32 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 8192 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &8354714352496091569 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 273912767523788857} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 120 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &574352557187036216 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6774809981965729282} - - component: {fileID: 8681215745238052154} - - component: {fileID: 5810249804819494161} - m_Layer: 5 - m_Name: ActionNameText - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6774809981965729282 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 574352557187036216} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1647064618682010218} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 10, y: 8} - m_SizeDelta: {x: 400, y: -40} - m_Pivot: {x: 0, y: 0.5} ---- !u!222 &8681215745238052154 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 574352557187036216} - m_CullTransparentMesh: 1 ---- !u!114 &5810249804819494161 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 574352557187036216} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Action Name - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 21.45 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 10 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &637225058702128510 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1647064618682010218} - - component: {fileID: 8339777392786121103} - - component: {fileID: 1231217740526157400} - m_Layer: 5 - m_Name: InputSettingsElement - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1647064618682010218 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 637225058702128510} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6774809981965729282} - - {fileID: 8673433605614237372} - - {fileID: 202345781427144605} - - {fileID: 6753065021785349014} - m_Father: {fileID: 3601846987940559005} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &8339777392786121103 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 637225058702128510} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: 64 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!114 &1231217740526157400 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 637225058702128510} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 78a0071de20c4e86b70f1f570bee733b, type: 3} - m_Name: - m_EditorClassIdentifier: - _actionNameText: {fileID: 5810249804819494161} - _currentKeybindText: {fileID: 609620734755761904} - _changeBindingButton: {fileID: 202345781427144604} ---- !u!1 &2704927326353894168 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8673433605614237372} - - component: {fileID: 9104044621191523937} - - component: {fileID: 609620734755761904} - m_Layer: 5 - m_Name: ActionInputText - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8673433605614237372 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2704927326353894168} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1647064618682010218} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -140, y: 8} - m_SizeDelta: {x: 250, y: -48} - m_Pivot: {x: 1, y: 0.5} ---- !u!222 &9104044621191523937 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2704927326353894168} - m_CullTransparentMesh: 1 ---- !u!114 &609620734755761904 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2704927326353894168} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Input - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 14.3 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 10 - m_fontSizeMax: 72 - m_fontStyle: 1 - m_HorizontalAlignment: 4 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &3601846987940559004 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846987940559005} - - component: {fileID: 3601846987940559010} - - component: {fileID: 3601846987940559008} - - component: {fileID: 3601846987940559011} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846987940559005 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846987940559004} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2858287229224851860} - - {fileID: 1647064618682010218} - m_Father: {fileID: 3601846989021959537} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -0.000007270341} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 1} ---- !u!222 &3601846987940559010 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846987940559004} - m_CullTransparentMesh: 0 ---- !u!114 &3601846987940559008 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846987940559004} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 32 - m_Right: 32 - m_Top: 32 - m_Bottom: 32 - m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &3601846987940559011 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846987940559004} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 ---- !u!1 &3601846988495960099 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846988495960096} - - component: {fileID: 3601846988495960103} - - component: {fileID: 3601846988495960102} - - component: {fileID: 3601846988495960097} - m_Layer: 5 - m_Name: Scrollbar Horizontal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &3601846988495960096 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846988495960099} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3601846989103506938} - m_Father: {fileID: 3601846989879614114} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 20} - m_Pivot: {x: 0, y: 0} ---- !u!222 &3601846988495960103 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846988495960099} - m_CullTransparentMesh: 0 ---- !u!114 &3601846988495960102 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846988495960099} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &3601846988495960097 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846988495960099} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 3601846989811463521} - m_HandleRect: {fileID: 3601846989811463520} - m_Direction: 0 - m_Value: 0 - m_Size: 1 - m_NumberOfSteps: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &3601846988678167911 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846988678167908} - - component: {fileID: 3601846988678167914} - - component: {fileID: 3601846988678167909} - m_Layer: 5 - m_Name: Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846988678167908 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846988678167911} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3601846989605615376} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: -16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3601846988678167914 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846988678167911} - m_CullTransparentMesh: 0 ---- !u!114 &3601846988678167909 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846988678167911} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 5c3b2fc1506404fea944709b32c9bede, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 4 ---- !u!1 &3601846989021959536 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846989021959537} - - component: {fileID: 3601846989021959540} - - component: {fileID: 3601846989021959543} - - component: {fileID: 3601846989021959542} - m_Layer: 5 - m_Name: Viewport - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846989021959537 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989021959536} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3601846987940559005} - m_Father: {fileID: 3601846989879614114} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 1} ---- !u!114 &3601846989021959540 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989021959536} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 ---- !u!222 &3601846989021959543 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989021959536} - m_CullTransparentMesh: 0 ---- !u!114 &3601846989021959542 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989021959536} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &3601846989103506933 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846989103506938} - m_Layer: 5 - m_Name: Sliding Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846989103506938 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989103506933} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3601846989811463520} - m_Father: {fileID: 3601846988495960096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &3601846989309080272 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846989309080273} - - component: {fileID: 3601846989309080279} - - component: {fileID: 3601846989309080278} - m_Layer: 5 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846989309080273 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989309080272} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3601846989605615376} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3601846989309080279 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989309080272} - m_CullTransparentMesh: 0 ---- !u!114 &3601846989309080278 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989309080272} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: f849ff35a2e83425c873dbb2b2e89646, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 8 ---- !u!1 &3601846989605615379 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846989605615376} - - component: {fileID: 3601846989605615383} - - component: {fileID: 3601846989605615377} - m_Layer: 5 - m_Name: Scrollbar Vertical - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846989605615376 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989605615379} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3601846988678167908} - - {fileID: 3601846989309080273} - m_Father: {fileID: 3601846989879614114} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 788, y: -8} - m_SizeDelta: {x: 14, y: -16} - m_Pivot: {x: 1, y: 1} ---- !u!222 &3601846989605615383 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989605615379} - m_CullTransparentMesh: 0 ---- !u!114 &3601846989605615377 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989605615379} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 3601846989309080278} - m_HandleRect: {fileID: 3601846989309080273} - m_Direction: 2 - m_Value: 0 - m_Size: 1 - m_NumberOfSteps: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &3601846989811463523 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846989811463520} - - component: {fileID: 3601846989811463526} - - component: {fileID: 3601846989811463521} - m_Layer: 5 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846989811463520 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989811463523} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3601846989103506938} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3601846989811463526 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989811463523} - m_CullTransparentMesh: 0 ---- !u!114 &3601846989811463521 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989811463523} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &3601846989879614109 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3601846989879614114} - - component: {fileID: 3601846989879614113} - - component: {fileID: 3601846989879614112} - - component: {fileID: 3601846989879614115} - - component: {fileID: 7364950559450596229} - - component: {fileID: 5895678793778238451} - - component: {fileID: 1550470250206378214} - - component: {fileID: 1825347986434685750} - m_Layer: 5 - m_Name: List - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3601846989879614114 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3601846989021959537} - - {fileID: 1758331433094534255} - - {fileID: 3601846988495960096} - - {fileID: 3601846989605615376} - m_Father: {fileID: 2574496354064767139} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &3601846989879614113 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Content: {fileID: 3601846987940559005} - m_Horizontal: 0 - m_Vertical: 1 - m_MovementType: 2 - m_Elasticity: 0.1 - m_Inertia: 1 - m_DecelerationRate: 0.135 - m_ScrollSensitivity: 30 - m_Viewport: {fileID: 3601846989021959537} - m_HorizontalScrollbar: {fileID: 3601846988495960097} - m_VerticalScrollbar: {fileID: 3601846989605615377} - m_HorizontalScrollbarVisibility: 0 - m_VerticalScrollbarVisibility: 2 - m_HorizontalScrollbarSpacing: -3 - m_VerticalScrollbarSpacing: -3 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!222 &3601846989879614112 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_CullTransparentMesh: 0 ---- !u!114 &3601846989879614115 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &7364950559450596229 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: {x: 0, y: 0, z: 0, w: 0} - m_Softness: {x: 0, y: 0} ---- !u!223 &5895678793778238451 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 2 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 25 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!114 &1550470250206378214 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1825347986434685750 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3601846989879614109} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: 800 - m_MinHeight: 500 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &6986807524588960635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6753065021785349014} - - component: {fileID: 4934553741966515704} - - component: {fileID: 6763740322732351746} - m_Layer: 5 - m_Name: Seperator - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6753065021785349014 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6986807524588960635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1647064618682010218} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: -24} - m_SizeDelta: {x: -8, y: 14} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4934553741966515704 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6986807524588960635} - m_CullTransparentMesh: 1 ---- !u!114 &6763740322732351746 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6986807524588960635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 0564d275adab04552bd7f8f46d7c56e7, type: 3} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 4 ---- !u!1 &8325777858608333049 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1528803183458227742} - - component: {fileID: 1330002410892585690} - - component: {fileID: 5548483690261536860} - m_Layer: 5 - m_Name: RebindFadeText - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1528803183458227742 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8325777858608333049} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6517214451882897204} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1000, y: 500} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1330002410892585690 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8325777858608333049} - m_CullTransparentMesh: 1 ---- !u!114 &5548483690261536860 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8325777858608333049} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: 'Waiting for input to rebind - - - Rebind name' - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 60 - m_fontSizeBase: 60 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &8972781001622809378 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6517214451882897204} - - component: {fileID: 6660227261908445165} - - component: {fileID: 7535839875650624598} - - component: {fileID: 2145080654920339956} - m_Layer: 5 - m_Name: RebindFade - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &6517214451882897204 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8972781001622809378} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1528803183458227742} - m_Father: {fileID: 2574496354410423787} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!225 &6660227261908445165 -CanvasGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8972781001622809378} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!222 &7535839875650624598 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8972781001622809378} - m_CullTransparentMesh: 1 ---- !u!114 &2145080654920339956 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8972781001622809378} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 0.7058824} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1001 &3456395220769242215 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 3601846989879614114} - m_Modifications: - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 239.7 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 48 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 397.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -468.1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Name - value: ResetAllSettingsButton - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, - type: 3} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_text - value: Reset all settings to default - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_fontSize - value: 14.3 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textAlignment - value: 65535 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_TextStyleHashCode - value: -1183493901 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_VerticalAlignment - value: 512 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_HorizontalAlignment - value: 2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 6349037827248369734} - m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} ---- !u!1 &1758331433094534252 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 3456395220769242215} - m_PrefabAsset: {fileID: 0} ---- !u!114 &6349037827248369734 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1758331433094534252} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 48 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!114 &1758331433094534254 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 3456395220769242215} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1758331433094534252} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!224 &1758331433094534255 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 3456395220769242215} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &3845982092929118101 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1647064618682010218} - m_Modifications: - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 120 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.y - value: -16 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -5 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079115, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Name - value: RebindButton - objectReference: {fileID: 0} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: b148064e623af440792097d65ffacf8f, - type: 3} - - target: {fileID: 4004065367148079222, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_PixelsPerUnitMultiplier - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624768, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_SizeDelta.y - value: -32 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624768, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_text - value: Rebind - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_fontSize - value: 14.3 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_textAlignment - value: 65535 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_TextStyleHashCode - value: -1183493901 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_VerticalAlignment - value: 512 - objectReference: {fileID: 0} - - target: {fileID: 4004065367293624769, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - propertyPath: m_HorizontalAlignment - value: 2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, type: 3} ---- !u!114 &202345781427144604 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 4004065367148079113, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 3845982092929118101} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!224 &202345781427144605 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 4004065367148079112, guid: 60c0b515a8eb8eb44b12c1ceae7480b8, - type: 3} - m_PrefabInstance: {fileID: 3845982092929118101} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &8830280766332658748 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1363300979575058775, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1363300979575058775, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3362090858256578404, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_PresetInfoIsWorld - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033874, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222301033885, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_text - value: Input Settings - objectReference: {fileID: 0} - - target: {fileID: 6426926222443932187, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 1.6000061 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222669548959, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Name - value: InputSettingsWindow - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 14042.5 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 7934.5 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 7021.25 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3967.25 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223143253523, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -1.6000061 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223170459920, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Padding.m_Top - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Padding.m_Left - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Padding.m_Right - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290904, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_Padding.m_Bottom - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6426926223540170643, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -1.6000061 - objectReference: {fileID: 0} - - target: {fileID: 6426926223678012609, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 1.6000061 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: - - targetCorrespondingSourceObject: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 6517214451882897204} - - targetCorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 3601846989879614114} - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - insertIndex: -1 - addedObject: {fileID: 175241675002114017} - m_SourcePrefab: {fileID: 100100000, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, type: 3} ---- !u!224 &2574496354064767139 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6426926223337290911, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - m_PrefabInstance: {fileID: 8830280766332658748} - m_PrefabAsset: {fileID: 0} ---- !u!1 &2574496354410423786 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 6426926222874444246, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - m_PrefabInstance: {fileID: 8830280766332658748} - m_PrefabAsset: {fileID: 0} ---- !u!114 &175241675002114017 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2574496354410423786} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6478b4e57819409b95b53f30912fe1a3, type: 3} - m_Name: - m_EditorClassIdentifier: - _rebindFade: {fileID: 6660227261908445165} - _rebindText: {fileID: 5548483690261536860} - _settingsContent: {fileID: 3601846987940559005} - _inputMapNamePrefab: {fileID: 2657331985857951597} - _inputElementPrefab: {fileID: 1231217740526157400} - _resetBindingsButton: {fileID: 1758331433094534254} ---- !u!224 &2574496354410423787 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6426926222874444247, guid: 46046bc2bf6f2aa45bc4ceb69acc04b8, - type: 3} - m_PrefabInstance: {fileID: 8830280766332658748} - m_PrefabAsset: {fileID: 0} diff --git a/Assets/Resources/Windows/InputSettingsWindow.prefab.meta b/Assets/Resources/Windows/InputSettingsWindow.prefab.meta deleted file mode 100644 index 624ea417..00000000 --- a/Assets/Resources/Windows/InputSettingsWindow.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f62f432421bc0d742ad60c29d2fc9fcb -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs index 153b20fd..796cce86 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuAction.cs @@ -2,6 +2,6 @@ namespace Warlander.Deedplanner.Editing { public enum MenuAction { - Resize, Clear, New, Save, SaveAs, Load, GraphicsSettings, InputSettings, Settings, Credits, Fullscreen, Quit, Patreon, Paypal + Resize, Clear, New, Save, SaveAs, Load, Settings, Credits, Fullscreen, Quit, Patreon, Paypal } } diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs index e028b1eb..5dfc79c6 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs @@ -161,14 +161,8 @@ private void OnButtonClicked(MenuAction action) case MenuAction.Load: _homeScreenPresenter.ShowHomeScreen(true); break; - case MenuAction.GraphicsSettings: - _windowCoordinator.CreateWindowExclusive(WindowNames.GraphicsSettingsWindow); - break; - case MenuAction.InputSettings: - _windowCoordinator.CreateWindowExclusive(WindowNames.InputSettingsWindow); - break; case MenuAction.Settings: - OpenNewSettingsWindow(); + OpenSettingsWindow(); break; case MenuAction.Credits: _windowCoordinator.CreateWindow(WindowNames.CreditsWindow); @@ -188,7 +182,7 @@ private void OnButtonClicked(MenuAction action) } } - private void OpenNewSettingsWindow() + private void OpenSettingsWindow() { Window window = _windowCoordinator.CreateWindowExclusive(WindowNames.SettingsWindow); window.GetComponent().Initialize(_settingsRegistry); diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs index 7802ff3b..4e21e19e 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdaterView.cs @@ -13,8 +13,6 @@ public class MenuUpdaterView : MonoBehaviour, IMenuUpdaterView [SerializeField] private Button _saveButton; [SerializeField] private Button _saveAsButton; [SerializeField] private Button _loadButton; - [SerializeField] private Button _graphicsSettingsButton; - [SerializeField] private Button _inputSettingsButton; [SerializeField] private Button _settingsButton; [SerializeField] private Button _creditsButton; [SerializeField] private Button _fullscreenButton; @@ -39,8 +37,6 @@ private void Awake() _saveButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Save)); _saveAsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.SaveAs)); _loadButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Load)); - _graphicsSettingsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.GraphicsSettings)); - _inputSettingsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.InputSettings)); _settingsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Settings)); _creditsButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Credits)); _fullscreenButton.onClick.AddListener(() => ButtonClicked?.Invoke(MenuAction.Fullscreen)); diff --git a/Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs b/Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs deleted file mode 100644 index 241bec55..00000000 --- a/Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using TMPro; -using UnityEngine; -using UnityEngine.InputSystem; -using UnityEngine.UI; - -namespace Warlander.Deedplanner.Ui.Widgets -{ - public class InputSettingElement : MonoBehaviour - { - [SerializeField] private TMP_Text _actionNameText; - [SerializeField] private TMP_Text _currentKeybindText; - [SerializeField] private Button _changeBindingButton; - - public event Action RebindStarted; - public event Action RebindSuccess; - public event Action RebindFailed; - - private InputAction _inputAction; - private int _bindingIndex; - - private void Awake() - { - _changeBindingButton.onClick.AddListener(OnChangeBindingClick); - } - - public void Set(InputAction inputAction, int bindingIndex) - { - _inputAction = inputAction; - _bindingIndex = bindingIndex; - - RefreshUI(); - } - - public void RefreshUI() - { - if (_inputAction == null) - { - return; - } - - _actionNameText.text = GetBindingName(); - _currentKeybindText.text = _inputAction.bindings[_bindingIndex].ToDisplayString(); - } - - public string GetBindingName() - { - string bindingName = _inputAction.bindings[_bindingIndex].name; - if (string.IsNullOrEmpty(bindingName) == false) - { - return $"{_inputAction.name} ({bindingName})"; - } - else - { - return _inputAction.name; - } - } - - private void OnChangeBindingClick() - { - _inputAction.Disable(); - - _inputAction.PerformInteractiveRebinding(_bindingIndex).OnComplete(operation => - { - Set(_inputAction, _bindingIndex); - operation.Dispose(); - _inputAction.Enable(); - RebindSuccess?.Invoke(); - }).OnCancel(operation => - { - operation.Dispose(); - _inputAction.Enable(); - RebindFailed?.Invoke(); - }).Start(); - - RebindStarted?.Invoke(this); - } - } -} diff --git a/Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs.meta b/Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs.meta deleted file mode 100644 index f182cc39..00000000 --- a/Assets/Warlander/Deedplanner/Ui/Widgets/InputSettingElement.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 78a0071de20c4e86b70f1f570bee733b -timeCreated: 1693911060 \ No newline at end of file diff --git a/Assets/Warlander/Deedplanner/Ui/WindowNames.cs b/Assets/Warlander/Deedplanner/Ui/WindowNames.cs index f7b97e19..d8aeaaf2 100644 --- a/Assets/Warlander/Deedplanner/Ui/WindowNames.cs +++ b/Assets/Warlander/Deedplanner/Ui/WindowNames.cs @@ -8,8 +8,6 @@ public static class WindowNames public const string SaveMapWindow = "Windows/SaveMapWindow"; public const string LoadMapWindow = "Windows/LoadMapWindow"; public const string DeleteSaveWindow = "Windows/DeleteSaveWindow"; - public const string GraphicsSettingsWindow = "Windows/GraphicsSettingsWindow"; - public const string InputSettingsWindow = "Windows/InputSettingsWindow"; public const string SettingsWindow = "Windows/SettingsWindow"; public const string CreditsWindow = "Windows/CreditsWindow"; public const string TextWindow = "Windows/TextWindow"; diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs b/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs deleted file mode 100644 index 9bef961b..00000000 --- a/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs +++ /dev/null @@ -1,111 +0,0 @@ -using TMPro; -using UnityEngine; -using UnityEngine.UI; -using VContainer; -using Warlander.Deedplanner.Settings; -using Warlander.UI.Windows; -using QualityLevel = Warlander.Deedplanner.Settings.QualityLevel; - -namespace Warlander.Deedplanner.Ui.Windows -{ - public class GraphicSettingsWindow : MonoBehaviour - { - [Inject] private GraphicsOptions _graphics; - [Inject] private UiSettings _ui; - private Window _window; - - [SerializeField] private Toggle simpleWaterToggle; - [SerializeField] private Toggle highWaterToggle; - [SerializeField] private Toggle ultraWaterToggle; - - [SerializeField] private TMP_Dropdown overallQualityDropdown; - - [SerializeField] private Slider guiScaleSlider; - [SerializeField] private TMP_Text guiScaleValueText; - - [SerializeField] private Toggle compassToggle; - - [SerializeField] private Button _saveButton; - - private void Awake() - { - _window = GetComponentInParent(true); - } - - private void Start() - { - string[] availableQualitySettings = QualitySettings.names; - - foreach (string qualitySetting in availableQualitySettings) - { - overallQualityDropdown.options.Add(new TMP_Dropdown.OptionData(qualitySetting)); - } - - ApplyProperties(); - - guiScaleSlider.onValueChanged.AddListener(GuiScaleOnValueChanged); - _saveButton.onClick.AddListener(SaveButtonOnClick); - } - - private void SaveButtonOnClick() - { - SaveProperties(); - _window.Close(); - } - - private void ApplyProperties() - { - WaterQuality waterQuality = _graphics.WaterQuality; - switch (waterQuality) - { - case WaterQuality.Simple: - simpleWaterToggle.isOn = true; - break; - case WaterQuality.High: - highWaterToggle.isOn = true; - break; - case WaterQuality.Ultra: - ultraWaterToggle.isOn = true; - break; - } - - bool compassVisibility = _ui.CompassVisibility; - if (compassVisibility) - { - compassToggle.isOn = true; - } - else - { - compassToggle.isOn = false; - } - - overallQualityDropdown.value = (int) _graphics.QualityLevel; guiScaleSlider.value = _ui.GuiScale; - guiScaleValueText.text = Mathf.RoundToInt(guiScaleSlider.value).ToString(); - } - - private void GuiScaleOnValueChanged(float value) - { - guiScaleValueText.text = Mathf.RoundToInt(guiScaleSlider.value).ToString(); - } - - private void SaveProperties() - { - if (simpleWaterToggle.isOn) - { - _graphics.WaterQuality = WaterQuality.Simple; - } - else if (highWaterToggle.isOn) - { - _graphics.WaterQuality = WaterQuality.High; - } - else if (ultraWaterToggle.isOn) - { - _graphics.WaterQuality = WaterQuality.Ultra; - } - - _ui.GuiScale = Mathf.RoundToInt(guiScaleSlider.value); - _ui.CompassVisibility = compassToggle.isOn; - _graphics.QualityLevel = (QualityLevel) overallQualityDropdown.value; - } - } -} diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs.meta b/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs.meta deleted file mode 100644 index 8688d1db..00000000 --- a/Assets/Warlander/Deedplanner/Ui/Windows/GraphicSettingsWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e6d198949033a9145bdfba5449e9ae62 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs b/Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs deleted file mode 100644 index 445c9509..00000000 --- a/Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs +++ /dev/null @@ -1,139 +0,0 @@ -using System.Collections.Generic; -using DG.Tweening; -using TMPro; -using UnityEngine; -using UnityEngine.InputSystem; -using UnityEngine.UI; -using Warlander.Deedplanner.Ui.Widgets; -using Warlander.Deedplanner.Inputs; -using VContainer; -using Warlander.UI.Windows; -using InputSettings = Warlander.Deedplanner.Settings.InputSettings; - -namespace Warlander.Deedplanner.Ui.Windows -{ - public class InputSettingsWindow : MonoBehaviour - { - [Inject] private DPInput _input; - [Inject] private InputSettings _inputSettings; - private Window _window; - - [SerializeField] private CanvasGroup _rebindFade; - [SerializeField] private TMP_Text _rebindText; - - [SerializeField] private Transform _settingsContent; - [SerializeField] private TMP_Text _inputMapNamePrefab; - [SerializeField] private InputSettingElement _inputElementPrefab; - - [SerializeField] private Button _resetBindingsButton; - - private List _inputElements; - - private void Awake() - { - _window = GetComponentInParent(true); - } - - private void Start() - { - _rebindFade.gameObject.SetActive(false); - _inputElementPrefab.gameObject.SetActive(false); - _inputMapNamePrefab.gameObject.SetActive(false); - - _resetBindingsButton.onClick.AddListener(ResetBindingsOnClick); - - _inputElements = new List(); - - foreach (InputActionMap inputMap in _input.asset.actionMaps) - { - // We don't want to introduce deadlock situation where user changes/disables important UI input - // and can't use UI anymore - disable customizing it. This might be re-considered on users request. - if (inputMap == _input.UI.Submit.actionMap) - { - continue; - } - - TMP_Text inputMapNameText = Instantiate(_inputMapNamePrefab, _settingsContent); - inputMapNameText.text = inputMap.name; - inputMapNameText.gameObject.SetActive(true); - - foreach (InputAction action in inputMap.actions) - { - for (int i = 0; i < action.bindings.Count; i++) - { - InputBinding binding = action.bindings[i]; - if (binding.isComposite) - { - continue; - } - - InputSettingElement newElement = Instantiate(_inputElementPrefab, _settingsContent); - newElement.Set(action, i); - newElement.RebindStarted += NewElementOnRebindStarted; - newElement.RebindSuccess += NewElementOnRebindSuccess; - newElement.RebindFailed += NewElementOnRebindFailed; - newElement.gameObject.SetActive(true); - _inputElements.Add(newElement); - - if (binding.isComposite == false && binding.isPartOfComposite == false) - { - // Don't add duplicate bindings to the list. - break; - } - } - } - } - - _inputSettings.SettingsReset += InputSettingsOnSettingsReset; - } - - private void InputSettingsOnSettingsReset() - { - foreach (InputSettingElement inputElement in _inputElements) - { - inputElement.RefreshUI(); - } - } - - private void NewElementOnRebindStarted(InputSettingElement rebindElement) - { - ShowRebind(rebindElement.GetBindingName()); - } - - private void NewElementOnRebindSuccess() - { - HideRebind(); - _inputSettings.Save(); - } - - private void NewElementOnRebindFailed() - { - HideRebind(); - } - - private void ShowRebind(string bindingName) - { - _rebindText.text = $"Waiting for input to rebind\n\n{bindingName}"; - _rebindFade.gameObject.SetActive(true); - _rebindFade.alpha = 0; - _rebindFade.DOFade(1, 0.15f); - } - - private void HideRebind() - { - _rebindFade.DOFade(0, 0.15f).OnComplete(() => _rebindFade.gameObject.SetActive(false)); - } - - private void ResetBindingsOnClick() - { - _inputSettings.Reset(); - } - - private void OnDestroy() - { - _rebindFade.DOKill(); - - _inputSettings.SettingsReset -= InputSettingsOnSettingsReset; - } - } -} diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs.meta b/Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs.meta deleted file mode 100644 index 1c39befd..00000000 --- a/Assets/Warlander/Deedplanner/Ui/Windows/InputSettingsWindow.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6478b4e57819409b95b53f30912fe1a3 -timeCreated: 1693670726 \ No newline at end of file From b66fa7033c7e04f41a1a4b9613da49e6392e7298 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 03:26:28 +0200 Subject: [PATCH 11/18] Polish settings window: clearer labels, drop Editing tab, hide unused Save/Discard --- .../Settings/DeedPlannerSettings.cs | 23 ++++++++++--------- .../Ui/Windows/SettingsWindowView.cs | 3 +++ .../Runtime/SettingsRegistry.cs | 15 ++++++++++-- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs index 5b43b304..0fdd05f6 100644 --- a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs +++ b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs @@ -38,17 +38,17 @@ public static DeedPlannerSettings Create() SettingsTab generalTab = registry.AddTab("general", "General"); SettingsTab graphicsTab = registry.AddTab("graphics", "Graphics"); SettingsTab camerasTab = registry.AddTab("cameras", "Cameras"); - SettingsTab editingTab = registry.AddTab("editing", "Editing"); var guiScale = new IntSetting("guiScale", "GUI Scale", 10, 5, 20, "Scales the whole user interface."); generalTab.Add(guiScale); - var compassVisibility = new BoolSetting("compassVisibility", "Compass", true, "Shows the compass in first-person mode."); + var compassVisibility = new BoolSetting("compassVisibility", "Show Compass", true); generalTab.Add(compassVisibility); - var waterQuality = new EnumSetting("waterQuality", "Water Quality", WaterQuality.Ultra); + var waterQuality = new EnumSetting("waterQuality", "Water Quality", WaterQuality.Ultra, + "Simple - very basic water that uses almost no resources\nHigh - fancy water without reflections\nUltra - fancy water with reflections"); graphicsTab.Add(waterQuality); var qualityLevel = new EnumSetting("qualityLevel", "Quality Level", - (QualityLevel) UnityEngine.QualitySettings.GetQualityLevel(), "Unity quality preset.", ApplyMode.OnSave); + (QualityLevel) UnityEngine.QualitySettings.GetQualityLevel(), "Controls shadow quality, post-processing and ambient occlusion."); graphicsTab.Add(qualityLevel); var fppMouseSensitivity = new FloatSetting("fppMouseSensitivity", "Mouse Sensitivity", 0.5f, 0.05f, 3f); @@ -66,20 +66,21 @@ public static DeedPlannerSettings Create() var controlSpeedModifier = new FloatSetting("controlSpeedModifier", "Precise Speed Modifier", 0.2f, 0.05f, 1f); camerasTab.Add(controlSpeedModifier); + // editing settings live in their mode tabs (Height/Wall/Decoration), registered tab-less var heightDragSensitivity = new FloatSetting("heightDragSensitivity", "Height Drag Sensitivity", 0.5f, 0.05f, 2f); - editingTab.Add(heightDragSensitivity); + registry.Register(heightDragSensitivity); var heightRespectOriginalSlopes = new BoolSetting("heightRespectOriginalSlopes", "Respect Original Slopes", true); - editingTab.Add(heightRespectOriginalSlopes); + registry.Register(heightRespectOriginalSlopes); var wallAutomaticReverse = new BoolSetting("wallAutomaticReverse", "Automatic Wall Reverse", true); - editingTab.Add(wallAutomaticReverse); + registry.Register(wallAutomaticReverse); var wallReverse = new BoolSetting("wallReverse", "Wall Reverse", false); - editingTab.Add(wallReverse); + registry.Register(wallReverse); var decorationSnapToGrid = new BoolSetting("decorationSnapToGrid", "Decoration Snap To Grid", false); - editingTab.Add(decorationSnapToGrid); + registry.Register(decorationSnapToGrid); var decorationRotationSnapping = new BoolSetting("decorationRotationSnapping", "Decoration Rotation Snapping", false); - editingTab.Add(decorationRotationSnapping); + registry.Register(decorationRotationSnapping); var decorationRotationSensitivity = new FloatSetting("decorationRotationSensitivity", "Decoration Rotation Sensitivity", 1f, 0.1f, 10f); - editingTab.Add(decorationRotationSensitivity); + registry.Register(decorationRotationSensitivity); var camera = new CameraSettings(fppMouseSensitivity, fppKeyboardRotationSensitivity, fppMovementSpeed, topMovementSpeed, isoMovementSpeed, shiftSpeedModifier, controlSpeedModifier); diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs index 02cb44fc..4c137798 100644 --- a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs +++ b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs @@ -44,6 +44,9 @@ private void Awake() rebindFade.gameObject.SetActive(false); resetBindingsButton.gameObject.SetActive(false); + // all settings apply immediately; buttons kept for future OnSave settings + saveButton.gameObject.SetActive(false); + discardButton.gameObject.SetActive(false); } public SettingsWindowPresenter Initialize(SettingsRegistry registry) diff --git a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs index 94ccde3b..000b72f4 100644 --- a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs +++ b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs @@ -50,7 +50,20 @@ public ISetting GetSetting(string key) return _settingsByKey.TryGetValue(key, out ISetting setting) ? (ISetting) setting : null; } + public void Register(ISetting setting) + { + RegisterCore(setting); + setting.Changed += () => SettingChanged?.Invoke(setting); + } + internal void Register(SettingsTab tab, ISetting setting) + { + RegisterCore(setting); + tab.AddDirect(setting); + setting.Changed += () => SettingChanged?.Invoke(setting); + } + + private void RegisterCore(ISetting setting) { if (setting == null) { @@ -65,8 +78,6 @@ internal void Register(SettingsTab tab, ISetting setting) attachable.AttachStore(_store); } _settingsByKey.Add(setting.Key, setting); - tab.AddDirect(setting); - setting.Changed += () => SettingChanged?.Invoke(setting); } } } From ed3f1c7bc8345e94d80f46a379f6d49265447f24 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 03:44:33 +0200 Subject: [PATCH 12/18] Custom enum option labels via OptionLabel delegate, friendly Quality Level names --- AGENTS.md | 2 +- .../Deedplanner/Settings/DeedPlannerSettings.cs | 10 +++++++++- .../Runtime/DropdownSettingWidget.cs | 3 ++- Packages/com.warlogic.settings/Runtime/EnumSetting.cs | 9 ++++++++- .../com.warlogic.settings/Runtime/IEnumOptionLabels.cs | 7 +++++++ .../Runtime/IEnumOptionLabels.cs.meta | 2 ++ 6 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs create mode 100644 Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta diff --git a/AGENTS.md b/AGENTS.md index c3115a84..f5fb6894 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -62,7 +62,7 @@ The project iterates fast — domain reload and play-mode enter/exit each take o **Unit tests are EditMode only — even for non-editor code.** No PlayMode tests. Test files live in a `Tests/Editor/` folder next to the tested code (e.g. `Persistence/Compression/Tests/Editor/`): the `Editor` folder compiles them into Assembly-CSharp-Editor, which the Test Framework discovers and runs without any asmdef. Do not add test asmdefs. -**Never recompile while in play mode.** A domain reload mid-play silently breaks the session: the running app loses its state (map references go null, evals fail with NullReferenceException) while the Editor reports itself ready. Always `editor_stop` → recompile → `editor_play` → re-run the scenario. +**Never recompile or run tests while in play mode.** Before `recompile`, `run_tests`, or any action that triggers an assembly reload (package add/remove/resolve, script creation), verify the Editor is in edit mode (`unity status`) — if it is playing, `editor_stop` first. A domain reload mid-play silently breaks the session: the running app loses its state (map references go null, evals fail with NullReferenceException) while the Editor reports itself ready, and a test run started mid-play triggers exactly that reload. Always `editor_stop` → recompile/test → `editor_play` → re-run the scenario. Suggested verification ladder, cheapest first: 1. Compile check (connected Editor via `unity command`, or `unity test --mode EditMode` batch) — catches syntax/type errors. diff --git a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs index 0fdd05f6..b7680142 100644 --- a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs +++ b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs @@ -48,7 +48,15 @@ public static DeedPlannerSettings Create() "Simple - very basic water that uses almost no resources\nHigh - fancy water without reflections\nUltra - fancy water with reflections"); graphicsTab.Add(waterQuality); var qualityLevel = new EnumSetting("qualityLevel", "Quality Level", - (QualityLevel) UnityEngine.QualitySettings.GetQualityLevel(), "Controls shadow quality, post-processing and ambient occlusion."); + (QualityLevel) UnityEngine.QualitySettings.GetQualityLevel(), "Controls shadow quality, post-processing and ambient occlusion.") + { + OptionLabel = q => q switch + { + QualityLevel.VeryLow => "Very Low", + QualityLevel.VeryHigh => "Very High", + _ => q.ToString() + } + }; graphicsTab.Add(qualityLevel); var fppMouseSensitivity = new FloatSetting("fppMouseSensitivity", "Mouse Sensitivity", 0.5f, 0.05f, 3f); diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs index dc64657c..72581794 100644 --- a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs +++ b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs @@ -40,7 +40,8 @@ public void BindEnum(ISetting setting, Type enumType) var options = new System.Collections.Generic.List(); foreach (object value in values) { - options.Add(new TMP_Dropdown.OptionData(value.ToString())); + string text = setting is IEnumOptionLabels labels ? labels.GetOptionLabel(value) : value.ToString(); + options.Add(new TMP_Dropdown.OptionData(text)); } dropdown.options = options; diff --git a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs index 26a4df92..09469a63 100644 --- a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs +++ b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs @@ -2,13 +2,20 @@ namespace Warlogic.Settings { - public sealed class EnumSetting : Setting where T : struct, Enum + public sealed class EnumSetting : Setting, IEnumOptionLabels where T : struct, Enum { + public Func OptionLabel { get; set; } + public EnumSetting(string key, string label, T defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) : base(key, label, defaultValue, description, applyMode) { } + public string GetOptionLabel(object value) + { + return OptionLabel?.Invoke((T) value) ?? value.ToString(); + } + protected override string Serialize(T value) { return value.ToString(); diff --git a/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs b/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs new file mode 100644 index 00000000..50f7cef0 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs @@ -0,0 +1,7 @@ +namespace Warlogic.Settings +{ + public interface IEnumOptionLabels + { + string GetOptionLabel(object value); + } +} diff --git a/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta b/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta new file mode 100644 index 00000000..2302b253 --- /dev/null +++ b/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f5a47b1a74e9a134e942e233c73f533d \ No newline at end of file From 2b83e0b02d2d66c1c7fe8b0d16d203e3a65b7469 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 03:53:19 +0200 Subject: [PATCH 13/18] Add CHANGELOG.md with 3.x release history and changelog maintenance rules --- AGENTS.md | 12 +++ CHANGELOG.md | 241 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 253 insertions(+) create mode 100644 CHANGELOG.md diff --git a/AGENTS.md b/AGENTS.md index f5fb6894..fa0cc666 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -175,6 +175,18 @@ Verify compilation after every code edit before considering the task done: 3. If the Unity CLI itself is missing: ask the developer to install it (never install it yourself) and ask them to confirm compilation in the Editor. 4. Do not consider a task finished until compilation is clean (errors AND new warnings). +## Changelog + +`CHANGELOG.md` (repo root) records user-facing changes, newest first, with the top section being the unreleased version. Update it as part of any task that changes something a user can see or do: features, UI changes, fixes, new content (models, textures, items), platform/behavior differences. Skip purely internal work (refactors, code health, CI, tests) unless it has a user-observable effect (e.g. performance). + +Rules: + +- Format: `## [x.y.z] - YYYY-MM-DD` (or `- Unreleased` on top) followed directly by a flat dash-bullet list. No preamble paragraphs, no summary text, no Added/Changed/Fixed subsections, no known-issues blocks. +- Match the existing entry style: one concise dash bullet per change, written for players, not developers. Fixes start with "Fixed ...". +- Add entries to the current unreleased section only. Never edit released sections — they are historical record sourced from published GitHub releases. +- Keep the section coherent: it describes the delta users will experience on upgrade. Do not add fix/tweak entries for a feature introduced in the same unreleased version — fold the improvement into the feature's entry (or drop it); that bug never reached users. When editing an existing entry of yours, prefer updating it over adding a corrective bullet. +- On release, the developer renames the unreleased section to the version and date; agents never create new version sections on their own. + ## Honesty About Feasibility If a proposed approach is architecturally poor, has no clean implementation path, or would require unreasonable workarounds — say so clearly and explain why. Do not attempt to implement it anyway. Proposing a better alternative or declining with reasoning is preferable to producing bad code. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..fc54e966 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,241 @@ +# Changelog + +## [3.4.0] - Unreleased + +- Docks can now be planned over water from the Floors tab - paint dock decks with multiple materials and support types, with full undo, validation and save/load support +- New saving system with a home screen on startup listing your deeds with thumbnails - saves can now be renamed and deleted +- Quick save and auto-save with crash recovery - unsaved work is no longer lost on a crash +- Saves are now stored in Steam Cloud on Steam and in browser storage on the web version, with export still available for sharing +- Bridge pavements: bridge lanes can now be paved with different materials per lane, including new tarred planks +- Hovering over a segment in the bridge bar now highlights it in the world +- New 4K screenshot options, including 4K with UI visible (unbound by default, can be bound in settings) +- Lighting and visuals overhaul: tonemapping, bloom, ambient occlusion, improved anti-aliasing and retuned shadows +- Sharper water reflections on Ultra quality +- Settings window overhaul - a single window with tabs now covers all settings, replacing the old separate graphics and input windows +- Errors now open a window with a copyable report you can attach when reporting bugs +- Richer tooltips, including a tinted slope grid when hovering terrain on the Height tab +- New dragon HOTA statue model (the old one was oversized) +- Added aged log wall texture +- Improved Floor tab UI +- Funding links are now hidden in the Steam version (EULA requirement) +- Pastebin export is disabled on the web version (blocked by browsers) +- Fixed bridge editing clicks being blocked by walls +- Fixed bridges wider than long not reaching ground height at the far end +- Fixed bridge supports and deck not following terrain height edits +- Fixed decorations loading at the previous map's terrain heights +- Fixed decoration rotation snapping only working in one direction +- Fixed empty tooltip box appearing when dragging the map over terrain +- Fixed map being lost after a failed load +- Fixed redo order getting mixed up in grouped edits +- Fixed lower floors not darkening in 2D and isometric views +- Fixed compass not hiding when the UI is toggled off +- Fixed UI toggle (F10) desyncing the bridge bar and tabs +- Fixed ground smoothness rendering +- Fixed textures sometimes failing to load +- Maps referencing objects missing from game data now load with fallbacks instead of failing + +## [3.3.2] - 2026-08-15 + +- Bridges can now be planned over existing buildings - clicking a building selects the tile under it, with the bridge level derived from where you clicked so it should always work reliably +- Bridge planning hover tooltip now shows the endpoint floor relative to your currently active floor +- Clicking an already selected tile now deselects the bridge endpoint +- Fixed a crash when clicking a bridge while on the Floors or Walls tab +- Fixed open bridge undersides rendering inside-out +- Added an option to toggle bridge visibility on and off +- Level selector now locks to the ground floor while on the Ground or Height tab +- Mac app name is now consistent with Windows and Linux (Steam fix) + +## [3.3.1] - 2026-08-09 + +- Fixed rope bridge sag inaccurate calculations +- Fixed reversed facing of S-N bridge segments of wide bridges +- Fixed incorrect facing of first and last left and right segments of 3 tile wide bridges + +## [3.3.0] - 2026-08-09 + +- bridges can now be placed, edited and removed, as well as loaded/saved to/from maps +- full render pipeline migration from legacy Unity rendering system to new URP +- water is fully reworked and optimized +- ultra quality is now default on all platforms +- added tooltips telling nearest decoration name +- reworked outlines - outlines hug what they are pointing at now instead of showing a box around it +- experimental support for Mac builds +- builds for all platforms now use IL2CPP - guarantying better performance +- fixed roofs sometimes not being recalculated +- fixed rare duplicate map load bug +- fixed rare duplicate texture load bug +- fixed some models missing their textures + +## [3.2.2] - 2026-01-26 + +- [Warlander] Fixed roofs being invisible in WebGL builds of the game +- [Ksunyo] Fixed wide log windows incorrect appearance + +## [3.2.1] - 2026-01-25 + +- [Warlander & Saroman] Added log walls +- [KSunyo] Added compass +- [Warlander] Upgraded Unity to 6000.3.4f2 +- [Warlander] Refactored Wurm asset loading code to make it less of a headache to work with +- [Warlander] Implemented feature states system, used to toggle features (such as bridges) off and on depending on current environment - production builds, debug builds and editor + +## [3.2.0] - 2025-10-12 + +- **Big UI overhaul (huge thanks to KSunyo!)** +- **Added customizable keybinds** +- **Added dozens of new items (huge thanks to Drogos!)** +- Added outlines +- Improved wireframe grid rendering. This is especially noticeable on distant terrain +- Added tab UI animations +- Upgraded Unity to 6000.0.58f2 +- Fixed Unity security vulnerability +- Added sun angle slider (huge thanks to Drogos!) +- Fixed flickering in window title bar when moving windows around +- Fixed texture path combining bug causing some textures to load twice +- Optimized heightmap handles rendering and caching. This should significantly improve loading times of large maps, reduce RAM usage and improve performance on large maps during height editing +- Optimized UI rendering +- Optimized program loading speed +- Overhauled camera system +- Overhauled windows system +- Added new app icons +- Replaced obsolete file browser +- Transitioned from legacy Unity input system to a new input system +- Fixed WurmAssetsLoader failing to load some models with LOD +- Fixed isometric bounds for rectangular deeds (huge thanks to Drogos!) +- You can now rotate isometric view with page up and page down (huge thanks to Drogos!) +- You can now rotate items with ctrl/shift + scrollwheel before placing (huge thanks to Drogos!) +- You can now delete single items, by holding mouse over an item, so it goes red, and then press delete button to delete that single item. (huge thanks to Drogos!) +- (Windows only) Added support for file drag and drop to load maps +- (web only) Disabled saving and loading modes that depend on CORS proxy to work. Saving and loading to/from file will work as expected +- (Mac only) Improved Retina display support + +## [3.1.1] - 2020-06-01 + +- Fixed some objects with LOD's having invalid texturing +- Fixed materials calculator floor-depending modes only working on floor 0 +- Fixed unfinished palisade gates WebGL crash + +## [3.1.0] - 2020-05-02 + +- Added materials calculations for: + - Everything on map + - Single building + - Single floor of a building + - Single room +- Added map warnings for: + - Walls outside of known buildings + - Walls on sloped terrain +- Added visibility toggles for: + - All objects + - Trees + - Bushes + - Ships +- Added materials caching (will improve performance for models that share textures) +- Added windows fade in/out animations +- Added support for movement multipliers for vertical FPP movement +- Added several tooltips to clarify some common questions about the program +- Made sure placement of objects won't be interrupted when pointing at walls +- Made program run in background during initial loading and map loading +- Made program cache models and textures in WebGL version in order to prevent excessive bandwidth use +- Improved performance of model and texture loading +- Fixed maps exported by in-game exporter not handling walls on map edges correctly +- Fixed map loading heavily slowing down or stalling completely when loading huge maps +- Upgraded Unity to 2019.3.0f3 + +## [3.0.7] - 2019-10-29 + +- Added missing tapestries +- Added all PMK flags, banners and tall banners +- Added small barrel racks and wine barrel racks +- Added template kingdom wagons +- Added fishing rods rack +- Added extra categories to many objects for easier search +- Renamed "Fireplace" to "Open fireplace" + +## [3.0.6] - 2019-10-22 + +- Added warnings when trying to edit openings/stairs/roofs on ground floor +- Added support for direct map loading from Dropbox and Google Drive +- Added GUI scaling option +- Added search box to all trees in GUI (grounds, floors, walls, objects) +- Added tile coordinates to height editing tooltips +- Added option to toggle GUI with F10 key +- Upgraded Unity version used for project from 2019.2.0f1 to 2019.2.9f1 +- Optimized heightmap handles rendering +- Made ramp editing tool make ramp from anchor to selected point immediately if respecting original slopes is turned off +- Renamed Pastebin loading to web loading +- Moved donation buttons to menu instead of being visible everywhere +- Fixed decoration ghost not being displayed on proper floor +- Fixed centered decorations and vegetation being allowed to be placed on non-ground floors +- Fixed being able to overwrite decorations when it's not allowed +- Fixed not being able to load non-compressed DP maps from web +- Fixed chance of ground corruption when spamming ground fill function +- Fixed being able to move camera around when typing in input fields +- Fixed ramp editing tool not resetting its state correctly if action is canceled +- Fixed ramp editing tool incorrectly using height at ramp end as height as ramp start +- Fixed timing issues when swapping walls, creating time window during which you can accidentally place walls behind the swapped wall +- Fixed wall memory leak when wall is refreshed (for example, during the slope change) +- Fixed camera focus issues when on menu tab +- **Fixed program loading issues on non-Windows standalone versions** + +## [3.0.5] - 2019-09-28 + +- Fixed non-removable decorations +- Fixed some roofs having incorrect models after every model check +- Fixed minor memory leak on map loading + +## [3.0.4] - 2019-09-26 + +- Added asynchronous map loading +- Memory optimizations +- Optimized wall rendering +- Fixed download cache memory leak +- Fixed memory spikes on DXT textures loading +- Fixed ground not being shaded and disabled when switching floors in 2d and isometric views +- Fixed grass and tile height tooltips not appearing +- Fixed wall rotation not being read and saved properly +- Fixed corrupted caravels +- Fixed Y axis flipped on DP2-imported maps +- Fixed arched walls flipped on DP2-imported maps + +## [3.0.3] - 2019-09-19 + +- Added Jackal trees +- Added Jackal structures (beacons and lodestone) +- Added all types of flower pots +- Added cupboard +- Added chicken coop +- Added small and large pottery amphora +- Added missing archaeology statues +- Made different types of marble planters actually different +- Improved readability of most text in the application +- Improved handling of long entity names in GUI lists and trees +- Changed names of all trees and bushes to include "tree" and "bush" in their names +- Changed names of archaeology statues to their in-game names +- Fixed undo/redo stack overflow and added safeguard to make sure it won't lead to map-corrupting bugs anymore + +## [3.0.2] - 2019-09-08 + +- Optimized ground and grid rendering +- Optimized texture memory consumption +- Fixed Pastebin and web version saving working incorrectly in WebGL version +- Fixed being able to toggle all editing modes off +- Fixed mouse picking overlay of floors, walls and roofs +- Fixed decorations updater being able to get stuck during setting rotation +- Fixed incorrectly rendered models after using undo/redo on different floors +- Fixed banners not having kingdom textures +- Browser version: added ignoring ctrl+key browser shortcuts to make ctrl+c/ctrl+v work properly + +## [3.0.1] - 2019-08-28 + +- Added option to pick ground type with alt+left/right click +- Added object corner snapping when "snap to grid" is enabled +- Added 2x anti-aliasing as default for WebGL version +- Fixed wrong resolution being used for in-game cameras +- Fixed objects tab saving user settings on every frame, leading to excessive HDD/SSD usage +- Fixed corner-aligned objects not being placed sometimes +- Fixed decorations floating around on slopes + +## [3.0.0] - 2019-08-27 + +- Initial release From beb78d622b51be6bb485fa9a38e5c6cd51f1f8f5 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 04:16:50 +0200 Subject: [PATCH 14/18] Update com.unity.pipeline to 0.6.0-exp.1, document detached test runs and pipeline wedge recovery --- AGENTS.md | 6 +++++- Packages/manifest.json | 4 ++-- Packages/packages-lock.json | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index fa0cc666..9dac1c2a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -62,7 +62,11 @@ The project iterates fast — domain reload and play-mode enter/exit each take o **Unit tests are EditMode only — even for non-editor code.** No PlayMode tests. Test files live in a `Tests/Editor/` folder next to the tested code (e.g. `Persistence/Compression/Tests/Editor/`): the `Editor` folder compiles them into Assembly-CSharp-Editor, which the Test Framework discovers and runs without any asmdef. Do not add test asmdefs. -**Never recompile or run tests while in play mode.** Before `recompile`, `run_tests`, or any action that triggers an assembly reload (package add/remove/resolve, script creation), verify the Editor is in edit mode (`unity status`) — if it is playing, `editor_stop` first. A domain reload mid-play silently breaks the session: the running app loses its state (map references go null, evals fail with NullReferenceException) while the Editor reports itself ready, and a test run started mid-play triggers exactly that reload. Always `editor_stop` → recompile/test → `editor_play` → re-run the scenario. +**Never recompile or run tests while in play mode.** Before `recompile`, `run_tests`, or any action that triggers an assembly reload (package add/remove/resolve, script creation), verify the Editor is in edit mode (`unity status`) — if it is playing, `editor_stop` first. A domain reload mid-play silently breaks the session: the running app loses its state (map references go null, evals fail with NullReferenceException) while the Editor reports itself ready, and an EditMode test run submitted mid-play hard-fails (`RestoreSceneSetupTask`: "This cannot be used during play mode"). Always `editor_stop` → recompile/test → `editor_play` → re-run the scenario. + +**Pipeline wedge detection and recovery.** Signature: every `unity command` times out while `unity status` still reports "ready" (status reads the port file, never touches the pipeline). It may self-recover after minutes, but do not wait it out — restart the Editor (kill PID, `unity open` again). While wedged, `cancel_tests`/`editor_stop` cannot reach the Editor either. Note `unity command --timeout` is in **seconds** (default 30) — do not pass millisecond values. + +**Run tests detached, then wait on the job.** `unity command run_tests --mode EditMode --detach` returns a job ID; `unity job wait ` blocks until done and prints the pass/fail summary. Job records do not survive domain reloads — if a reload lands mid-run the job vanishes ("Job Not Found"), so re-run after recompile settles. Blocking `run_tests` couples the CLI call to a full test+reload cycle and turns any editor-side failure into a CLI hang. Suggested verification ladder, cheapest first: 1. Compile check (connected Editor via `unity command`, or `unity test --mode EditMode` batch) — catches syntax/type errors. diff --git a/Packages/manifest.json b/Packages/manifest.json index 7d0da430..6ba3d436 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -16,6 +16,7 @@ "com.unity.memoryprofiler": "1.1.12", "com.unity.mobile.android-logcat": "1.4.7", "com.unity.performance.profile-analyzer": "1.4.0", + "com.unity.pipeline": "0.6.0-exp.1", "com.unity.profiling.core": "1.0.3", "com.unity.render-pipelines.universal": "17.3.0", "com.unity.scriptablebuildpipeline": "2.6.1", @@ -62,8 +63,7 @@ "com.unity.modules.video": "1.0.0", "com.unity.modules.vr": "1.0.0", "com.unity.modules.wind": "1.0.0", - "com.unity.modules.xr": "1.0.0", - "com.unity.pipeline": "0.5.0-exp.1" + "com.unity.modules.xr": "1.0.0" }, "enablePreviewPackages": true, "scopedRegistries": [ diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index c841bf7f..ac43c148 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -199,7 +199,7 @@ "url": "https://packages.unity.com" }, "com.unity.pipeline": { - "version": "0.5.0-exp.1", + "version": "0.6.0-exp.1", "depth": 0, "source": "registry", "dependencies": { From baa617ebe3c7c9ca939d924260d26e0838bfadff Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 04:21:58 +0200 Subject: [PATCH 15/18] Finalize settings package changelogs for 0.1.0 publish --- Packages/com.warlogic.settings.ugui/CHANGELOG.md | 4 ++-- Packages/com.warlogic.settings/CHANGELOG.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Packages/com.warlogic.settings.ugui/CHANGELOG.md b/Packages/com.warlogic.settings.ugui/CHANGELOG.md index ba4bf0cf..35e72d7d 100644 --- a/Packages/com.warlogic.settings.ugui/CHANGELOG.md +++ b/Packages/com.warlogic.settings.ugui/CHANGELOG.md @@ -1,5 +1,5 @@ # Changelog -## [0.1.0] - 2026-09-05 +## [0.1.0] - 2026-09-06 -- Initial release: widget factory registry, six widget prefabs (slider, toggle, dropdown, keybind placeholder, group header, tab button), unified settings window view + presenter. +- Initial release: widget factory registry (`SettingsWidgetCatalog`), widget prefabs (slider, toggle, dropdown, keybind row, group header, tab button), setting grouping via `IGroupedSetting`, unified settings window view + presenter with per-tab lazy build and shared Save/Discard footer. diff --git a/Packages/com.warlogic.settings/CHANGELOG.md b/Packages/com.warlogic.settings/CHANGELOG.md index 61ce0a6f..a8416b35 100644 --- a/Packages/com.warlogic.settings/CHANGELOG.md +++ b/Packages/com.warlogic.settings/CHANGELOG.md @@ -1,5 +1,5 @@ # Changelog -## [0.1.0] - 2026-09-05 +## [0.1.0] - 2026-09-06 -- Initial version: `SettingsTab`, `ISetting`/`Setting` with Immediate/OnSave apply modes, concrete setting types (float, int, bool, enum, string), `SettingsRegistry`, `ISettingsStore` + `PlayerPrefsJsonSettingsStore`. +- Initial release: `SettingsTab`, `ISetting`/`Setting` with Immediate/OnSave apply modes, concrete setting types (float, int, bool, enum, string) with optional min/max, validation and enable-condition delegates, custom enum option labels via `OptionLabel`, `SettingsRegistry`, `ISettingsStore` + `PlayerPrefsJsonSettingsStore`. From 040dfdf1837bc8113d62f8706b817d99ebc8d0d1 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 04:31:51 +0200 Subject: [PATCH 16/18] Switch settings packages to registry 1.0.0, remove embedded copies --- .../com.warlogic.settings.ugui/CHANGELOG.md | 5 - .../CHANGELOG.md.meta | 7 - .../com.warlogic.settings.ugui/Runtime.meta | 8 - .../Runtime/DropdownSettingWidget.cs | 74 - .../Runtime/DropdownSettingWidget.cs.meta | 2 - .../Runtime/DropdownSettingWidgetFactory.cs | 24 - .../DropdownSettingWidgetFactory.cs.meta | 2 - .../Runtime/IGroupedSetting.cs | 11 - .../Runtime/IGroupedSetting.cs.meta | 2 - .../Runtime/ISettingWidget.cs | 12 - .../Runtime/ISettingWidget.cs.meta | 2 - .../Runtime/ISettingWidgetFactory.cs | 9 - .../Runtime/ISettingWidgetFactory.cs.meta | 2 - .../Runtime/ISettingsWindowView.cs | 15 - .../Runtime/ISettingsWindowView.cs.meta | 2 - .../Runtime/KeybindSettingRow.cs | 22 - .../Runtime/KeybindSettingRow.cs.meta | 2 - .../Runtime/Prefabs.meta | 8 - .../Runtime/Prefabs/DropdownSettingRow.prefab | 1458 ----------------- .../Prefabs/DropdownSettingRow.prefab.meta | 7 - .../Runtime/Prefabs/KeybindSettingRow.prefab | 678 -------- .../Prefabs/KeybindSettingRow.prefab.meta | 7 - .../Prefabs/SettingsGroupHeader.prefab | 334 ---- .../Prefabs/SettingsGroupHeader.prefab.meta | 7 - .../Runtime/Prefabs/SettingsTabButton.prefab | 296 ---- .../Prefabs/SettingsTabButton.prefab.meta | 7 - .../Runtime/Prefabs/SliderSettingRow.prefab | 1051 ------------ .../Prefabs/SliderSettingRow.prefab.meta | 7 - .../Runtime/Prefabs/ToggleSettingRow.prefab | 704 -------- .../Prefabs/ToggleSettingRow.prefab.meta | 7 - .../Runtime/SettingsGroupHeader.cs | 17 - .../Runtime/SettingsGroupHeader.cs.meta | 2 - .../Runtime/SettingsTabButton.cs | 59 - .../Runtime/SettingsTabButton.cs.meta | 2 - .../Runtime/SettingsWidgetCatalog.cs | 62 - .../Runtime/SettingsWidgetCatalog.cs.meta | 2 - .../Runtime/SettingsWindowPresenter.cs | 156 -- .../Runtime/SettingsWindowPresenter.cs.meta | 2 - .../Runtime/SliderSettingWidget.cs | 83 - .../Runtime/SliderSettingWidget.cs.meta | 2 - .../Runtime/SliderSettingWidgetFactory.cs | 33 - .../SliderSettingWidgetFactory.cs.meta | 2 - .../Runtime/ToggleSettingWidget.cs | 49 - .../Runtime/ToggleSettingWidget.cs.meta | 2 - .../Runtime/ToggleSettingWidgetFactory.cs | 25 - .../ToggleSettingWidgetFactory.cs.meta | 2 - .../Runtime/Warlogic.Settings.Ugui.asmdef | 13 - .../Warlogic.Settings.Ugui.asmdef.meta | 7 - .../com.warlogic.settings.ugui/package.json | 15 - .../package.json.meta | 7 - Packages/com.warlogic.settings/CHANGELOG.md | 5 - .../com.warlogic.settings/CHANGELOG.md.meta | 7 - Packages/com.warlogic.settings/Runtime.meta | 8 - .../Runtime/ApplyMode.cs | 8 - .../Runtime/ApplyMode.cs.meta | 2 - .../Runtime/BoolSetting.cs | 20 - .../Runtime/BoolSetting.cs.meta | 2 - .../Runtime/EnumSetting.cs | 29 - .../Runtime/EnumSetting.cs.meta | 2 - .../Runtime/FloatSetting.cs | 32 - .../Runtime/FloatSetting.cs.meta | 2 - .../Runtime/IEnumOptionLabels.cs | 7 - .../Runtime/IEnumOptionLabels.cs.meta | 2 - .../com.warlogic.settings/Runtime/ISetting.cs | 24 - .../Runtime/ISetting.cs.meta | 2 - .../Runtime/ISettingsStore.cs | 8 - .../Runtime/ISettingsStore.cs.meta | 2 - .../Runtime/IntSetting.cs | 32 - .../Runtime/IntSetting.cs.meta | 2 - .../Runtime/PlayerPrefsJsonSettingsStore.cs | 83 - .../PlayerPrefsJsonSettingsStore.cs.meta | 2 - .../com.warlogic.settings/Runtime/Setting.cs | 141 -- .../Runtime/Setting.cs.meta | 2 - .../Runtime/SettingsRegistry.cs | 83 - .../Runtime/SettingsRegistry.cs.meta | 2 - .../Runtime/SettingsTab.cs | 33 - .../Runtime/SettingsTab.cs.meta | 2 - .../Runtime/StringSetting.cs | 20 - .../Runtime/StringSetting.cs.meta | 2 - .../Runtime/Warlogic.Settings.asmdef | 10 - .../Runtime/Warlogic.Settings.asmdef.meta | 7 - Packages/com.warlogic.settings/Tests.meta | 8 - .../com.warlogic.settings/Tests/Editor.meta | 8 - .../PlayerPrefsJsonSettingsStoreTests.cs | 55 - .../PlayerPrefsJsonSettingsStoreTests.cs.meta | 2 - .../Tests/Editor/SettingApplyModeTests.cs | 238 --- .../Editor/SettingApplyModeTests.cs.meta | 2 - .../Tests/Editor/SettingsRegistryTests.cs | 77 - .../Editor/SettingsRegistryTests.cs.meta | 2 - .../Warlogic.Settings.Tests.Editor.asmdef | 23 - ...Warlogic.Settings.Tests.Editor.asmdef.meta | 7 - Packages/com.warlogic.settings/package.json | 12 - .../com.warlogic.settings/package.json.meta | 7 - Packages/manifest.json | 2 + Packages/packages-lock.json | 16 +- 95 files changed, 11 insertions(+), 6345 deletions(-) delete mode 100644 Packages/com.warlogic.settings.ugui/CHANGELOG.md delete mode 100644 Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef delete mode 100644 Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta delete mode 100644 Packages/com.warlogic.settings.ugui/package.json delete mode 100644 Packages/com.warlogic.settings.ugui/package.json.meta delete mode 100644 Packages/com.warlogic.settings/CHANGELOG.md delete mode 100644 Packages/com.warlogic.settings/CHANGELOG.md.meta delete mode 100644 Packages/com.warlogic.settings/Runtime.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/ApplyMode.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/BoolSetting.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/EnumSetting.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/FloatSetting.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/ISetting.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/ISetting.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/ISettingsStore.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/IntSetting.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/Setting.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/Setting.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/SettingsTab.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/StringSetting.cs delete mode 100644 Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta delete mode 100644 Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef delete mode 100644 Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta delete mode 100644 Packages/com.warlogic.settings/Tests.meta delete mode 100644 Packages/com.warlogic.settings/Tests/Editor.meta delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef delete mode 100644 Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta delete mode 100644 Packages/com.warlogic.settings/package.json delete mode 100644 Packages/com.warlogic.settings/package.json.meta diff --git a/Packages/com.warlogic.settings.ugui/CHANGELOG.md b/Packages/com.warlogic.settings.ugui/CHANGELOG.md deleted file mode 100644 index 35e72d7d..00000000 --- a/Packages/com.warlogic.settings.ugui/CHANGELOG.md +++ /dev/null @@ -1,5 +0,0 @@ -# Changelog - -## [0.1.0] - 2026-09-06 - -- Initial release: widget factory registry (`SettingsWidgetCatalog`), widget prefabs (slider, toggle, dropdown, keybind row, group header, tab button), setting grouping via `IGroupedSetting`, unified settings window view + presenter with per-tab lazy build and shared Save/Discard footer. diff --git a/Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta b/Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta deleted file mode 100644 index eacad4aa..00000000 --- a/Packages/com.warlogic.settings.ugui/CHANGELOG.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 61d06c191940bce41ba8596d45727f6a -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime.meta b/Packages/com.warlogic.settings.ugui/Runtime.meta deleted file mode 100644 index 4e704418..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dbe6ba01f7cf6fb4a9af5c1011b3fbc3 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs deleted file mode 100644 index 72581794..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using TMPro; -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public sealed class DropdownSettingWidget : MonoBehaviour, ISettingWidget - { - [SerializeField] private TMP_Text labelText; - [SerializeField] private TMP_Dropdown dropdown; - [SerializeField] private TMP_Text descriptionText; - - private Func _readIndex; - private Action _writeIndex; - - public event Action ValueEdited; - - public RectTransform Root => (RectTransform) transform; - - public void BindEnum(ISetting setting, Type enumType) - { - labelText.text = setting.Label; - bool hasDescription = !string.IsNullOrEmpty(setting.Description); - descriptionText.gameObject.SetActive(hasDescription); - if (hasDescription) - { - descriptionText.text = setting.Description; - } - - System.Reflection.PropertyInfo valueProp = setting.GetType().GetProperty("Value"); - System.Reflection.PropertyInfo stagedProp = setting.GetType().GetProperty("StagedValue"); - var values = new System.Collections.Generic.List(); - foreach (object value in Enum.GetValues(enumType)) - { - if (!values.Contains(value)) - { - values.Add(value); - } - } - var options = new System.Collections.Generic.List(); - foreach (object value in values) - { - string text = setting is IEnumOptionLabels labels ? labels.GetOptionLabel(value) : value.ToString(); - options.Add(new TMP_Dropdown.OptionData(text)); - } - dropdown.options = options; - - _readIndex = () => - { - object current = setting.ApplyMode == ApplyMode.OnSave ? stagedProp.GetValue(setting) : valueProp.GetValue(setting); - return values.IndexOf(current); - }; - _writeIndex = index => valueProp.SetValue(setting, values[index]); - - dropdown.onValueChanged.AddListener(OnDropdownChanged); - Refresh(); - } - - public void Refresh() - { - if (_readIndex == null) - { - return; - } - dropdown.SetValueWithoutNotify(Mathf.Max(0, _readIndex())); - } - - private void OnDropdownChanged(int index) - { - _writeIndex(index); - ValueEdited?.Invoke(); - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta deleted file mode 100644 index 2ce1f240..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidget.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 32dabc1660f77fe44ad6a1c369943338 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs deleted file mode 100644 index b49812e7..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public sealed class DropdownSettingWidgetFactory : ISettingWidgetFactory - { - private readonly DropdownSettingWidget _prefab; - private readonly Type _enumType; - - public DropdownSettingWidgetFactory(DropdownSettingWidget prefab, Type enumType) - { - _prefab = prefab; - _enumType = enumType; - } - - public ISettingWidget Create(ISetting setting, Transform parent) - { - DropdownSettingWidget widget = UnityEngine.Object.Instantiate(_prefab, parent); - widget.BindEnum(setting, _enumType); - return widget; - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta deleted file mode 100644 index 7904b4d2..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/DropdownSettingWidgetFactory.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 83e183e11639d9d478fbf86d983a7082 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs b/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs deleted file mode 100644 index 45a06e54..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Warlogic.Settings.Ugui -{ - /// - /// Optional setting marker: settings with the same consecutive Group value get a group header - /// inserted before them when tab content is built. - /// - public interface IGroupedSetting - { - string Group { get; } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta deleted file mode 100644 index 54c55d13..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/IGroupedSetting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: ccf0bac1fcae3f746b8320c721053787 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs deleted file mode 100644 index dda3f9ad..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public interface ISettingWidget - { - RectTransform Root { get; } - event Action ValueEdited; - void Refresh(); - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta deleted file mode 100644 index 5e30bb31..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidget.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: b052de693f38ffc499a50e30250efb23 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs deleted file mode 100644 index 545c7a74..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs +++ /dev/null @@ -1,9 +0,0 @@ -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public interface ISettingWidgetFactory - { - ISettingWidget Create(ISetting setting, Transform parent); - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta deleted file mode 100644 index be93894c..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ISettingWidgetFactory.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: e5e9c198580036f46823c5157ead0196 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs b/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs deleted file mode 100644 index a78d1b8f..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public interface ISettingsWindowView - { - event Action SaveClicked; - event Action DiscardClicked; - RectTransform TabButtonRoot { get; } - RectTransform ContentRoot { get; } - void SetSaveInteractable(bool interactable); - void SetDiscardInteractable(bool interactable); - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta deleted file mode 100644 index f803ebd7..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ISettingsWindowView.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 911b7d9de37988146894564e7b8ffa92 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs b/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs deleted file mode 100644 index 786a5f26..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs +++ /dev/null @@ -1,22 +0,0 @@ -using TMPro; -using UnityEngine; -using UnityEngine.UI; - -namespace Warlogic.Settings.Ugui -{ - public sealed class KeybindSettingRow : MonoBehaviour - { - [SerializeField] private TMP_Text actionLabelText; - [SerializeField] private TMP_Text bindingText; - [SerializeField] private Button rebindButton; - - public RectTransform Root => (RectTransform) transform; - public Button RebindButton => rebindButton; - - public void SetLabels(string actionLabel, string binding) - { - actionLabelText.text = actionLabel; - bindingText.text = binding; - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta deleted file mode 100644 index 75940b27..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/KeybindSettingRow.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 0cf5bf386d4b4e04dba93d30eb9350db \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta deleted file mode 100644 index 64bcab02..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e6eb7a37c05004547a188ab2ae99c8a7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab deleted file mode 100644 index 0d29ed35..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab +++ /dev/null @@ -1,1458 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &547663816937546016 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7775786895803472207} - - component: {fileID: 1718642921942058971} - - component: {fileID: 1798240956141886063} - m_Layer: 0 - m_Name: Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7775786895803472207 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 547663816937546016} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6573333316332237256} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -10, y: 0} - m_SizeDelta: {x: -40, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1718642921942058971 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 547663816937546016} - m_CullTransparentMesh: 1 ---- !u!114 &1798240956141886063 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 547663816937546016} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &586639809560980258 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8694535449170907048} - - component: {fileID: 5700625802663241484} - - component: {fileID: 7799191208106146804} - m_Layer: 0 - m_Name: Item Checkmark - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8694535449170907048 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586639809560980258} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4194535041111387472} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 12, y: 0} - m_SizeDelta: {x: 18, y: 18} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5700625802663241484 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586639809560980258} - m_CullTransparentMesh: 1 ---- !u!114 &7799191208106146804 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586639809560980258} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &967323859253071121 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4851426183015034898} - - component: {fileID: 4456741283598100154} - - component: {fileID: 8534472189986526337} - m_Layer: 0 - m_Name: DropdownSettingRow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4851426183015034898 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 967323859253071121} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7028991682193134301} - - {fileID: 5514563394505216482} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 600, y: 64} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &4456741283598100154 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 967323859253071121} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 2 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &8534472189986526337 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 967323859253071121} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 32dabc1660f77fe44ad6a1c369943338, type: 3} - m_Name: - m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.DropdownSettingWidget - labelText: {fileID: 1997950822411004859} - dropdown: {fileID: 6716778157587832806} - descriptionText: {fileID: 3891384929951464154} ---- !u!1 &1039982759528130506 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8133426358526148854} - - component: {fileID: 5926956854031933550} - - component: {fileID: 3931666630068495468} - - component: {fileID: 5248670659261968323} - m_Layer: 0 - m_Name: Template - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &8133426358526148854 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1039982759528130506} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6765889746888377768} - m_Father: {fileID: 6573333316332237256} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 150} - m_Pivot: {x: 0.5, y: 1} ---- !u!222 &5926956854031933550 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1039982759528130506} - m_CullTransparentMesh: 1 ---- !u!114 &3931666630068495468 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1039982759528130506} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.18, g: 0.18, b: 0.18, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &5248670659261968323 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1039982759528130506} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ScrollRect - m_Content: {fileID: 8866607485582424769} - m_Horizontal: 0 - m_Vertical: 1 - m_MovementType: 2 - m_Elasticity: 0.1 - m_Inertia: 1 - m_DecelerationRate: 0.135 - m_ScrollSensitivity: 1 - m_Viewport: {fileID: 6765889746888377768} - m_HorizontalScrollbar: {fileID: 0} - m_VerticalScrollbar: {fileID: 0} - m_HorizontalScrollbarVisibility: 0 - m_VerticalScrollbarVisibility: 0 - m_HorizontalScrollbarSpacing: 0 - m_VerticalScrollbarSpacing: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &1882678858389972146 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6459660466451565953} - - component: {fileID: 3366184477491018466} - - component: {fileID: 9081661622861711268} - m_Layer: 0 - m_Name: Arrow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6459660466451565953 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1882678858389972146} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6573333316332237256} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -15, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3366184477491018466 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1882678858389972146} - m_CullTransparentMesh: 1 ---- !u!114 &9081661622861711268 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1882678858389972146} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &1894114533674492556 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8866607485582424769} - m_Layer: 0 - m_Name: Content - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8866607485582424769 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1894114533674492556} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4194535041111387472} - m_Father: {fileID: 6765889746888377768} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 28} - m_Pivot: {x: 0.5, y: 1} ---- !u!1 &4005451945719528430 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4194535041111387472} - - component: {fileID: 8468340426849312405} - m_Layer: 0 - m_Name: Item - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4194535041111387472 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4005451945719528430} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 523129708304235449} - - {fileID: 8694535449170907048} - - {fileID: 6217348976447106898} - m_Father: {fileID: 8866607485582424769} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 28} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &8468340426849312405 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4005451945719528430} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Toggle - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.4, g: 0.4, b: 0.4, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.45, g: 0.45, b: 0.45, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 5172827256399075592} - toggleTransition: 1 - graphic: {fileID: 7799191208106146804} - m_Group: {fileID: 0} - onValueChanged: - m_PersistentCalls: - m_Calls: [] - m_IsOn: 1 ---- !u!1 &5215115348936762077 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5514563394505216482} - - component: {fileID: 3084073256033389831} - - component: {fileID: 3891384929951464154} - - component: {fileID: 4517768266017549225} - m_Layer: 0 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5514563394505216482 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5215115348936762077} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4851426183015034898} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3084073256033389831 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5215115348936762077} - m_CullTransparentMesh: 1 ---- !u!114 &3891384929951464154 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5215115348936762077} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.7, g: 0.7, b: 0.7, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 14 - m_fontSizeBase: 14 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &4517768266017549225 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5215115348936762077} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 20 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &5513550024736285845 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7028991682193134301} - - component: {fileID: 8547930247252852488} - - component: {fileID: 6778686846683746336} - m_Layer: 0 - m_Name: Row - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7028991682193134301 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5513550024736285845} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7959139930162574822} - - {fileID: 6573333316332237256} - m_Father: {fileID: 4851426183015034898} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &8547930247252852488 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5513550024736285845} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 10 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &6778686846683746336 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5513550024736285845} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 32 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &5777167872051892320 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7959139930162574822} - - component: {fileID: 7679606746600987719} - - component: {fileID: 1997950822411004859} - - component: {fileID: 679677780463971417} - m_Layer: 0 - m_Name: Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7959139930162574822 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5777167872051892320} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 7028991682193134301} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7679606746600987719 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5777167872051892320} - m_CullTransparentMesh: 1 ---- !u!114 &1997950822411004859 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5777167872051892320} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &679677780463971417 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5777167872051892320} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 220 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &5807996329148924024 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6573333316332237256} - - component: {fileID: 9155157035545140040} - - component: {fileID: 4964037659789034454} - - component: {fileID: 7010442456867013503} - - component: {fileID: 6716778157587832806} - m_Layer: 0 - m_Name: Dropdown - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6573333316332237256 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5807996329148924024} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7775786895803472207} - - {fileID: 6459660466451565953} - - {fileID: 8133426358526148854} - m_Father: {fileID: 7028991682193134301} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &9155157035545140040 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5807996329148924024} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: 1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!222 &4964037659789034454 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5807996329148924024} - m_CullTransparentMesh: 1 ---- !u!114 &7010442456867013503 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5807996329148924024} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &6716778157587832806 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5807996329148924024} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7b743370ac3e4ec2a1668f5455a8ef8a, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_Dropdown - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 7010442456867013503} - m_Template: {fileID: 8133426358526148854} - m_CaptionText: {fileID: 1798240956141886063} - m_CaptionImage: {fileID: 0} - m_Placeholder: {fileID: 0} - m_ItemText: {fileID: 3089850726977621740} - m_ItemImage: {fileID: 0} - m_Value: 0 - m_MultiSelect: 0 - m_Options: - m_Options: [] - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] - m_AlphaFadeSpeed: 0.15 ---- !u!1 &6203122783600781617 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 523129708304235449} - - component: {fileID: 5466166196408017114} - - component: {fileID: 5172827256399075592} - m_Layer: 0 - m_Name: Item Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &523129708304235449 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6203122783600781617} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4194535041111387472} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5466166196408017114 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6203122783600781617} - m_CullTransparentMesh: 1 ---- !u!114 &5172827256399075592 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6203122783600781617} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.35, g: 0.35, b: 0.35, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &6546782935254796631 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6765889746888377768} - - component: {fileID: 2605527148670270912} - - component: {fileID: 7067618689721806895} - - component: {fileID: 4685903868571797472} - m_Layer: 0 - m_Name: Viewport - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6765889746888377768 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6546782935254796631} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 8866607485582424769} - m_Father: {fileID: 8133426358526148854} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 1} ---- !u!222 &2605527148670270912 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6546782935254796631} - m_CullTransparentMesh: 1 ---- !u!114 &7067618689721806895 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6546782935254796631} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 0.01} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &4685903868571797472 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6546782935254796631} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D - m_Padding: {x: 0, y: 0, z: 0, w: 0} - m_Softness: {x: 0, y: 0} ---- !u!1 &6680455435052572943 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6217348976447106898} - - component: {fileID: 8103878530067296014} - - component: {fileID: 3089850726977621740} - m_Layer: 0 - m_Name: Item Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6217348976447106898 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6680455435052572943} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4194535041111387472} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 15, y: 0} - m_SizeDelta: {x: -42, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8103878530067296014 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6680455435052572943} - m_CullTransparentMesh: 1 ---- !u!114 &3089850726977621740 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6680455435052572943} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta deleted file mode 100644 index 3e22e617..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/DropdownSettingRow.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6a2e01fcfa01d0641842d39608ed06cd -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab deleted file mode 100644 index 35641eff..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab +++ /dev/null @@ -1,678 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1368673227581239100 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 704800380156519355} - - component: {fileID: 5645879299320586103} - - component: {fileID: 8569282542660884367} - - component: {fileID: 1156738326899359152} - m_Layer: 0 - m_Name: Action Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &704800380156519355 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1368673227581239100} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1025252804700249907} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5645879299320586103 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1368673227581239100} - m_CullTransparentMesh: 1 ---- !u!114 &8569282542660884367 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1368673227581239100} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &1156738326899359152 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1368673227581239100} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: 1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &2862488475575783181 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4959300882970057527} - - component: {fileID: 5491062849988747901} - - component: {fileID: 7467690535295795353} - - component: {fileID: 2118849856051076332} - m_Layer: 0 - m_Name: Binding - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4959300882970057527 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2862488475575783181} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1025252804700249907} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5491062849988747901 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2862488475575783181} - m_CullTransparentMesh: 1 ---- !u!114 &7467690535295795353 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2862488475575783181} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &2118849856051076332 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2862488475575783181} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 140 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &3936079510294817999 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6180501514266598586} - - component: {fileID: 7157106940881410278} - - component: {fileID: 5183402193687960222} - m_Layer: 0 - m_Name: Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6180501514266598586 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3936079510294817999} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4285116700718520785} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7157106940881410278 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3936079510294817999} - m_CullTransparentMesh: 1 ---- !u!114 &5183402193687960222 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3936079510294817999} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Rebind - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 16 - m_fontSizeBase: 16 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &4150550859377666342 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4285116700718520785} - - component: {fileID: 8918826696193274663} - - component: {fileID: 5366998284656149838} - - component: {fileID: 5822877820680962675} - - component: {fileID: 8727624872435126028} - m_Layer: 0 - m_Name: Rebind Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4285116700718520785 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4150550859377666342} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6180501514266598586} - m_Father: {fileID: 1025252804700249907} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &8918826696193274663 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4150550859377666342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 100 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!222 &5366998284656149838 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4150550859377666342} - m_CullTransparentMesh: 1 ---- !u!114 &5822877820680962675 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4150550859377666342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &8727624872435126028 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4150550859377666342} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 5822877820680962675} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &4564083129591634886 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1025252804700249907} - - component: {fileID: 7346583179803725481} - - component: {fileID: 3785077488095232591} - m_Layer: 0 - m_Name: KeybindSettingRow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1025252804700249907 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4564083129591634886} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 704800380156519355} - - {fileID: 4959300882970057527} - - {fileID: 4285116700718520785} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 600, y: 36} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &7346583179803725481 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4564083129591634886} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 10 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &3785077488095232591 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4564083129591634886} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cf5bf386d4b4e04dba93d30eb9350db, type: 3} - m_Name: - m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.KeybindSettingRow - actionLabelText: {fileID: 8569282542660884367} - bindingText: {fileID: 7467690535295795353} - rebindButton: {fileID: 8727624872435126028} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta deleted file mode 100644 index 4e847a9b..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/KeybindSettingRow.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: af027cadb8078b8419c624eda44cb2c4 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab deleted file mode 100644 index b27db1e7..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab +++ /dev/null @@ -1,334 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &996196194324087807 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 811789932442757556} - - component: {fileID: 8008270439741732585} - - component: {fileID: 2381040953208706365} - - component: {fileID: 4918286615146955649} - m_Layer: 0 - m_Name: Line - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &811789932442757556 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 996196194324087807} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3171408497648296648} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8008270439741732585 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 996196194324087807} - m_CullTransparentMesh: 1 ---- !u!114 &2381040953208706365 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 996196194324087807} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &4918286615146955649 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 996196194324087807} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 2 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &8057282102511238857 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3130158812167106768} - - component: {fileID: 2254934165989010107} - - component: {fileID: 7819368576699090682} - - component: {fileID: 7500824198176167703} - m_Layer: 0 - m_Name: Header - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3130158812167106768 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8057282102511238857} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3171408497648296648} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2254934165989010107 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8057282102511238857} - m_CullTransparentMesh: 1 ---- !u!114 &7819368576699090682 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8057282102511238857} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 22 - m_fontSizeBase: 22 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 1 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &7500824198176167703 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8057282102511238857} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 30 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &8266159946973255812 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3171408497648296648} - - component: {fileID: 243622327274016487} - - component: {fileID: 8136755060007132778} - m_Layer: 0 - m_Name: SettingsGroupHeader - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3171408497648296648 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8266159946973255812} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3130158812167106768} - - {fileID: 811789932442757556} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 600, y: 40} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &243622327274016487 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8266159946973255812} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 4 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &8136755060007132778 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8266159946973255812} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f5496afd54939f14ba645c4b09a602fa, type: 3} - m_Name: - m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SettingsGroupHeader - headerText: {fileID: 7819368576699090682} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta deleted file mode 100644 index d7f49adc..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsGroupHeader.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f06e260663e69c840a22a6915b799285 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab deleted file mode 100644 index 82d5f61c..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab +++ /dev/null @@ -1,296 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &4680319398195913748 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2626200043387682689} - - component: {fileID: 2971516530397136253} - - component: {fileID: 6006307358497217957} - m_Layer: 0 - m_Name: Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2626200043387682689 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4680319398195913748} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2894054071426942441} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2971516530397136253 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4680319398195913748} - m_CullTransparentMesh: 1 ---- !u!114 &6006307358497217957 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4680319398195913748} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &7556938534710344026 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2894054071426942441} - - component: {fileID: 3277242532702859876} - - component: {fileID: 2969167737653743825} - - component: {fileID: 918078599274014078} - - component: {fileID: 4392776676213909515} - - component: {fileID: 1322163474594506188} - m_Layer: 0 - m_Name: SettingsTabButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2894054071426942441 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7556938534710344026} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2626200043387682689} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 180, y: 44} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3277242532702859876 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7556938534710344026} - m_CullTransparentMesh: 1 ---- !u!114 &2969167737653743825 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7556938534710344026} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &918078599274014078 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7556938534710344026} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Toggle - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 2969167737653743825} - toggleTransition: 1 - graphic: {fileID: 0} - m_Group: {fileID: 0} - onValueChanged: - m_PersistentCalls: - m_Calls: [] - m_IsOn: 0 ---- !u!114 &4392776676213909515 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7556938534710344026} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Outline - m_EffectColor: {r: 0.9, g: 0.9, b: 0.9, a: 0.9} - m_EffectDistance: {x: 2, y: -2} - m_UseGraphicAlpha: 1 ---- !u!114 &1322163474594506188 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7556938534710344026} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 96e5c3bea762add4bb8ea6c12c991edd, type: 3} - m_Name: - m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SettingsTabButton - labelText: {fileID: 6006307358497217957} - toggle: {fileID: 918078599274014078} - activeOutline: {fileID: 4392776676213909515} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta deleted file mode 100644 index dc359fb4..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SettingsTabButton.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4f32f64c20b19944781a22b023113f0d -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab deleted file mode 100644 index fc89e9e9..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab +++ /dev/null @@ -1,1051 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &42879495047399739 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4905170779856767915} - - component: {fileID: 2671211611608392262} - - component: {fileID: 920000048755613003} - m_Layer: 0 - m_Name: SliderSettingRow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4905170779856767915 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 42879495047399739} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5597768032680221029} - - {fileID: 3631378942844171488} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 600, y: 64} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2671211611608392262 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 42879495047399739} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 2 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &920000048755613003 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 42879495047399739} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 113666b7b0f355446a734646a3678133, type: 3} - m_Name: - m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.SliderSettingWidget - labelText: {fileID: 3897795646481236247} - valueText: {fileID: 4934867336505491135} - slider: {fileID: 5498433502768831080} - descriptionText: {fileID: 586043496208320228} ---- !u!1 &550800891798009356 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5567205179998286341} - - component: {fileID: 5239109606387480481} - - component: {fileID: 930438601580911736} - m_Layer: 0 - m_Name: Fill - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5567205179998286341 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 550800891798009356} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5085782856646224337} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5239109606387480481 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 550800891798009356} - m_CullTransparentMesh: 1 ---- !u!114 &930438601580911736 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 550800891798009356} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.72, g: 0.72, b: 0.72, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &623439488850462019 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7984216573710506361} - - component: {fileID: 5936654187861177493} - - component: {fileID: 3897795646481236247} - - component: {fileID: 8710168255087153204} - m_Layer: 0 - m_Name: Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7984216573710506361 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 623439488850462019} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5597768032680221029} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5936654187861177493 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 623439488850462019} - m_CullTransparentMesh: 1 ---- !u!114 &3897795646481236247 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 623439488850462019} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &8710168255087153204 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 623439488850462019} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 220 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &1547216973397038323 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 584155936831690031} - - component: {fileID: 1724863041150910798} - - component: {fileID: 4934867336505491135} - - component: {fileID: 2783091669208393932} - m_Layer: 0 - m_Name: Value - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &584155936831690031 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1547216973397038323} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5597768032680221029} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1724863041150910798 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1547216973397038323} - m_CullTransparentMesh: 1 ---- !u!114 &4934867336505491135 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1547216973397038323} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 4 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &2783091669208393932 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1547216973397038323} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 70 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &1551319464398099292 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3631378942844171488} - - component: {fileID: 3674948671484722327} - - component: {fileID: 586043496208320228} - - component: {fileID: 6705107486367964105} - m_Layer: 0 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3631378942844171488 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1551319464398099292} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4905170779856767915} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3674948671484722327 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1551319464398099292} - m_CullTransparentMesh: 1 ---- !u!114 &586043496208320228 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1551319464398099292} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.7, g: 0.7, b: 0.7, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 14 - m_fontSizeBase: 14 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &6705107486367964105 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1551319464398099292} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 20 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &2054354776428156221 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6715256470988641338} - - component: {fileID: 8694153069179026803} - - component: {fileID: 5278091934628039615} - m_Layer: 0 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6715256470988641338 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2054354776428156221} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5515522748831428642} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.25} - m_AnchorMax: {x: 1, y: 0.75} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8694153069179026803 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2054354776428156221} - m_CullTransparentMesh: 1 ---- !u!114 &5278091934628039615 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2054354776428156221} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2066083375746477353 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8627596582008281778} - m_Layer: 0 - m_Name: Handle Slide Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8627596582008281778 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2066083375746477353} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1326435435119543605} - m_Father: {fileID: 5515522748831428642} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &2417095572641787130 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5085782856646224337} - m_Layer: 0 - m_Name: Fill Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5085782856646224337 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2417095572641787130} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5567205179998286341} - m_Father: {fileID: 5515522748831428642} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.25} - m_AnchorMax: {x: 1, y: 0.75} - m_AnchoredPosition: {x: -5, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &2464666966677564614 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1326435435119543605} - - component: {fileID: 2302077600723047109} - - component: {fileID: 6148126215933414538} - m_Layer: 0 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1326435435119543605 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2464666966677564614} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8627596582008281778} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2302077600723047109 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2464666966677564614} - m_CullTransparentMesh: 1 ---- !u!114 &6148126215933414538 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2464666966677564614} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.72, g: 0.72, b: 0.72, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2469847446487402700 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5515522748831428642} - - component: {fileID: 2717377723206263606} - - component: {fileID: 5498433502768831080} - m_Layer: 0 - m_Name: Slider - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5515522748831428642 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2469847446487402700} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6715256470988641338} - - {fileID: 5085782856646224337} - - {fileID: 8627596582008281778} - m_Father: {fileID: 5597768032680221029} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2717377723206263606 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2469847446487402700} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 24 - m_FlexibleWidth: 1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!114 &5498433502768831080 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2469847446487402700} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 6148126215933414538} - m_FillRect: {fileID: 5567205179998286341} - m_HandleRect: {fileID: 1326435435119543605} - m_Direction: 0 - m_MinValue: 0 - m_MaxValue: 1 - m_WholeNumbers: 0 - m_Value: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &3939107696438759957 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5597768032680221029} - - component: {fileID: 8076564413767803239} - - component: {fileID: 5695584082162533694} - m_Layer: 0 - m_Name: Row - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5597768032680221029 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3939107696438759957} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7984216573710506361} - - {fileID: 5515522748831428642} - - {fileID: 584155936831690031} - m_Father: {fileID: 4905170779856767915} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &8076564413767803239 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3939107696438759957} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 4 - m_Spacing: 10 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &5695584082162533694 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3939107696438759957} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 32 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta deleted file mode 100644 index 0073b8c3..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/SliderSettingRow.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 898bfcb2f90034f4d99bbcfff00bfc93 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab deleted file mode 100644 index 6c5ba3c0..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab +++ /dev/null @@ -1,704 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3448601837636717176 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4874666659026802401} - - component: {fileID: 2393754336676497399} - - component: {fileID: 300359771971290469} - - component: {fileID: 7702960626228888500} - - component: {fileID: 8789600829715143829} - m_Layer: 0 - m_Name: Toggle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4874666659026802401 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3448601837636717176} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 8862235941287777692} - m_Father: {fileID: 5216324525638281257} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2393754336676497399 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3448601837636717176} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: 24 - m_PreferredHeight: 24 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!222 &300359771971290469 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3448601837636717176} - m_CullTransparentMesh: 1 ---- !u!114 &7702960626228888500 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3448601837636717176} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.24, g: 0.24, b: 0.24, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!114 &8789600829715143829 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3448601837636717176} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Toggle - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 7702960626228888500} - toggleTransition: 1 - graphic: {fileID: 8118257887811463093} - m_Group: {fileID: 0} - onValueChanged: - m_PersistentCalls: - m_Calls: [] - m_IsOn: 0 ---- !u!1 &4633108352055977306 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5216324525638281257} - - component: {fileID: 8062715808805840412} - - component: {fileID: 3791166923046046240} - m_Layer: 0 - m_Name: Row - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5216324525638281257 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4633108352055977306} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4874666659026802401} - - {fileID: 6710966151576112758} - m_Father: {fileID: 8562244588157808918} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &8062715808805840412 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4633108352055977306} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 3 - m_Spacing: 10 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &3791166923046046240 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4633108352055977306} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 32 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &4827855708637882626 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4771525357461283707} - - component: {fileID: 978633729136942456} - - component: {fileID: 8236835367339581289} - - component: {fileID: 1470702262799295362} - m_Layer: 0 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4771525357461283707 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4827855708637882626} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8562244588157808918} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &978633729136942456 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4827855708637882626} - m_CullTransparentMesh: 1 ---- !u!114 &8236835367339581289 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4827855708637882626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.7, g: 0.7, b: 0.7, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 14 - m_fontSizeBase: 14 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &1470702262799295362 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4827855708637882626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: 20 - m_FlexibleWidth: -1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &5271343715736364808 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8562244588157808918} - - component: {fileID: 6981562926990575885} - - component: {fileID: 8057993710751154939} - m_Layer: 0 - m_Name: ToggleSettingRow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8562244588157808918 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5271343715736364808} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5216324525638281257} - - {fileID: 4771525357461283707} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 600, y: 64} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &6981562926990575885 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5271343715736364808} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 2 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 1 - m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &8057993710751154939 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5271343715736364808} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b777d5528cc25494c8f6d7222907e78b, type: 3} - m_Name: - m_EditorClassIdentifier: Warlogic.Settings.Ugui::Warlogic.Settings.Ugui.ToggleSettingWidget - labelText: {fileID: 323492695222097635} - toggle: {fileID: 8789600829715143829} - descriptionText: {fileID: 8236835367339581289} ---- !u!1 &7483794450522686815 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6710966151576112758} - - component: {fileID: 2703367507413186750} - - component: {fileID: 323492695222097635} - - component: {fileID: 8463783094646457401} - m_Layer: 0 - m_Name: Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6710966151576112758 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7483794450522686815} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5216324525638281257} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2703367507413186750 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7483794450522686815} - m_CullTransparentMesh: 1 ---- !u!114 &323492695222097635 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7483794450522686815} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 0.92, g: 0.92, b: 0.92, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 18 - m_fontSizeBase: 18 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 4096 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &8463783094646457401 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7483794450522686815} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: 1 - m_FlexibleHeight: -1 - m_LayoutPriority: 1 ---- !u!1 &9031556223997286581 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8862235941287777692} - - component: {fileID: 2698643922328821874} - - component: {fileID: 8118257887811463093} - m_Layer: 0 - m_Name: Checkmark - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8862235941287777692 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9031556223997286581} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4874666659026802401} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -6, y: -6} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2698643922328821874 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9031556223997286581} - m_CullTransparentMesh: 1 ---- !u!114 &8118257887811463093 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9031556223997286581} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.72, g: 0.72, b: 0.72, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta b/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta deleted file mode 100644 index afb5e3eb..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Prefabs/ToggleSettingRow.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 831cbb32c61bed0438d9a687f33ed170 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs deleted file mode 100644 index 1e17802d..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs +++ /dev/null @@ -1,17 +0,0 @@ -using TMPro; -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public sealed class SettingsGroupHeader : MonoBehaviour - { - [SerializeField] private TMP_Text headerText; - - public RectTransform Root => (RectTransform) transform; - - public void SetLabel(string label) - { - headerText.text = label; - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta deleted file mode 100644 index d4afa247..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsGroupHeader.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: f5496afd54939f14ba645c4b09a602fa \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs deleted file mode 100644 index f8cd8c76..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using TMPro; -using UnityEngine; -using UnityEngine.UI; - -namespace Warlogic.Settings.Ugui -{ - public sealed class SettingsTabButton : MonoBehaviour - { - [SerializeField] private TMP_Text labelText; - [SerializeField] private Toggle toggle; - [SerializeField] private Outline activeOutline; - - public event Action Clicked; - - public RectTransform Root => (RectTransform) transform; - - private bool _selected; - - private void Awake() - { - toggle.onValueChanged.AddListener(OnToggleChanged); - RefreshOutline(); - } - - public void SetLabel(string label) - { - labelText.text = label; - } - - public void SetSelected(bool selected) - { - _selected = selected; - toggle.SetIsOnWithoutNotify(selected); - RefreshOutline(); - } - - private void OnToggleChanged(bool value) - { - if (value) - { - Clicked?.Invoke(); - } - else if (_selected) - { - toggle.SetIsOnWithoutNotify(true); - } - RefreshOutline(); - } - - private void RefreshOutline() - { - if (activeOutline != null) - { - activeOutline.enabled = toggle.isOn; - } - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta deleted file mode 100644 index 8fbb63fa..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsTabButton.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 96e5c3bea762add4bb8ea6c12c991edd \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs deleted file mode 100644 index d5f9b577..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public sealed class SettingsWidgetCatalog : MonoBehaviour - { - [SerializeField] private SliderSettingWidget sliderRowPrefab; - [SerializeField] private ToggleSettingWidget toggleRowPrefab; - [SerializeField] private DropdownSettingWidget dropdownRowPrefab; - [SerializeField] private SettingsGroupHeader groupHeaderPrefab; - [SerializeField] private SettingsTabButton tabButtonPrefab; - - private readonly Dictionary _factories = new Dictionary(); - - public void RegisterFactory(Type settingType, ISettingWidgetFactory factory) - { - _factories[settingType] = factory; - } - - public ISettingWidget CreateWidget(ISetting setting, Transform parent) - { - ISettingWidgetFactory factory = ResolveFactory(setting.GetType()); - return factory?.Create(setting, parent); - } - - public SettingsGroupHeader CreateGroupHeader(string label, Transform parent) - { - SettingsGroupHeader header = Instantiate(groupHeaderPrefab, parent); - header.SetLabel(label); - return header; - } - - public SettingsTabButton CreateTabButton(Transform parent) - { - return Instantiate(tabButtonPrefab, parent); - } - - private ISettingWidgetFactory ResolveFactory(Type settingType) - { - if (_factories.TryGetValue(settingType, out ISettingWidgetFactory registered)) - { - return registered; - } - if (settingType == typeof(FloatSetting) || settingType == typeof(IntSetting)) - { - return new SliderSettingWidgetFactory(sliderRowPrefab); - } - if (settingType == typeof(BoolSetting)) - { - return new ToggleSettingWidgetFactory(toggleRowPrefab); - } - if (settingType.IsGenericType && settingType.GetGenericTypeDefinition() == typeof(EnumSetting<>)) - { - Type enumType = settingType.GetGenericArguments()[0]; - return new DropdownSettingWidgetFactory(dropdownRowPrefab, enumType); - } - return null; - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta deleted file mode 100644 index 5ff27546..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWidgetCatalog.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 8675f0918056faa479ecc7cd79b043a8 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs deleted file mode 100644 index 62877013..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs +++ /dev/null @@ -1,156 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public sealed class SettingsWindowPresenter - { - private sealed class TabContent - { - public readonly List Widgets = new List(); - public readonly List Roots = new List(); - } - - private readonly SettingsRegistry _registry; - private readonly SettingsWidgetCatalog _catalog; - private readonly ISettingsWindowView _view; - private readonly Dictionary _contentByTab = new Dictionary(); - private readonly Dictionary _tabButtons = new Dictionary(); - private string _activeTabId; - - public event Action TabContentBuilt; - public event Action ActiveTabChanged; - - public SettingsWindowPresenter(SettingsRegistry registry, SettingsWidgetCatalog catalog, ISettingsWindowView view) - { - _registry = registry; - _catalog = catalog; - _view = view; - _view.SaveClicked += SaveAll; - _view.DiscardClicked += DiscardAll; - BuildTabButtons(); - RefreshFooter(); - if (_registry.Tabs.Count > 0) - { - SelectTab(_registry.Tabs[0].Id); - } - } - - public bool IsTabBuilt(string tabId) - { - return _contentByTab.ContainsKey(tabId); - } - - public void SelectTab(string tabId) - { - if (tabId == _activeTabId) - { - return; - } - if (_activeTabId != null) - { - SetTabContentVisible(_activeTabId, false); - _tabButtons[_activeTabId].SetSelected(false); - } - _activeTabId = tabId; - if (!IsTabBuilt(tabId)) - { - BuildTabContent(tabId); - } - SetTabContentVisible(tabId, true); - _tabButtons[tabId].SetSelected(true); - ActiveTabChanged?.Invoke(tabId); - } - - private void BuildTabButtons() - { - foreach (SettingsTab tab in _registry.Tabs) - { - SettingsTabButton button = _catalog.CreateTabButton(_view.TabButtonRoot); - button.SetLabel(tab.Label); - string tabId = tab.Id; - button.Clicked += () => SelectTab(tabId); - _tabButtons[tabId] = button; - } - } - - private void BuildTabContent(string tabId) - { - SettingsTab tab = _registry.Tabs.First(t => t.Id == tabId); - var content = new TabContent(); - string currentGroup = null; - foreach (ISetting setting in tab.Settings) - { - if (setting is IGroupedSetting grouped && grouped.Group != currentGroup) - { - currentGroup = grouped.Group; - SettingsGroupHeader header = _catalog.CreateGroupHeader(currentGroup, _view.ContentRoot); - content.Roots.Add(header.gameObject); - header.gameObject.SetActive(false); - } - ISettingWidget widget = _catalog.CreateWidget(setting, _view.ContentRoot); - if (widget == null) - { - continue; - } - widget.ValueEdited += RefreshFooter; - widget.Root.gameObject.SetActive(false); - content.Widgets.Add(widget); - content.Roots.Add(widget.Root.gameObject); - } - _contentByTab[tabId] = content; - TabContentBuilt?.Invoke(tabId); - } - - private void SetTabContentVisible(string tabId, bool visible) - { - foreach (GameObject root in _contentByTab[tabId].Roots) - { - root.SetActive(visible); - } - } - - private void SaveAll() - { - foreach (SettingsTab tab in _registry.Tabs) - { - foreach (ISetting setting in tab.Settings) - { - if (setting.ApplyMode == ApplyMode.OnSave && setting.IsDirty) - { - setting.Commit(); - } - } - } - RefreshFooter(); - } - - private void DiscardAll() - { - foreach (SettingsTab tab in _registry.Tabs) - { - foreach (ISetting setting in tab.Settings) - { - setting.Revert(); - } - } - foreach (TabContent content in _contentByTab.Values) - { - foreach (ISettingWidget widget in content.Widgets) - { - widget.Refresh(); - } - } - RefreshFooter(); - } - - private void RefreshFooter() - { - bool anyDirty = _registry.Tabs.SelectMany(t => t.Settings).Any(s => s.IsDirty); - _view.SetSaveInteractable(anyDirty); - _view.SetDiscardInteractable(anyDirty); - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta deleted file mode 100644 index 7092860d..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SettingsWindowPresenter.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: f44755f96b28fa540b819223fa800318 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs deleted file mode 100644 index 89c98aaf..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using TMPro; -using UnityEngine; -using UnityEngine.UI; - -namespace Warlogic.Settings.Ugui -{ - public sealed class SliderSettingWidget : MonoBehaviour, ISettingWidget - { - [SerializeField] private TMP_Text labelText; - [SerializeField] private TMP_Text valueText; - [SerializeField] private Slider slider; - [SerializeField] private TMP_Text descriptionText; - - private Func _read; - private Action _write; - private bool _wholeNumbers; - - public event Action ValueEdited; - - public RectTransform Root => (RectTransform) transform; - - public void Bind(ISetting setting, float min, float max) - { - BindCommon(setting.Label, setting.Description, min, max, false, - () => setting.ApplyMode == ApplyMode.OnSave ? setting.StagedValue : setting.Value, - v => setting.Value = v); - } - - public void Bind(ISetting setting, int min, int max) - { - BindCommon(setting.Label, setting.Description, min, max, true, - () => setting.ApplyMode == ApplyMode.OnSave ? setting.StagedValue : setting.Value, - v => setting.Value = Mathf.RoundToInt(v)); - } - - private void BindCommon(string label, string description, float min, float max, bool wholeNumbers, Func read, Action write) - { - _read = read; - _write = write; - _wholeNumbers = wholeNumbers; - labelText.text = label; - SetupDescription(description); - slider.minValue = min; - slider.maxValue = max; - slider.wholeNumbers = wholeNumbers; - slider.onValueChanged.AddListener(OnSliderChanged); - Refresh(); - } - - public void Refresh() - { - if (_read == null) - { - return; - } - float value = _read(); - slider.SetValueWithoutNotify(value); - valueText.text = _wholeNumbers ? Mathf.RoundToInt(value).ToString() : value.ToString("0.##"); - } - - private void OnSliderChanged(float value) - { - if (_wholeNumbers) - { - value = Mathf.RoundToInt(value); - } - valueText.text = _wholeNumbers ? ((int) value).ToString() : value.ToString("0.##"); - _write(value); - ValueEdited?.Invoke(); - } - - private void SetupDescription(string description) - { - bool hasDescription = !string.IsNullOrEmpty(description); - descriptionText.gameObject.SetActive(hasDescription); - if (hasDescription) - { - descriptionText.text = description; - } - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta deleted file mode 100644 index e5f76f40..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidget.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 113666b7b0f355446a734646a3678133 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs deleted file mode 100644 index a618ff2d..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs +++ /dev/null @@ -1,33 +0,0 @@ -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public sealed class SliderSettingWidgetFactory : ISettingWidgetFactory - { - private readonly SliderSettingWidget _prefab; - - public SliderSettingWidgetFactory(SliderSettingWidget prefab) - { - _prefab = prefab; - } - - public ISettingWidget Create(ISetting setting, Transform parent) - { - SliderSettingWidget widget = Object.Instantiate(_prefab, parent); - if (setting is ISetting floatSetting && setting is FloatSetting floatRange) - { - widget.Bind(floatSetting, floatRange.Min, floatRange.Max); - } - else if (setting is ISetting intSetting && setting is IntSetting intRange) - { - widget.Bind(intSetting, intRange.Min, intRange.Max); - } - else - { - Object.Destroy(widget.gameObject); - return null; - } - return widget; - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta deleted file mode 100644 index 84d6c3ec..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/SliderSettingWidgetFactory.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: e9a63ba71134c234ea29c08ed095ec56 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs deleted file mode 100644 index 0498051f..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using TMPro; -using UnityEngine; -using UnityEngine.UI; - -namespace Warlogic.Settings.Ugui -{ - public sealed class ToggleSettingWidget : MonoBehaviour, ISettingWidget - { - [SerializeField] private TMP_Text labelText; - [SerializeField] private Toggle toggle; - [SerializeField] private TMP_Text descriptionText; - - private ISetting _setting; - - public event Action ValueEdited; - - public RectTransform Root => (RectTransform) transform; - - public void Bind(ISetting setting) - { - _setting = setting; - labelText.text = setting.Label; - bool hasDescription = !string.IsNullOrEmpty(setting.Description); - descriptionText.gameObject.SetActive(hasDescription); - if (hasDescription) - { - descriptionText.text = setting.Description; - } - toggle.onValueChanged.AddListener(OnToggleChanged); - Refresh(); - } - - public void Refresh() - { - if (_setting == null) - { - return; - } - toggle.SetIsOnWithoutNotify(_setting.ApplyMode == ApplyMode.OnSave ? _setting.StagedValue : _setting.Value); - } - - private void OnToggleChanged(bool value) - { - _setting.Value = value; - ValueEdited?.Invoke(); - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta deleted file mode 100644 index a76dfef3..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidget.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: b777d5528cc25494c8f6d7222907e78b \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs deleted file mode 100644 index 922738df..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs +++ /dev/null @@ -1,25 +0,0 @@ -using UnityEngine; - -namespace Warlogic.Settings.Ugui -{ - public sealed class ToggleSettingWidgetFactory : ISettingWidgetFactory - { - private readonly ToggleSettingWidget _prefab; - - public ToggleSettingWidgetFactory(ToggleSettingWidget prefab) - { - _prefab = prefab; - } - - public ISettingWidget Create(ISetting setting, Transform parent) - { - if (!(setting is ISetting boolSetting)) - { - return null; - } - ToggleSettingWidget widget = Object.Instantiate(_prefab, parent); - widget.Bind(boolSetting); - return widget; - } - } -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta b/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta deleted file mode 100644 index 646dc496..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/ToggleSettingWidgetFactory.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 07ed8ee32454b4b46ab8202b5f83b6e9 \ No newline at end of file diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef b/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef deleted file mode 100644 index c1ff1d87..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "Warlogic.Settings.Ugui", - "rootNamespace": "Warlogic.Settings.Ugui", - "references": [ - "Warlogic.Settings", - "Unity.TextMeshPro" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "autoReferenced": true, - "noEngineReferences": false -} diff --git a/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta b/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta deleted file mode 100644 index a1cb1cac..00000000 --- a/Packages/com.warlogic.settings.ugui/Runtime/Warlogic.Settings.Ugui.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b15e588a65e8f2542935802fb059504c -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings.ugui/package.json b/Packages/com.warlogic.settings.ugui/package.json deleted file mode 100644 index 5222ab44..00000000 --- a/Packages/com.warlogic.settings.ugui/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "com.warlogic.settings.ugui", - "displayName": "Warlogic Settings uGUI", - "version": "0.1.0", - "description": "uGUI widgets and unified settings window built on the Warlogic.Settings core registry.", - "unity": "2021.3", - "dependencies": { - "com.warlogic.settings": "0.1.0" - }, - "author": { - "name": "Maciej Cyranowicz", - "url": "https://github.com/Warlander" - }, - "license": "MIT" -} diff --git a/Packages/com.warlogic.settings.ugui/package.json.meta b/Packages/com.warlogic.settings.ugui/package.json.meta deleted file mode 100644 index a30309de..00000000 --- a/Packages/com.warlogic.settings.ugui/package.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 454d4caba24c09a41a094970f18ed48e -PackageManifestImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings/CHANGELOG.md b/Packages/com.warlogic.settings/CHANGELOG.md deleted file mode 100644 index a8416b35..00000000 --- a/Packages/com.warlogic.settings/CHANGELOG.md +++ /dev/null @@ -1,5 +0,0 @@ -# Changelog - -## [0.1.0] - 2026-09-06 - -- Initial release: `SettingsTab`, `ISetting`/`Setting` with Immediate/OnSave apply modes, concrete setting types (float, int, bool, enum, string) with optional min/max, validation and enable-condition delegates, custom enum option labels via `OptionLabel`, `SettingsRegistry`, `ISettingsStore` + `PlayerPrefsJsonSettingsStore`. diff --git a/Packages/com.warlogic.settings/CHANGELOG.md.meta b/Packages/com.warlogic.settings/CHANGELOG.md.meta deleted file mode 100644 index b9020114..00000000 --- a/Packages/com.warlogic.settings/CHANGELOG.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 624866575e672be4282b1f65bf577511 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Runtime.meta b/Packages/com.warlogic.settings/Runtime.meta deleted file mode 100644 index c943cb52..00000000 --- a/Packages/com.warlogic.settings/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 03be1681d7e11d149a4745e74ae4d882 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Runtime/ApplyMode.cs b/Packages/com.warlogic.settings/Runtime/ApplyMode.cs deleted file mode 100644 index 747b8381..00000000 --- a/Packages/com.warlogic.settings/Runtime/ApplyMode.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Warlogic.Settings -{ - public enum ApplyMode - { - Immediate, - OnSave - } -} diff --git a/Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta b/Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta deleted file mode 100644 index 4010ea4b..00000000 --- a/Packages/com.warlogic.settings/Runtime/ApplyMode.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 8c40c0c067fb2334ebe5076cf024922c \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/BoolSetting.cs b/Packages/com.warlogic.settings/Runtime/BoolSetting.cs deleted file mode 100644 index e74b9fae..00000000 --- a/Packages/com.warlogic.settings/Runtime/BoolSetting.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Warlogic.Settings -{ - public sealed class BoolSetting : Setting - { - public BoolSetting(string key, string label, bool defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) - : base(key, label, defaultValue, description, applyMode) - { - } - - protected override string Serialize(bool value) - { - return value ? "true" : "false"; - } - - protected override bool Deserialize(string raw) - { - return bool.Parse(raw); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta deleted file mode 100644 index 84f505a6..00000000 --- a/Packages/com.warlogic.settings/Runtime/BoolSetting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 1d9233268c2926e46ad9d6c179b01889 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs deleted file mode 100644 index 09469a63..00000000 --- a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; - -namespace Warlogic.Settings -{ - public sealed class EnumSetting : Setting, IEnumOptionLabels where T : struct, Enum - { - public Func OptionLabel { get; set; } - - public EnumSetting(string key, string label, T defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) - : base(key, label, defaultValue, description, applyMode) - { - } - - public string GetOptionLabel(object value) - { - return OptionLabel?.Invoke((T) value) ?? value.ToString(); - } - - protected override string Serialize(T value) - { - return value.ToString(); - } - - protected override T Deserialize(string raw) - { - return Enum.Parse(raw, true); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta deleted file mode 100644 index aeb0c596..00000000 --- a/Packages/com.warlogic.settings/Runtime/EnumSetting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 9c27a8b55cc43f54391784ab00690de1 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/FloatSetting.cs b/Packages/com.warlogic.settings/Runtime/FloatSetting.cs deleted file mode 100644 index 23f76194..00000000 --- a/Packages/com.warlogic.settings/Runtime/FloatSetting.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Globalization; - -namespace Warlogic.Settings -{ - public sealed class FloatSetting : Setting - { - public float Min { get; } - public float Max { get; } - - public FloatSetting(string key, string label, float defaultValue, float min = float.NegativeInfinity, float max = float.PositiveInfinity, string description = null, ApplyMode applyMode = ApplyMode.Immediate) - : base(key, label, defaultValue, description, applyMode) - { - Min = min; - Max = max; - } - - protected override float PrepareValue(float value) - { - return value < Min ? Min : value > Max ? Max : value; - } - - protected override string Serialize(float value) - { - return value.ToString("R", CultureInfo.InvariantCulture); - } - - protected override float Deserialize(string raw) - { - return float.Parse(raw, CultureInfo.InvariantCulture); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta deleted file mode 100644 index 5132f543..00000000 --- a/Packages/com.warlogic.settings/Runtime/FloatSetting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 93eddf0193948bf4d9b0697eb33ea1a7 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs b/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs deleted file mode 100644 index 50f7cef0..00000000 --- a/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Warlogic.Settings -{ - public interface IEnumOptionLabels - { - string GetOptionLabel(object value); - } -} diff --git a/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta b/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta deleted file mode 100644 index 2302b253..00000000 --- a/Packages/com.warlogic.settings/Runtime/IEnumOptionLabels.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: f5a47b1a74e9a134e942e233c73f533d \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/ISetting.cs b/Packages/com.warlogic.settings/Runtime/ISetting.cs deleted file mode 100644 index 22c81b79..00000000 --- a/Packages/com.warlogic.settings/Runtime/ISetting.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; - -namespace Warlogic.Settings -{ - public interface ISetting - { - string Key { get; } - string Label { get; } - string Description { get; } - ApplyMode ApplyMode { get; } - bool IsDirty { get; } - event Action Changed; - void Commit(); - void Revert(); - bool IsEnabled(); - } - - public interface ISetting : ISetting - { - T Value { get; set; } - T StagedValue { get; set; } - T DefaultValue { get; } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/ISetting.cs.meta b/Packages/com.warlogic.settings/Runtime/ISetting.cs.meta deleted file mode 100644 index d8933117..00000000 --- a/Packages/com.warlogic.settings/Runtime/ISetting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: d7dafea5d5165614187d9c8d0bcb0418 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs b/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs deleted file mode 100644 index 70f15dcc..00000000 --- a/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Warlogic.Settings -{ - public interface ISettingsStore - { - bool TryLoad(string key, out string value); - void Save(string key, string value); - } -} diff --git a/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta b/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta deleted file mode 100644 index fe30ff3b..00000000 --- a/Packages/com.warlogic.settings/Runtime/ISettingsStore.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: f8c0e3d76a3ba7749a3364f6da333a9d \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/IntSetting.cs b/Packages/com.warlogic.settings/Runtime/IntSetting.cs deleted file mode 100644 index 4b470186..00000000 --- a/Packages/com.warlogic.settings/Runtime/IntSetting.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Globalization; - -namespace Warlogic.Settings -{ - public sealed class IntSetting : Setting - { - public int Min { get; } - public int Max { get; } - - public IntSetting(string key, string label, int defaultValue, int min = int.MinValue, int max = int.MaxValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) - : base(key, label, defaultValue, description, applyMode) - { - Min = min; - Max = max; - } - - protected override int PrepareValue(int value) - { - return value < Min ? Min : value > Max ? Max : value; - } - - protected override string Serialize(int value) - { - return value.ToString(CultureInfo.InvariantCulture); - } - - protected override int Deserialize(string raw) - { - return int.Parse(raw, CultureInfo.InvariantCulture); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta deleted file mode 100644 index 1fbb5ae4..00000000 --- a/Packages/com.warlogic.settings/Runtime/IntSetting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 13202b821c79f814299411dada8bf8a3 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs b/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs deleted file mode 100644 index c725a476..00000000 --- a/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - -namespace Warlogic.Settings -{ - public sealed class PlayerPrefsJsonSettingsStore : ISettingsStore - { - public const string DefaultPlayerPrefsKey = "warlogic.settings"; - - private readonly string _playerPrefsKey; - private readonly Dictionary _values; - - public PlayerPrefsJsonSettingsStore(string playerPrefsKey = DefaultPlayerPrefsKey) - { - _playerPrefsKey = playerPrefsKey; - _values = LoadDocument(playerPrefsKey); - } - - public bool TryLoad(string key, out string value) - { - return _values.TryGetValue(key, out value); - } - - public void Save(string key, string value) - { - _values[key] = value; - PlayerPrefs.SetString(_playerPrefsKey, SerializeDocument()); - PlayerPrefs.Save(); - } - - private static Dictionary LoadDocument(string playerPrefsKey) - { - var values = new Dictionary(); - string json = PlayerPrefs.GetString(playerPrefsKey, null); - if (string.IsNullOrEmpty(json)) - { - return values; - } - Document document; - try - { - document = JsonUtility.FromJson(json); - } - catch (Exception) - { - return values; - } - if (document?.Entries == null) - { - return values; - } - foreach (Entry entry in document.Entries) - { - values[entry.Key] = entry.Value; - } - return values; - } - - private string SerializeDocument() - { - var document = new Document(); - foreach (KeyValuePair pair in _values) - { - document.Entries.Add(new Entry { Key = pair.Key, Value = pair.Value }); - } - return JsonUtility.ToJson(document); - } - - [Serializable] - private class Entry - { - public string Key; - public string Value; - } - - [Serializable] - private class Document - { - public List Entries = new List(); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta b/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta deleted file mode 100644 index 92f3fd90..00000000 --- a/Packages/com.warlogic.settings/Runtime/PlayerPrefsJsonSettingsStore.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 76f759307ec60374c8997d4ed3779737 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/Setting.cs b/Packages/com.warlogic.settings/Runtime/Setting.cs deleted file mode 100644 index 3f2a07df..00000000 --- a/Packages/com.warlogic.settings/Runtime/Setting.cs +++ /dev/null @@ -1,141 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Warlogic.Settings -{ - internal interface IStoreAttachable - { - void AttachStore(ISettingsStore store); - } - - public abstract class Setting : ISetting, IStoreAttachable - { - private T _value; - private T _stagedValue; - private ISettingsStore _store; - - public string Key { get; } - public string Label { get; } - public string Description { get; } - public ApplyMode ApplyMode { get; } - public T DefaultValue { get; } - public Func Validator { get; set; } - public Func EnableCondition { get; set; } - - public event Action Changed; - - protected Setting(string key, string label, T defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) - { - Key = key; - Label = label; - DefaultValue = defaultValue; - Description = description; - ApplyMode = applyMode; - _value = defaultValue; - _stagedValue = defaultValue; - } - - public T Value - { - get => _value; - set - { - if (ApplyMode == ApplyMode.OnSave) - { - StagedValue = value; - return; - } - ApplyValue(value); - } - } - - public T StagedValue - { - get => _stagedValue; - set - { - if (ApplyMode == ApplyMode.Immediate) - { - ApplyValue(value); - return; - } - T prepared = PrepareValue(value); - if (Validator != null && !Validator(prepared)) - { - return; - } - _stagedValue = prepared; - } - } - - public bool IsDirty => ApplyMode == ApplyMode.OnSave && !EqualityComparer.Default.Equals(_stagedValue, _value); - - public void Commit() - { - if (!IsDirty) - { - return; - } - ApplyValue(_stagedValue); - } - - public void Revert() - { - _stagedValue = _value; - } - - public bool IsEnabled() - { - return EnableCondition == null || EnableCondition(); - } - - void IStoreAttachable.AttachStore(ISettingsStore store) - { - _store = store; - if (store.TryLoad(Key, out string raw)) - { - T parsed; - try - { - parsed = PrepareValue(Deserialize(raw)); - } - catch (Exception) - { - return; - } - if (Validator != null && !Validator(parsed)) - { - return; - } - _value = parsed; - _stagedValue = parsed; - } - } - - protected virtual T PrepareValue(T value) - { - return value; - } - - protected abstract string Serialize(T value); - protected abstract T Deserialize(string raw); - - private void ApplyValue(T value) - { - T prepared = PrepareValue(value); - if (Validator != null && !Validator(prepared)) - { - return; - } - if (EqualityComparer.Default.Equals(_value, prepared)) - { - _stagedValue = _value; - return; - } - _value = prepared; - _stagedValue = prepared; - _store?.Save(Key, Serialize(prepared)); - Changed?.Invoke(); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/Setting.cs.meta b/Packages/com.warlogic.settings/Runtime/Setting.cs.meta deleted file mode 100644 index 4c03763d..00000000 --- a/Packages/com.warlogic.settings/Runtime/Setting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 37f37cd53fdd67e4eb042dd36247787d \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs deleted file mode 100644 index 000b72f4..00000000 --- a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Warlogic.Settings -{ - public sealed class SettingsRegistry - { - private readonly List _tabs = new List(); - private readonly Dictionary _settingsByKey = new Dictionary(); - private readonly ISettingsStore _store; - - public event Action SettingChanged; - - public SettingsRegistry(ISettingsStore store = null) - { - _store = store; - } - - public IReadOnlyList Tabs - { - get - { - var sorted = new List(_tabs); - sorted.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder)); - return sorted; - } - } - - public SettingsTab AddTab(string id, string label, int sortOrder = 0) - { - foreach (SettingsTab tab in _tabs) - { - if (tab.Id == id) - { - throw new ArgumentException($"Duplicate tab id: {id}", nameof(id)); - } - } - var newTab = new SettingsTab(this, id, label, sortOrder); - _tabs.Add(newTab); - return newTab; - } - - public ISetting GetSetting(string key) - { - return _settingsByKey.TryGetValue(key, out ISetting setting) ? setting : null; - } - - public ISetting GetSetting(string key) - { - return _settingsByKey.TryGetValue(key, out ISetting setting) ? (ISetting) setting : null; - } - - public void Register(ISetting setting) - { - RegisterCore(setting); - setting.Changed += () => SettingChanged?.Invoke(setting); - } - - internal void Register(SettingsTab tab, ISetting setting) - { - RegisterCore(setting); - tab.AddDirect(setting); - setting.Changed += () => SettingChanged?.Invoke(setting); - } - - private void RegisterCore(ISetting setting) - { - if (setting == null) - { - throw new ArgumentNullException(nameof(setting)); - } - if (_settingsByKey.ContainsKey(setting.Key)) - { - throw new ArgumentException($"Duplicate setting key: {setting.Key}", nameof(setting)); - } - if (_store != null && setting is IStoreAttachable attachable) - { - attachable.AttachStore(_store); - } - _settingsByKey.Add(setting.Key, setting); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta b/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta deleted file mode 100644 index 916be3e4..00000000 --- a/Packages/com.warlogic.settings/Runtime/SettingsRegistry.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: a63ee8db043a8bc4c883cfdd1d5f2883 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/SettingsTab.cs b/Packages/com.warlogic.settings/Runtime/SettingsTab.cs deleted file mode 100644 index 9e81e908..00000000 --- a/Packages/com.warlogic.settings/Runtime/SettingsTab.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Collections.Generic; - -namespace Warlogic.Settings -{ - public sealed class SettingsTab - { - private readonly SettingsRegistry _registry; - private readonly List _settings = new List(); - - public string Id { get; } - public string Label { get; } - public int SortOrder { get; } - public IReadOnlyList Settings => _settings; - - internal SettingsTab(SettingsRegistry registry, string id, string label, int sortOrder) - { - _registry = registry; - Id = id; - Label = label; - SortOrder = sortOrder; - } - - public void Add(ISetting setting) - { - _registry.Register(this, setting); - } - - internal void AddDirect(ISetting setting) - { - _settings.Add(setting); - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta b/Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta deleted file mode 100644 index 4b207907..00000000 --- a/Packages/com.warlogic.settings/Runtime/SettingsTab.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 6ff7ba49a0c15954c9c58f21a8aa8996 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/StringSetting.cs b/Packages/com.warlogic.settings/Runtime/StringSetting.cs deleted file mode 100644 index c9038c27..00000000 --- a/Packages/com.warlogic.settings/Runtime/StringSetting.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Warlogic.Settings -{ - public sealed class StringSetting : Setting - { - public StringSetting(string key, string label, string defaultValue, string description = null, ApplyMode applyMode = ApplyMode.Immediate) - : base(key, label, defaultValue, description, applyMode) - { - } - - protected override string Serialize(string value) - { - return value; - } - - protected override string Deserialize(string raw) - { - return raw; - } - } -} diff --git a/Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta b/Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta deleted file mode 100644 index c32673ac..00000000 --- a/Packages/com.warlogic.settings/Runtime/StringSetting.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 40adf618e43744a4ca89e5223e534d8c \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef b/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef deleted file mode 100644 index ccffebe9..00000000 --- a/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "Warlogic.Settings", - "rootNamespace": "Warlogic.Settings", - "references": [], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "autoReferenced": true, - "noEngineReferences": false -} diff --git a/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta b/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta deleted file mode 100644 index ec166d3b..00000000 --- a/Packages/com.warlogic.settings/Runtime/Warlogic.Settings.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a6221608cd5993848bdb5d0ca13284fc -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Tests.meta b/Packages/com.warlogic.settings/Tests.meta deleted file mode 100644 index fed309b9..00000000 --- a/Packages/com.warlogic.settings/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 89cd133a7fa00c6448ebf3060b077b33 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Tests/Editor.meta b/Packages/com.warlogic.settings/Tests/Editor.meta deleted file mode 100644 index b6258111..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b848d3c11ec68ab45b9e9d1c434d8160 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs b/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs deleted file mode 100644 index b093e2b0..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs +++ /dev/null @@ -1,55 +0,0 @@ -using NUnit.Framework; -using UnityEngine; - -namespace Warlogic.Settings.Tests.Editor -{ - public class PlayerPrefsJsonSettingsStoreTests - { - private const string TestKey = "warlogic.settings.tests"; - - [TearDown] - public void TearDown() - { - PlayerPrefs.DeleteKey(TestKey); - } - - [Test] - public void Save_ThenNewInstance_RoundTrips() - { - var store = new PlayerPrefsJsonSettingsStore(TestKey); - store.Save("guiScale", "12.5"); - store.Save("invertMouse", "true"); - - var reloaded = new PlayerPrefsJsonSettingsStore(TestKey); - - Assert.IsTrue(reloaded.TryLoad("guiScale", out string scale)); - Assert.AreEqual("12.5", scale); - Assert.IsTrue(reloaded.TryLoad("invertMouse", out string invert)); - Assert.AreEqual("true", invert); - Assert.IsFalse(reloaded.TryLoad("missing", out _)); - } - - [Test] - public void Save_OverwritesExistingKey() - { - var store = new PlayerPrefsJsonSettingsStore(TestKey); - store.Save("s", "one"); - store.Save("s", "two"); - - var reloaded = new PlayerPrefsJsonSettingsStore(TestKey); - - Assert.AreEqual("two", reloaded.TryLoad("s", out string value) ? value : null); - } - - [Test] - public void CorruptDocument_LoadsEmpty() - { - PlayerPrefs.SetString(TestKey, "{{{not json"); - PlayerPrefs.Save(); - - var store = new PlayerPrefsJsonSettingsStore(TestKey); - - Assert.IsFalse(store.TryLoad("anything", out _)); - } - } -} diff --git a/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta b/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta deleted file mode 100644 index 2fc6c690..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/PlayerPrefsJsonSettingsStoreTests.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: a0f72b5118e8a1e4e82bc48a36174135 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs b/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs deleted file mode 100644 index b6c14887..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs +++ /dev/null @@ -1,238 +0,0 @@ -using System.Collections.Generic; -using NUnit.Framework; - -namespace Warlogic.Settings.Tests.Editor -{ - public class SettingApplyModeTests - { - private sealed class FakeStore : ISettingsStore - { - public readonly Dictionary Values = new Dictionary(); - public int SaveCount; - - public bool TryLoad(string key, out string value) - { - return Values.TryGetValue(key, out value); - } - - public void Save(string key, string value) - { - Values[key] = value; - SaveCount++; - } - } - - private enum Quality - { - Low, - High - } - - [Test] - public void Immediate_SetValue_AppliesAndNotifies() - { - var setting = new FloatSetting("s", "S", 1); - int notifications = 0; - setting.Changed += () => notifications++; - - setting.Value = 5; - - Assert.AreEqual(5, setting.Value); - Assert.AreEqual(5, setting.StagedValue); - Assert.AreEqual(1, notifications); - Assert.IsFalse(setting.IsDirty); - } - - [Test] - public void Immediate_SetSameValue_DoesNotNotify() - { - var setting = new FloatSetting("s", "S", 1); - int notifications = 0; - setting.Changed += () => notifications++; - - setting.Value = 1; - - Assert.AreEqual(0, notifications); - } - - [Test] - public void Immediate_SetStagedValue_WritesThrough() - { - var setting = new FloatSetting("s", "S", 1); - - setting.StagedValue = 7; - - Assert.AreEqual(7, setting.Value); - Assert.IsFalse(setting.IsDirty); - } - - [Test] - public void OnSave_SetValue_StagesWithoutApplying() - { - var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); - int notifications = 0; - setting.Changed += () => notifications++; - - setting.Value = 5; - - Assert.AreEqual(1, setting.Value); - Assert.AreEqual(5, setting.StagedValue); - Assert.IsTrue(setting.IsDirty); - Assert.AreEqual(0, notifications); - } - - [Test] - public void OnSave_Commit_AppliesStagedAndNotifies() - { - var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); - int notifications = 0; - setting.Changed += () => notifications++; - setting.StagedValue = 5; - - setting.Commit(); - - Assert.AreEqual(5, setting.Value); - Assert.IsFalse(setting.IsDirty); - Assert.AreEqual(1, notifications); - } - - [Test] - public void OnSave_Revert_DiscardsStaged() - { - var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); - setting.StagedValue = 5; - - setting.Revert(); - - Assert.AreEqual(1, setting.Value); - Assert.AreEqual(1, setting.StagedValue); - Assert.IsFalse(setting.IsDirty); - } - - [Test] - public void OnSave_CommitWithoutChanges_DoesNothing() - { - var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave); - int notifications = 0; - setting.Changed += () => notifications++; - - setting.Commit(); - - Assert.AreEqual(1, setting.Value); - Assert.AreEqual(0, notifications); - } - - [Test] - public void Validation_RejectsInvalidValue() - { - var setting = new FloatSetting("s", "S", 1) { Validator = v => v >= 0 }; - - setting.Value = -3; - - Assert.AreEqual(1, setting.Value); - } - - [Test] - public void Validation_RejectsInvalidStagedValue() - { - var setting = new FloatSetting("s", "S", 1, applyMode: ApplyMode.OnSave) { Validator = v => v >= 0 }; - - setting.StagedValue = -3; - - Assert.AreEqual(1, setting.StagedValue); - Assert.IsFalse(setting.IsDirty); - } - - [Test] - public void MinMax_ClampsValue() - { - var setting = new FloatSetting("s", "S", 10, min: 5, max: 20); - - setting.Value = 100; - Assert.AreEqual(20, setting.Value); - - setting.Value = 0; - Assert.AreEqual(5, setting.Value); - } - - [Test] - public void EnableCondition_ControlsIsEnabled() - { - var flag = false; - var setting = new BoolSetting("s", "S", false) { EnableCondition = () => flag }; - - Assert.IsFalse(setting.IsEnabled()); - flag = true; - Assert.IsTrue(setting.IsEnabled()); - } - - [Test] - public void Immediate_SetValue_PersistsToStore() - { - var store = new FakeStore(); - var registry = new SettingsRegistry(store); - var setting = new FloatSetting("s", "S", 1); - registry.AddTab("general", "General").Add(setting); - - setting.Value = 3.5f; - - Assert.AreEqual("3.5", store.Values["s"]); - Assert.AreEqual(1, store.SaveCount); - } - - [Test] - public void OnSave_StoreWrittenOnlyOnCommit() - { - var store = new FakeStore(); - var registry = new SettingsRegistry(store); - var setting = new IntSetting("s", "S", 1, applyMode: ApplyMode.OnSave); - registry.AddTab("general", "General").Add(setting); - - setting.Value = 9; - Assert.IsFalse(store.Values.ContainsKey("s")); - Assert.AreEqual(0, store.SaveCount); - - setting.Commit(); - Assert.AreEqual("9", store.Values["s"]); - Assert.AreEqual(1, store.SaveCount); - } - - [Test] - public void Registration_LoadsPersistedValue() - { - var store = new FakeStore(); - store.Values["quality"] = "High"; - var registry = new SettingsRegistry(store); - var setting = new EnumSetting("quality", "Quality", Quality.Low); - registry.AddTab("graphics", "Graphics").Add(setting); - - Assert.AreEqual(Quality.High, setting.Value); - Assert.AreEqual(Quality.High, setting.StagedValue); - Assert.IsFalse(setting.IsDirty); - } - - [Test] - public void Registration_IgnoresCorruptPersistedValue() - { - var store = new FakeStore(); - store.Values["s"] = "not-a-number"; - var registry = new SettingsRegistry(store); - var setting = new FloatSetting("s", "S", 4); - registry.AddTab("general", "General").Add(setting); - - Assert.AreEqual(4, setting.Value); - } - - [Test] - public void Registration_IgnoresPersistedValueFailingValidation() - { - var store = new FakeStore(); - store.Values["s"] = "-10"; - var registry = new SettingsRegistry(store); - var setting = new FloatSetting("s", "S", 4) { Validator = v => v >= 0 }; - registry.AddTab("general", "General").Add(setting); - - Assert.AreEqual(4, setting.Value); - } - } -} diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta b/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta deleted file mode 100644 index 4ed0987a..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/SettingApplyModeTests.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 8b7812cddff319d4489bbc63a441b2ad \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs b/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs deleted file mode 100644 index 4806d60b..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; - -namespace Warlogic.Settings.Tests.Editor -{ - public class SettingsRegistryTests - { - [Test] - public void Tabs_SortedBySortOrder() - { - var registry = new SettingsRegistry(); - registry.AddTab("b", "B", 2); - registry.AddTab("a", "A", 1); - registry.AddTab("c", "C", 3); - - Assert.AreEqual(new[] { "a", "b", "c" }, registry.Tabs.Select(t => t.Id).ToArray()); - } - - [Test] - public void TabSettings_KeepInsertionOrder() - { - var registry = new SettingsRegistry(); - SettingsTab tab = registry.AddTab("general", "General"); - tab.Add(new FloatSetting("z", "Z", 0)); - tab.Add(new FloatSetting("a", "A", 0)); - - Assert.AreEqual(new[] { "z", "a" }, tab.Settings.Select(s => s.Key).ToArray()); - } - - [Test] - public void AddTab_DuplicateId_Throws() - { - var registry = new SettingsRegistry(); - registry.AddTab("general", "General"); - - Assert.Throws(() => registry.AddTab("general", "Again")); - } - - [Test] - public void Add_DuplicateKeyAcrossTabs_Throws() - { - var registry = new SettingsRegistry(); - registry.AddTab("a", "A").Add(new FloatSetting("shared", "First", 0)); - SettingsTab second = registry.AddTab("b", "B"); - - Assert.Throws(() => second.Add(new FloatSetting("shared", "Second", 0))); - } - - [Test] - public void GetSetting_ReturnsRegisteredSetting() - { - var registry = new SettingsRegistry(); - var setting = new FloatSetting("guiScale", "GUI Scale", 10); - registry.AddTab("general", "General").Add(setting); - - Assert.AreSame(setting, registry.GetSetting("guiScale")); - Assert.AreSame(setting, registry.GetSetting("guiScale")); - Assert.IsNull(registry.GetSetting("missing")); - } - - [Test] - public void SettingChanged_ForwardsSettingChange() - { - var registry = new SettingsRegistry(); - var setting = new FloatSetting("guiScale", "GUI Scale", 10); - registry.AddTab("general", "General").Add(setting); - ISetting notified = null; - registry.SettingChanged += s => notified = s; - - setting.Value = 12; - - Assert.AreSame(setting, notified); - } - } -} diff --git a/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta b/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta deleted file mode 100644 index 83fd627e..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/SettingsRegistryTests.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 8fafd69b48811db47938c319fe5404a8 \ No newline at end of file diff --git a/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef b/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef deleted file mode 100644 index 6d744c26..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "Warlogic.Settings.Tests.Editor", - "rootNamespace": "Warlogic.Settings.Tests.Editor", - "references": [ - "Warlogic.Settings", - "UnityEngine.TestRunner", - "UnityEditor.TestRunner" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll" - ], - "autoReferenced": false, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS" - ], - "referencesOptionalUnityReferences": false -} diff --git a/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta b/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta deleted file mode 100644 index 229e8af8..00000000 --- a/Packages/com.warlogic.settings/Tests/Editor/Warlogic.Settings.Tests.Editor.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3702fcbfd7ed8954f92e6090f95812ba -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/com.warlogic.settings/package.json b/Packages/com.warlogic.settings/package.json deleted file mode 100644 index 056138c9..00000000 --- a/Packages/com.warlogic.settings/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "com.warlogic.settings", - "displayName": "Warlogic Settings", - "version": "0.1.0", - "description": "Typed, code-declared settings registry with per-setting apply modes and pluggable JSON persistence.", - "unity": "2021.3", - "author": { - "name": "Maciej Cyranowicz", - "url": "https://github.com/Warlander" - }, - "license": "MIT" -} diff --git a/Packages/com.warlogic.settings/package.json.meta b/Packages/com.warlogic.settings/package.json.meta deleted file mode 100644 index 67bc6c25..00000000 --- a/Packages/com.warlogic.settings/package.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ff3228c8c23e9a34faa25bb6373aea5a -PackageManifestImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index 6ba3d436..fb4c179f 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -28,6 +28,8 @@ "com.warlogic.launchintercept": "1.1.0", "com.warlogic.launchredirect": "2.1.0", "com.warlogic.registrybrowser": "1.8.0", + "com.warlogic.settings": "1.0.0", + "com.warlogic.settings.ugui": "1.0.0", "com.warlogic.utils.markdown": "1.0.4", "jp.hadashikick.vcontainer": "1.17.0", "com.unity.modules.accessibility": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index ac43c148..abd942f0 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -382,18 +382,20 @@ "url": "https://upm.maciejcyranowicz.com" }, "com.warlogic.settings": { - "version": "file:com.warlogic.settings", + "version": "1.0.0", "depth": 0, - "source": "embedded", - "dependencies": {} + "source": "registry", + "dependencies": {}, + "url": "https://upm.maciejcyranowicz.com" }, "com.warlogic.settings.ugui": { - "version": "file:com.warlogic.settings.ugui", + "version": "1.0.0", "depth": 0, - "source": "embedded", + "source": "registry", "dependencies": { - "com.warlogic.settings": "0.1.0" - } + "com.warlogic.settings": "1.0.0" + }, + "url": "https://upm.maciejcyranowicz.com" }, "com.warlogic.utils.markdown": { "version": "1.2.0", From 2693e3406ee8895074ba456410ffd6ce46abffa1 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 04:59:21 +0200 Subject: [PATCH 17/18] docs: disable Unity MCP --- AGENTS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 9dac1c2a..1f2c653d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -38,9 +38,9 @@ Useful commands: Add `--json` for machine-readable output in agentic loops. -A **Unity MCP server** may also be available. The ONLY acceptable option is the official one: the project includes `com.unity.pipeline`, which powers both the CLI commands and the official MCP server (`unity mcp configure`). Do NOT add, configure, or use any other MCP server (e.g. the community "MCP for Unity") — alternatives require installing extra packages into the project itself. +**Unity MCP is intentionally disabled.** Do not configure or run the official `unity mcp` adapter, and do not add a community MCP-for-Unity package. The project retains `com.unity.pipeline` because it powers the Unity CLI commands and the custom agent commands in `Platform/AgentCommands.cs`. -**Opening the project:** if `unity status` shows no connected Editor, use `unity open` to launch the project — after startup, both CLI commands and MCP become usable. For automation workflows, launch with the `-automated` flag: +**Opening the project:** if `unity status` shows no connected Editor, use `unity open` to launch the project — after startup, the CLI commands become usable. For automation workflows, launch with the `-automated` flag: ``` unity open "E:/Unity/DeedPlanner-3" --args "-automated" From 4c7e6ce369ae03da9955dbe8c181b9cbeaf6b4b0 Mon Sep 17 00:00:00 2001 From: Warlander Date: Sun, 6 Sep 2026 14:45:34 +0200 Subject: [PATCH 18/18] fix(settings): harden settings lifecycle Preserve newer unified values and retain malformed legacy data for recovery. Own input and rebind operations at their correct lifetimes. --- AGENTS.md | 2 +- .../Composition/MainSceneLifetimeScope.cs | 7 - .../Composition/ProjectLifetimeScope.cs | 7 +- .../Deedplanner/Editing/Menu/MenuUpdater.cs | 14 +- .../Rendering/Water/IWaterFacade.cs | 4 + .../Rendering/Water/WaterController.cs | 9 +- .../Rendering/Water/WaterFacade.cs | 34 ++++- .../Rendering/Water/WaterSettingsApplier.cs | 7 +- .../Screenshots/ScreenshotRenderer.cs | 15 +-- .../Settings/DeedPlannerSettings.cs | 31 ++++- .../Deedplanner/Settings/GraphicsOptions.cs | 7 +- .../Deedplanner/Settings/InputSettings.cs | 46 ++++++- .../Deedplanner/Settings/KeybindSetting.cs | 38 +++++- .../Settings/KeybindSettingsRegistrar.cs | 21 ++- .../Settings/LegacySettingsMigration.cs | 31 +++-- .../Editor/LegacySettingsMigrationTests.cs | 120 +++++++++++++++++- .../Ui/Widgets/KeybindSettingWidget.cs | 9 +- .../Deedplanner/Ui/Windows/IRebindOverlay.cs | 5 +- .../Ui/Windows/SettingsWindowView.cs | 115 +++++++++++++---- CHANGELOG.md | 2 +- 20 files changed, 418 insertions(+), 106 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 1f2c653d..079be4c0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -127,7 +127,7 @@ All map edits are implemented as `IReversibleCommand` objects managed by `Comman Map serialization uses a custom `IXmlSerializable` interface. `MapHandler` orchestrates load/save (backed by `MapLoader` and `MapFactory`); `StartupMapLoader` (plain C# class) handles initial load on startup. ### Settings & Features -- `DPSettings`, `InputSettings`, `MapRenderSettings` — global settings classes +- `DeedPlannerSettings` declares the unified registry and typed module settings (`CameraSettings`, `EditingSettings`, `UiSettings`, `GraphicsOptions`); project-scoped `InputSettings` owns the shared `DPInput`; `MapRenderSettings` remains session-only - `DPFeatureStateRepository` — feature flags for experimental features ## Key Namespaces diff --git a/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs b/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs index a553eee6..7bae4942 100644 --- a/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs +++ b/Assets/Warlander/Deedplanner/Composition/MainSceneLifetimeScope.cs @@ -14,7 +14,6 @@ using Warlander.Deedplanner.Ui; using Warlander.Deedplanner.Ui.Home; using Warlander.Deedplanner.Bridges.Widgets; -using Warlander.Deedplanner.Inputs; using Warlander.Deedplanner.Cameras; using Warlander.Deedplanner.Persistence.Compression; using Warlander.Deedplanner.Rendering.Outline; @@ -110,12 +109,6 @@ protected override void Configure(IContainerBuilder builder) builder.RegisterInstance(DebugProperties.Current); } - DPInput input = new DPInput(); - input.Enable(); - builder.RegisterInstance(input); - - builder.RegisterEntryPoint().AsSelf(); - builder.RegisterEntryPoint(); builder.Register(Lifetime.Singleton).AsImplementedInterfaces().AsSelf(); builder.Register(Lifetime.Singleton); diff --git a/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs b/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs index 7683f53b..e0f92fd6 100644 --- a/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs +++ b/Assets/Warlander/Deedplanner/Composition/ProjectLifetimeScope.cs @@ -12,6 +12,7 @@ using Warlander.Deedplanner.Platform.Steam; using Warlander.Scopes; using Warlogic.Settings; +using Warlander.Deedplanner.Inputs; namespace Warlander.Deedplanner.Composition { @@ -40,7 +41,7 @@ protected override void Configure(IContainerBuilder builder) CrashReportHandler.enableCaptureExceptions = false; } - var settings = DeedPlannerSettings.Create(); + var settings = DeedPlannerSettings.Create(loggerSource.Create(DeedPlannerSettings.Category)); builder.RegisterInstance(settings.Registry); builder.RegisterInstance(settings.Store); builder.RegisterInstance(settings.Camera); @@ -49,6 +50,10 @@ protected override void Configure(IContainerBuilder builder) builder.RegisterInstance(settings.Graphics); builder.RegisterEntryPoint(); + builder.RegisterInstance(new DPInput()); + builder.RegisterEntryPoint().AsSelf(); + builder.RegisterEntryPoint(); + builder.Register(Lifetime.Singleton).AsSelf().As(); #if DISABLESTEAMWORKS diff --git a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs index 5dfc79c6..4d79e2ef 100644 --- a/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs +++ b/Assets/Warlander/Deedplanner/Editing/Menu/MenuUpdater.cs @@ -11,6 +11,7 @@ using Warlander.Deedplanner.Ui.Home; using Warlander.Deedplanner.Persistence; using Warlander.Deedplanner.Platform.Steam; +using Warlander.Deedplanner.Settings; using Warlander.Deedplanner.Ui.Windows; using Warlander.UI.Windows; using Warlogic.Settings; @@ -21,6 +22,7 @@ public class MenuUpdater : IUpdater { private readonly IMenuUpdaterView _view; private readonly SettingsRegistry _settingsRegistry; + private readonly InputSettings _inputSettings; private readonly WindowCoordinator _windowCoordinator; private readonly ISteamConnection _steamConnection; private readonly TabContext _tabContext; @@ -30,12 +32,14 @@ public class MenuUpdater : IUpdater public Tab TargetTab => Tab.Menu; - public MenuUpdater(IMenuUpdaterView view, SettingsRegistry settingsRegistry, WindowCoordinator windowCoordinator, + public MenuUpdater(IMenuUpdaterView view, SettingsRegistry settingsRegistry, InputSettings inputSettings, + WindowCoordinator windowCoordinator, ISteamConnection steamConnection, TabContext tabContext, ISaveCoordinator saveCoordinator, MapHandler mapHandler, IHomeScreenPresenter homeScreenPresenter) { _view = view; _settingsRegistry = settingsRegistry; + _inputSettings = inputSettings; _windowCoordinator = windowCoordinator; _steamConnection = steamConnection; _tabContext = tabContext; @@ -185,7 +189,13 @@ private void OnButtonClicked(MenuAction action) private void OpenSettingsWindow() { Window window = _windowCoordinator.CreateWindowExclusive(WindowNames.SettingsWindow); - window.GetComponent().Initialize(_settingsRegistry); + if (window == null) + { + return; + } + + var view = window.GetComponent(); + _ = new SettingsWindowSession(_settingsRegistry, _inputSettings, view); } private void ToggleFullscreen() diff --git a/Assets/Warlander/Deedplanner/Rendering/Water/IWaterFacade.cs b/Assets/Warlander/Deedplanner/Rendering/Water/IWaterFacade.cs index 610d2428..b87ba1ad 100644 --- a/Assets/Warlander/Deedplanner/Rendering/Water/IWaterFacade.cs +++ b/Assets/Warlander/Deedplanner/Rendering/Water/IWaterFacade.cs @@ -1,10 +1,14 @@ +using System; using UnityEngine; using Warlander.Deedplanner.Cameras; +using Warlander.Deedplanner.Ui; namespace Warlander.Deedplanner.Rendering.Water { public interface IWaterFacade { void PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater); + IDisposable PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater, + WaterQuality qualityOverride); } } diff --git a/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs b/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs index 91e273af..9647bba9 100644 --- a/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs +++ b/Assets/Warlander/Deedplanner/Rendering/Water/WaterController.cs @@ -10,19 +10,16 @@ public class WaterController : IDisposable { private readonly WaterObjectContainer _container; private readonly WaterReflectionController _reflectionController; - private readonly GraphicsOptions _graphics; - public WaterController(WaterObjectContainer container, WaterReflectionController reflectionController, GraphicsOptions graphics) + public WaterController(WaterObjectContainer container, WaterReflectionController reflectionController) { _container = container; _reflectionController = reflectionController; - _graphics = graphics; } - public void PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater) + public void PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater, + WaterQuality quality) { - WaterQuality quality = _graphics.WaterQuality; - if (quality == WaterQuality.Ultra || quality == WaterQuality.High) { _container.ComplexWater.SetActive(renderWater); diff --git a/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs b/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs index 2e39409b..483b89a1 100644 --- a/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs +++ b/Assets/Warlander/Deedplanner/Rendering/Water/WaterFacade.cs @@ -2,8 +2,7 @@ using UnityEngine; using Warlander.Deedplanner.Cameras; using Warlander.Deedplanner.Settings; -using VContainer; -using VContainer.Unity; +using Warlander.Deedplanner.Ui; namespace Warlander.Deedplanner.Rendering.Water { @@ -13,19 +12,29 @@ public class WaterFacade : IWaterFacade, IDisposable private readonly WaterReflectionController _reflectionController; private readonly WaterController _waterController; private readonly WaterSettingsApplier _settingsApplier; + private readonly GraphicsOptions _graphics; public WaterFacade(GraphicsOptions graphics) { + _graphics = graphics; var loader = new WaterObjectLoader(); _objectContainer = new WaterObjectContainer(loader); _reflectionController = new WaterReflectionController(); - _waterController = new WaterController(_objectContainer, _reflectionController, graphics); + _waterController = new WaterController(_objectContainer, _reflectionController); _settingsApplier = new WaterSettingsApplier(_objectContainer, graphics); } public void PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater) { - _waterController.PrepareForCamera(camera, cameraController, renderWater); + _waterController.PrepareForCamera(camera, cameraController, renderWater, _graphics.WaterQuality); + } + + public IDisposable PrepareForCamera(Camera camera, ICameraController cameraController, bool renderWater, + WaterQuality qualityOverride) + { + _settingsApplier.Apply(qualityOverride); + _waterController.PrepareForCamera(camera, cameraController, renderWater, qualityOverride); + return new QualityOverride(_settingsApplier, _graphics); } public void Dispose() @@ -34,5 +43,22 @@ public void Dispose() _waterController.Dispose(); _objectContainer.Dispose(); } + + private sealed class QualityOverride : IDisposable + { + private readonly WaterSettingsApplier _settingsApplier; + private readonly GraphicsOptions _graphics; + + public QualityOverride(WaterSettingsApplier settingsApplier, GraphicsOptions graphics) + { + _settingsApplier = settingsApplier; + _graphics = graphics; + } + + public void Dispose() + { + _settingsApplier.Apply(_graphics.WaterQuality); + } + } } } diff --git a/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs b/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs index 4b0995e4..d8fa7f24 100644 --- a/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs +++ b/Assets/Warlander/Deedplanner/Rendering/Water/WaterSettingsApplier.cs @@ -26,9 +26,14 @@ public WaterSettingsApplier(WaterObjectContainer container, GraphicsOptions grap } private void Apply() + { + Apply(_graphics.WaterQuality); + } + + public void Apply(WaterQuality quality) { Material mat = _container.ComplexWaterRenderer.sharedMaterial; - if (_graphics.WaterQuality == WaterQuality.Ultra) + if (quality == WaterQuality.Ultra) { mat.EnableKeyword(PlanarReflectionsKeyword); } diff --git a/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs b/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs index be7e8c52..da021059 100644 --- a/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs +++ b/Assets/Warlander/Deedplanner/Screenshots/ScreenshotRenderer.cs @@ -4,7 +4,6 @@ using Warlander.Deedplanner.Rendering.Water; using Warlander.Deedplanner.Ui; using Warlander.Deedplanner.Rendering.Outline; -using Warlander.Deedplanner.Settings; namespace Warlander.Deedplanner.Screenshots { @@ -13,17 +12,15 @@ public class ScreenshotRenderer : IScreenshotRenderer private readonly MapHandler _mapHandler; private readonly IWaterFacade _waterFacade; private readonly IOutlineCoordinator _outlineCoordinator; - private readonly GraphicsOptions _graphics; private Camera _screenshotCamera; public ScreenshotRenderer(MapHandler mapHandler, IWaterFacade waterFacade, - IOutlineCoordinator outlineCoordinator, GraphicsOptions graphics) + IOutlineCoordinator outlineCoordinator) { _mapHandler = mapHandler; _waterFacade = waterFacade; _outlineCoordinator = outlineCoordinator; - _graphics = graphics; } public Texture2D TakeScreenshot(ScreenshotRequest request) @@ -34,12 +31,10 @@ public Texture2D TakeScreenshot(ScreenshotRequest request) return null; } - WaterQuality previousWaterQuality = _graphics.WaterQuality; bool previousRenderGrid = map.RenderGrid; _outlineCoordinator.RenderingSuspended = true; map.RenderGrid = false; - _graphics.WaterQuality = WaterQuality.Ultra; try { @@ -66,9 +61,10 @@ public Texture2D TakeScreenshot(ScreenshotRequest request) camera.targetTexture = renderTexture; bool renderWater = request.RenderEntireMap || request.Level == 0 || request.Level == -1; - _waterFacade.PrepareForCamera(camera, request.CameraController, renderWater); - - camera.Render(); + using (_waterFacade.PrepareForCamera(camera, request.CameraController, renderWater, WaterQuality.Ultra)) + { + camera.Render(); + } RenderTexture.active = renderTexture; Texture2D result = new Texture2D(request.Width, request.Height, TextureFormat.RGBA32, false); @@ -83,7 +79,6 @@ public Texture2D TakeScreenshot(ScreenshotRequest request) } finally { - _graphics.WaterQuality = previousWaterQuality; map.RenderGrid = previousRenderGrid; _outlineCoordinator.RenderingSuspended = false; } diff --git a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs index b7680142..7bdee785 100644 --- a/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs +++ b/Assets/Warlander/Deedplanner/Settings/DeedPlannerSettings.cs @@ -1,3 +1,5 @@ +using System; +using Warlander.Deedplanner.Logging; using Warlander.Deedplanner.Ui; using Warlogic.Settings; @@ -6,11 +8,12 @@ namespace Warlander.Deedplanner.Settings /// /// Declares every game setting in one place, wires them into a registry backed by the /// PlayerPrefs JSON store, and exposes per-module translators for consumers. - /// The Keybinds tab is not declared here - keybinds need the scene-scoped DPInput, - /// see KeybindSettingsRegistrar. + /// The Keybinds tab is declared by the project-scoped KeybindSettingsRegistrar. /// public sealed class DeedPlannerSettings { + public static readonly LogCategory Category = new LogCategory("Settings"); + public SettingsRegistry Registry { get; } public ISettingsStore Store { get; } public CameraSettings Camera { get; } @@ -29,10 +32,12 @@ private DeedPlannerSettings(SettingsRegistry registry, ISettingsStore store, Cam Graphics = graphics; } - public static DeedPlannerSettings Create() + public static DeedPlannerSettings Create(ICategoryLogger logger) { var store = new PlayerPrefsJsonSettingsStore(); LegacySettingsMigration.Migrate(store); + WarnForInvalidEnum(store, "waterQuality", logger); + WarnForInvalidEnum(store, "qualityLevel", logger); var registry = new SettingsRegistry(store); SettingsTab generalTab = registry.AddTab("general", "General"); @@ -45,11 +50,15 @@ public static DeedPlannerSettings Create() generalTab.Add(compassVisibility); var waterQuality = new EnumSetting("waterQuality", "Water Quality", WaterQuality.Ultra, - "Simple - very basic water that uses almost no resources\nHigh - fancy water without reflections\nUltra - fancy water with reflections"); + "Simple - very basic water that uses almost no resources\nHigh - fancy water without reflections\nUltra - fancy water with reflections") + { + Validator = value => System.Enum.IsDefined(typeof(WaterQuality), value) + }; graphicsTab.Add(waterQuality); var qualityLevel = new EnumSetting("qualityLevel", "Quality Level", (QualityLevel) UnityEngine.QualitySettings.GetQualityLevel(), "Controls shadow quality, post-processing and ambient occlusion.") { + Validator = value => System.Enum.IsDefined(typeof(QualityLevel), value), OptionLabel = q => q switch { QualityLevel.VeryLow => "Very Low", @@ -100,5 +109,19 @@ public static DeedPlannerSettings Create() return new DeedPlannerSettings(registry, store, camera, editing, ui, graphics); } + + private static void WarnForInvalidEnum(ISettingsStore store, string key, ICategoryLogger logger) + where T : struct, Enum + { + if (!store.TryLoad(key, out string raw)) + { + return; + } + + if (!Enum.TryParse(raw, true, out T value) || !Enum.IsDefined(typeof(T), value)) + { + logger.Warning($"Ignored invalid saved value '{raw}' for setting '{key}'."); + } + } } } diff --git a/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs b/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs index d0ac5f14..b8c8dfae 100644 --- a/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs +++ b/Assets/Warlander/Deedplanner/Settings/GraphicsOptions.cs @@ -30,12 +30,7 @@ public WaterQuality WaterQuality public QualityLevel QualityLevel { get => _qualityLevel.Value; - set - { - // quality level is staged (ApplyMode.OnSave); translator commits so callers see immediate semantics - _qualityLevel.Value = value; - _qualityLevel.Commit(); - } + set => _qualityLevel.Value = value; } internal GraphicsOptions(ISetting waterQuality, ISetting qualityLevel) diff --git a/Assets/Warlander/Deedplanner/Settings/InputSettings.cs b/Assets/Warlander/Deedplanner/Settings/InputSettings.cs index 800a5831..6a797efd 100644 --- a/Assets/Warlander/Deedplanner/Settings/InputSettings.cs +++ b/Assets/Warlander/Deedplanner/Settings/InputSettings.cs @@ -1,25 +1,44 @@ using System; using UnityEngine.InputSystem; using Warlander.Deedplanner.Inputs; -using VContainer; using VContainer.Unity; +using Warlander.Deedplanner.Logging; using Warlogic.Settings; namespace Warlander.Deedplanner.Settings { - public class InputSettings : IInitializable + public class InputSettings : IInitializable, IDisposable { - [Inject] private DPInput _input; - [Inject] private ISettingsStore _store; + private readonly DPInput _input; + private readonly ISettingsStore _store; + private readonly ICategoryLogger _logger; public event Action SettingsReset; + public InputSettings(DPInput input, ISettingsStore store, ILoggerSource loggerSource) + { + _input = input; + _store = store; + _logger = loggerSource.Create(DeedPlannerSettings.Category); + } + void IInitializable.Initialize() { if (_store.TryLoad(LegacySettingsMigration.BindingOverridesKey, out string bindingOverrides)) { - _input.LoadBindingOverridesFromJson(bindingOverrides); + try + { + _input.LoadBindingOverridesFromJson(bindingOverrides); + DeleteLegacyBindingOverrides(); + } + catch (Exception exception) + { + _input.RemoveAllBindingOverrides(); + _logger.Warning($"Ignored invalid saved keybind overrides: {exception.Message}"); + } } + + _input.Enable(); } public void Save() @@ -33,5 +52,22 @@ public void Reset() Save(); SettingsReset?.Invoke(); } + + public void Dispose() + { + _input.Disable(); + _input.Dispose(); + } + + private static void DeleteLegacyBindingOverrides() + { + if (!UnityEngine.PlayerPrefs.HasKey(LegacySettingsMigration.LegacyInputSettingsKey)) + { + return; + } + + UnityEngine.PlayerPrefs.DeleteKey(LegacySettingsMigration.LegacyInputSettingsKey); + UnityEngine.PlayerPrefs.Save(); + } } } diff --git a/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs index de950842..4603204b 100644 --- a/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs +++ b/Assets/Warlander/Deedplanner/Settings/KeybindSetting.cs @@ -9,11 +9,12 @@ namespace Warlander.Deedplanner.Settings /// Setting wrapping one Input System binding. Value is the effective binding path. /// Persistence goes through InputSettings (JSON binding overrides in the unified store). /// - public sealed class KeybindSetting : ISetting, IGroupedSetting + public sealed class KeybindSetting : ISetting, IGroupedSetting, IDisposable { private readonly InputAction _action; private readonly int _bindingIndex; private readonly InputSettings _inputSettings; + private InputActionRebindingExtensions.RebindingOperation _rebindOperation; public string Key { get; } public string Label { get; } @@ -76,21 +77,44 @@ public void ResetToDefault() public void PerformInteractiveRebind(Action onSuccess, Action onCancel) { + CancelInteractiveRebind(); _action.Disable(); - _action.PerformInteractiveRebinding(_bindingIndex).OnComplete(operation => + _rebindOperation = _action.PerformInteractiveRebinding(_bindingIndex) + .WithCancelingThrough("/escape") + .OnComplete(operation => { - operation.Dispose(); - _action.Enable(); + FinishRebind(operation); _inputSettings.Save(); Changed?.Invoke(); onSuccess?.Invoke(); }).OnCancel(operation => { - operation.Dispose(); - _action.Enable(); + FinishRebind(operation); onCancel?.Invoke(); - }).Start(); + }); + _rebindOperation.Start(); + } + + public void CancelInteractiveRebind() + { + _rebindOperation?.Cancel(); + } + + public void Dispose() + { + _inputSettings.SettingsReset -= OnSettingsReset; + CancelInteractiveRebind(); + } + + private void FinishRebind(InputActionRebindingExtensions.RebindingOperation operation) + { + if (_rebindOperation == operation) + { + _rebindOperation = null; + } + operation.Dispose(); + _action.Enable(); } private string ComputeLabel() diff --git a/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs b/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs index 7989ee63..83f4a176 100644 --- a/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs +++ b/Assets/Warlander/Deedplanner/Settings/KeybindSettingsRegistrar.cs @@ -1,3 +1,5 @@ +using System; +using System.Collections.Generic; using UnityEngine.InputSystem; using VContainer.Unity; using Warlander.Deedplanner.Inputs; @@ -7,14 +9,14 @@ namespace Warlander.Deedplanner.Settings { /// - /// Declares the Keybinds tab on the project-wide registry. Scene-scoped because it needs - /// the live DPInput and InputSettings. + /// Declares the Keybinds tab on the project-wide registry. /// - public sealed class KeybindSettingsRegistrar : IInitializable + public sealed class KeybindSettingsRegistrar : IInitializable, IDisposable { private readonly SettingsRegistry _registry; private readonly DPInput _input; private readonly InputSettings _inputSettings; + private readonly List _settings = new List(); public KeybindSettingsRegistrar(SettingsRegistry registry, DPInput input, InputSettings inputSettings) { @@ -44,7 +46,9 @@ public void Initialize() continue; } - keybindsTab.Add(new KeybindSetting(action, i, _inputSettings)); + var setting = new KeybindSetting(action, i, _inputSettings); + _settings.Add(setting); + keybindsTab.Add(setting); if (!binding.isPartOfComposite) { @@ -55,5 +59,14 @@ public void Initialize() } } } + + public void Dispose() + { + foreach (KeybindSetting setting in _settings) + { + setting.Dispose(); + } + _settings.Clear(); + } } } diff --git a/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs b/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs index d17699d5..d1e134a2 100644 --- a/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs +++ b/Assets/Warlander/Deedplanner/Settings/LegacySettingsMigration.cs @@ -33,7 +33,13 @@ public static void Migrate(ISettingsStore store, string propertiesKey, string in public static Dictionary TranslatePropertiesXml(string xml) { - var result = new Dictionary(); + TryTranslatePropertiesXml(xml, out Dictionary result); + return result; + } + + private static bool TryTranslatePropertiesXml(string xml, out Dictionary result) + { + result = new Dictionary(); XElement root; try { @@ -41,7 +47,7 @@ public static Dictionary TranslatePropertiesXml(string xml) } catch (Exception) { - return result; + return false; } TranslateFloat(root, "FppMouseSensitivity", "fppMouseSensitivity", result); @@ -62,7 +68,7 @@ public static Dictionary TranslatePropertiesXml(string xml) TranslateWaterQuality(root, result); TranslateBool(root, "CompassVisibility", "compassVisibility", result); - return result; + return true; } private static void MigrateProperties(ISettingsStore store, string propertiesKey) @@ -71,16 +77,24 @@ private static void MigrateProperties(ISettingsStore store, string propertiesKey { return; } - Dictionary translated = TranslatePropertiesXml(PlayerPrefs.GetString(propertiesKey)); + if (!TryTranslatePropertiesXml(PlayerPrefs.GetString(propertiesKey), + out Dictionary translated) || translated.Count == 0) + { + return; + } + foreach (KeyValuePair pair in translated) { - store.Save(pair.Key, pair.Value); + if (!store.TryLoad(pair.Key, out _)) + { + store.Save(pair.Key, pair.Value); + } } bool confirmed = true; foreach (KeyValuePair pair in translated) { - confirmed &= store.TryLoad(pair.Key, out string value) && value == pair.Value; + confirmed &= store.TryLoad(pair.Key, out _); } if (confirmed) { @@ -99,11 +113,6 @@ private static void MigrateBindingOverrides(ISettingsStore store, string inputSe { store.Save(BindingOverridesKey, PlayerPrefs.GetString(inputSettingsKey)); } - if (store.TryLoad(BindingOverridesKey, out _)) - { - PlayerPrefs.DeleteKey(inputSettingsKey); - PlayerPrefs.Save(); - } } private static void TranslateFloat(XElement root, string elementName, string newKey, Dictionary result) diff --git a/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs b/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs index ca4bbb19..7db07b87 100644 --- a/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs +++ b/Assets/Warlander/Deedplanner/Settings/Tests/Editor/LegacySettingsMigrationTests.cs @@ -2,7 +2,10 @@ using NUnit.Framework; using UnityEngine; using Warlander.Deedplanner.Settings; +using Warlander.Deedplanner.Inputs; +using Warlander.Deedplanner.Logging; using Warlogic.Settings; +using VContainer.Unity; namespace Warlander.Deedplanner.Tests { @@ -104,7 +107,7 @@ public void TranslatePropertiesXml_InvalidValues_SkipsThem() } [Test] - public void Migrate_SeededLegacyPrefs_MovesValuesAndDeletesLegacyKeys() + public void Migrate_SeededLegacyPrefs_MovesValuesAndDeletesConfirmedProperties() { PlayerPrefs.SetString(PropertiesKey, FullLegacyXml); PlayerPrefs.SetString(InputSettingsKey, "[{\"action\":\"Map/Forward\",\"path\":\"/w\"}]"); @@ -122,7 +125,7 @@ public void Migrate_SeededLegacyPrefs_MovesValuesAndDeletesLegacyKeys() Assert.IsTrue(store.TryLoad(LegacySettingsMigration.BindingOverridesKey, out string overrides)); Assert.AreEqual("[{\"action\":\"Map/Forward\",\"path\":\"/w\"}]", overrides); Assert.IsFalse(PlayerPrefs.HasKey(PropertiesKey)); - Assert.IsFalse(PlayerPrefs.HasKey(InputSettingsKey)); + Assert.IsTrue(PlayerPrefs.HasKey(InputSettingsKey)); var reloaded = new PlayerPrefsJsonSettingsStore(StoreKey); Assert.IsTrue(reloaded.TryLoad("guiScale", out string guiScale)); @@ -152,7 +155,118 @@ public void Migrate_ExistingBindingOverrides_KeepsNewerValue() Assert.IsTrue(store.TryLoad(LegacySettingsMigration.BindingOverridesKey, out string overrides)); Assert.AreEqual("[]", overrides); - Assert.IsFalse(PlayerPrefs.HasKey(InputSettingsKey)); + Assert.IsTrue(PlayerPrefs.HasKey(InputSettingsKey)); + } + + [Test] + public void Migrate_ExistingUnifiedProperty_KeepsNewerValue() + { + var store = new PlayerPrefsJsonSettingsStore(StoreKey); + store.Save("guiScale", "18"); + PlayerPrefs.SetString(PropertiesKey, FullLegacyXml); + + LegacySettingsMigration.Migrate(store, PropertiesKey, InputSettingsKey); + + Assert.IsTrue(store.TryLoad("guiScale", out string guiScale)); + Assert.AreEqual("18", guiScale); + Assert.IsFalse(PlayerPrefs.HasKey(PropertiesKey)); + } + + [TestCase("{{{not xml")] + [TestCase("")] + public void Migrate_UntranslatableProperties_KeepsLegacyData(string xml) + { + PlayerPrefs.SetString(PropertiesKey, xml); + var store = new PlayerPrefsJsonSettingsStore(StoreKey); + + LegacySettingsMigration.Migrate(store, PropertiesKey, InputSettingsKey); + + Assert.IsTrue(PlayerPrefs.HasKey(PropertiesKey)); + Assert.AreEqual(xml, PlayerPrefs.GetString(PropertiesKey)); + } + + [Test] + public void Migrate_UnconfirmedPropertyWrite_KeepsLegacyData() + { + PlayerPrefs.SetString(PropertiesKey, "12"); + + LegacySettingsMigration.Migrate(new RejectingStore(), PropertiesKey, InputSettingsKey); + + Assert.IsTrue(PlayerPrefs.HasKey(PropertiesKey)); + } + + private sealed class RejectingStore : ISettingsStore + { + public bool TryLoad(string key, out string value) + { + value = null; + return false; + } + + public void Save(string key, string value) { } + } + } + + public class InputSettingsTests + { + [Test] + public void Initialize_InvalidBindings_UsesDefaultsAndEnablesInput() + { + var input = new DPInput(); + var store = new MemoryStore(); + store.Save(LegacySettingsMigration.BindingOverridesKey, "not json"); + var loggerSource = new RecordingLoggerSource(); + var settings = new InputSettings(input, store, loggerSource); + + Assert.DoesNotThrow(() => ((IInitializable) settings).Initialize()); + Assert.IsTrue(input.UI.enabled); + Assert.IsNotNull(loggerSource.Logger.LastWarning); + + input.Disable(); + Object.DestroyImmediate(input.asset); + } + + private sealed class MemoryStore : ISettingsStore + { + private readonly Dictionary _values = new Dictionary(); + + public bool TryLoad(string key, out string value) + { + return _values.TryGetValue(key, out value); + } + + public void Save(string key, string value) + { + _values[key] = value; + } + } + + private sealed class RecordingLoggerSource : ILoggerSource + { + public readonly RecordingLogger Logger = new RecordingLogger(); + + public ICategoryLogger Create(LogCategory category) + { + return Logger; + } + } + + private sealed class RecordingLogger : ICategoryLogger + { + public string LastWarning { get; private set; } + + public void Message(string message) { } + + public void Warning(string message) + { + LastWarning = message; + } + + public void Error(string message) { } + + public void Exception(System.Exception exception) { } + + public void Write(LogType type, string message) { } } } } diff --git a/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs index 3373bdbb..0c452fbd 100644 --- a/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs +++ b/Assets/Warlander/Deedplanner/Ui/Widgets/KeybindSettingWidget.cs @@ -41,14 +41,7 @@ public void Refresh() private void OnRebindClick() { - _overlay.ShowRebind(_setting.Label); - _setting.PerformInteractiveRebind( - () => - { - _overlay.HideRebind(); - ValueEdited?.Invoke(); - }, - () => _overlay.HideRebind()); + _overlay.BeginRebind(_setting); } private void OnDestroy() diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs b/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs index b40933a0..082d3dfa 100644 --- a/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs +++ b/Assets/Warlander/Deedplanner/Ui/Windows/IRebindOverlay.cs @@ -1,8 +1,9 @@ +using Warlander.Deedplanner.Settings; + namespace Warlander.Deedplanner.Ui.Windows { public interface IRebindOverlay { - void ShowRebind(string bindingLabel); - void HideRebind(); + void BeginRebind(KeybindSetting setting); } } diff --git a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs index 4c137798..25350d85 100644 --- a/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs +++ b/Assets/Warlander/Deedplanner/Ui/Windows/SettingsWindowView.cs @@ -4,7 +4,6 @@ using TMPro; using UnityEngine; using UnityEngine.UI; -using VContainer; using Warlander.Deedplanner.Settings; using Warlander.Deedplanner.Ui.Widgets; using Warlogic.Settings; @@ -12,7 +11,7 @@ namespace Warlander.Deedplanner.Ui.Windows { - public class SettingsWindowView : MonoBehaviour, ISettingsWindowView, IRebindOverlay + public class SettingsWindowView : MonoBehaviour, ISettingsWindowView { [SerializeField] private RectTransform tabButtonRoot; [SerializeField] private RectTransform contentRoot; @@ -25,22 +24,21 @@ public class SettingsWindowView : MonoBehaviour, ISettingsWindowView, IRebindOve [SerializeField] private CanvasGroup rebindFade; [SerializeField] private TMP_Text rebindText; - [Inject] private InputSettings _inputSettings; - - private SettingsWindowPresenter _presenter; - private SettingsRegistry _registry; - public event Action SaveClicked; public event Action DiscardClicked; + public event Action ResetBindingsClicked; + public event Action Destroyed; public RectTransform TabButtonRoot => tabButtonRoot; public RectTransform ContentRoot => contentRoot; + public SettingsWidgetCatalog WidgetCatalog => widgetCatalog; + public KeybindSettingWidget KeybindRowPrefab => keybindRowPrefab; private void Awake() { saveButton.onClick.AddListener(() => SaveClicked?.Invoke()); discardButton.onClick.AddListener(() => DiscardClicked?.Invoke()); - resetBindingsButton.onClick.AddListener(ResetBindingsOnClick); + resetBindingsButton.onClick.AddListener(() => ResetBindingsClicked?.Invoke()); rebindFade.gameObject.SetActive(false); resetBindingsButton.gameObject.SetActive(false); @@ -49,16 +47,6 @@ private void Awake() discardButton.gameObject.SetActive(false); } - public SettingsWindowPresenter Initialize(SettingsRegistry registry) - { - _registry = registry; - widgetCatalog.RegisterFactory(typeof(KeybindSetting), new KeybindSettingWidgetFactory(keybindRowPrefab, this)); - _presenter = new SettingsWindowPresenter(registry, widgetCatalog, this); - _presenter.ActiveTabChanged += OnActiveTabChanged; - OnActiveTabChanged(registry.Tabs[0].Id); - return _presenter; - } - public void SetSaveInteractable(bool interactable) { saveButton.interactable = interactable; @@ -84,21 +72,102 @@ public void HideRebind() rebindFade.DOFade(0, 0.15f).OnComplete(() => rebindFade.gameObject.SetActive(false)); } + public void SetResetBindingsVisible(bool visible) + { + resetBindingsButton.gameObject.SetActive(visible); + } + + private void OnDestroy() + { + rebindFade.DOKill(); + Destroyed?.Invoke(); + } + } + + public sealed class SettingsWindowSession : IRebindOverlay, IDisposable + { + private readonly SettingsRegistry _registry; + private readonly InputSettings _inputSettings; + private readonly SettingsWindowView _view; + private readonly SettingsWindowPresenter _presenter; + private KeybindSetting _activeRebind; + private bool _disposed; + + public SettingsWindowSession(SettingsRegistry registry, InputSettings inputSettings, SettingsWindowView view) + { + _registry = registry; + _inputSettings = inputSettings; + _view = view; + + view.WidgetCatalog.RegisterFactory(typeof(KeybindSetting), + new KeybindSettingWidgetFactory(view.KeybindRowPrefab, this)); + _presenter = new SettingsWindowPresenter(registry, view.WidgetCatalog, view); + _presenter.ActiveTabChanged += OnActiveTabChanged; + _view.ResetBindingsClicked += OnResetBindingsClicked; + _view.Destroyed += Dispose; + + if (registry.Tabs.Count > 0) + { + OnActiveTabChanged(registry.Tabs[0].Id); + } + } + + public void BeginRebind(KeybindSetting setting) + { + CancelActiveRebind(); + _activeRebind = setting; + _view.ShowRebind(setting.Label); + setting.PerformInteractiveRebind( + () => FinishRebind(setting), + () => FinishRebind(setting)); + } + + private void FinishRebind(KeybindSetting setting) + { + if (_activeRebind != setting) + { + return; + } + + _activeRebind = null; + if (!_disposed) + { + _view.HideRebind(); + } + } + + private void CancelActiveRebind() + { + _activeRebind?.CancelInteractiveRebind(); + } + private void OnActiveTabChanged(string tabId) { SettingsTab tab = _registry.Tabs.First(t => t.Id == tabId); - bool hasKeybinds = tab.Settings.Any(s => s is KeybindSetting); - resetBindingsButton.gameObject.SetActive(hasKeybinds); + _view.SetResetBindingsVisible(tab.Settings.Any(setting => setting is KeybindSetting)); } - private void ResetBindingsOnClick() + private void OnResetBindingsClicked() { + CancelActiveRebind(); _inputSettings.Reset(); } - private void OnDestroy() + public void Dispose() { - rebindFade.DOKill(); + if (_disposed) + { + return; + } + + _disposed = true; + _presenter.ActiveTabChanged -= OnActiveTabChanged; + _view.ResetBindingsClicked -= OnResetBindingsClicked; + _view.Destroyed -= Dispose; + + KeybindSetting activeRebind = _activeRebind; + _activeRebind = null; + activeRebind?.CancelInteractiveRebind(); } } } diff --git a/CHANGELOG.md b/CHANGELOG.md index fc54e966..390aa55b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ - New 4K screenshot options, including 4K with UI visible (unbound by default, can be bound in settings) - Lighting and visuals overhaul: tonemapping, bloom, ambient occlusion, improved anti-aliasing and retuned shadows - Sharper water reflections on Ultra quality -- Settings window overhaul - a single window with tabs now covers all settings, replacing the old separate graphics and input windows +- Settings window overhaul - a single immediate-apply tabbed window now covers all settings, with reliable cancellable key rebinding - Errors now open a window with a copyable report you can attach when reporting bugs - Richer tooltips, including a tinted slope grid when hovering terrain on the Height tab - New dragon HOTA statue model (the old one was oversized)