From b4e11ac33f1652ef5797b2ac51203f49ddda3fc9 Mon Sep 17 00:00:00 2001 From: Geri Date: Mon, 27 Feb 2023 16:15:11 +0100 Subject: [PATCH] Gradual jump and started orb events --- Assets/Scenes/SampleScene.unity | 452 +++++++++++++++++++- Assets/Scripts/GenericDictionary.cs | 184 ++++++++ Assets/Scripts/GenericDictionary.cs.meta | 11 + Assets/Scripts/Managers.meta | 8 + Assets/Scripts/Managers/GameManager.cs | 40 ++ Assets/Scripts/Managers/GameManager.cs.meta | 11 + Assets/Scripts/Player/PlayerController.cs | 19 +- Assets/Sprites/Circle.png | 3 + Assets/Sprites/Circle.png.meta | 248 +++++++++++ ProjectSettings/TagManager.asset | 3 + UserSettings/Layouts/default-2021.dwlt | 155 +++---- 11 files changed, 1035 insertions(+), 99 deletions(-) create mode 100644 Assets/Scripts/GenericDictionary.cs create mode 100644 Assets/Scripts/GenericDictionary.cs.meta create mode 100644 Assets/Scripts/Managers.meta create mode 100644 Assets/Scripts/Managers/GameManager.cs create mode 100644 Assets/Scripts/Managers/GameManager.cs.meta create mode 100644 Assets/Sprites/Circle.png create mode 100644 Assets/Sprites/Circle.png.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index ba6e9f7..304a954 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -234,6 +234,90 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &75232997 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 75232999} + - component: {fileID: 75232998} + m_Layer: 0 + m_Name: GameManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &75232998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 75232997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f92eb99eeecf254ab1db681d9f7d3e5, type: 3} + m_Name: + m_EditorClassIdentifier: + orbEffects: + list: + - Key: 0 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 1 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 2 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 3 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 4 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 5 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 6 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 7 + Value: + m_PersistentCalls: + m_Calls: [] + - Key: 8 + Value: + m_PersistentCalls: + m_Calls: [] + keyCollision: 0 + currentType: 0 +--- !u!4 &75232999 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 75232997} + 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: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &208838962 GameObject: m_ObjectHideFlags: 0 @@ -1918,6 +2002,107 @@ MonoBehaviour: - {x: 0.5, y: -0.5, z: 0} - {x: 0.5, y: 0.5, z: 0} - {x: -0.5, y: 0.5, z: 0} +--- !u!1 &264481247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 264481251} + - component: {fileID: 264481250} + - component: {fileID: 264481249} + - component: {fileID: 264481248} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &264481248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264481247} + 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 &264481249 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264481247} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &264481250 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264481247} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 519420031} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 1364324917 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &264481251 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 264481247} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1218928453} + m_Father: {fileID: 0} + m_RootOrder: 6 + 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: 0} --- !u!1 &483756969 GameObject: m_ObjectHideFlags: 0 @@ -2010,10 +2195,10 @@ Camera: m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 - x: 0.07034909 + x: 0 y: 0 - width: 0.8593666 - height: 0.99963677 + width: 1 + height: 1 near clip plane: 0.3 far clip plane: 1000 field of view: 60 @@ -2105,6 +2290,82 @@ MonoBehaviour: m_CropFrameX: 0 m_CropFrameY: 0 m_StretchFill: 0 +--- !u!1 &658829298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 658829299} + - component: {fileID: 658829301} + - component: {fileID: 658829300} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &658829299 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658829298} + 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: 1921539878} + m_RootOrder: 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: 37.5} + m_SizeDelta: {x: 10, y: 75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &658829300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658829298} + 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: 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!222 &658829301 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658829298} + m_CullTransparentMesh: 1 --- !u!1 &832780273 GameObject: m_ObjectHideFlags: 0 @@ -2258,6 +2519,7 @@ MonoBehaviour: acceleration: 0.05 flipSmooth: 0.05 jumpForce: 30 + gradualJumpMultiplier: 0.5 groundMask: serializedVersion: 2 m_Bits: 8 @@ -2265,7 +2527,7 @@ MonoBehaviour: feetWidth: 0.85 feetPos: {fileID: 2122059437} coyoteTime: 0.3 - jumpBuffer: 0.3 + jumpBuffer: 0.2 --- !u!1 &971952096 GameObject: m_ObjectHideFlags: 0 @@ -7203,6 +7465,151 @@ Transform: m_Father: {fileID: 832780277} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1218928452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1218928453} + - component: {fileID: 1218928455} + - component: {fileID: 1218928454} + m_Layer: 5 + m_Name: Clock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1218928453 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218928452} + 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: 1921539878} + m_Father: {fileID: 264481251} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -50, y: -50} + m_SizeDelta: {x: 200, y: 200} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1218928454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218928452} + 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: -2413806693520163455, guid: e72f7cea6d4b14f41b3c725b217a3e52, 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: 1 +--- !u!222 &1218928455 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218928452} + m_CullTransparentMesh: 1 +--- !u!1 &1477198635 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1477198638} + - component: {fileID: 1477198637} + - component: {fileID: 1477198636} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1477198636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477198635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1477198637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477198635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1477198638 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477198635} + 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: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1502401422 GameObject: m_ObjectHideFlags: 0 @@ -7287,6 +7694,43 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1921539877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1921539878} + m_Layer: 5 + m_Name: Pivot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1921539878 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1921539877} + 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: 658829299} + m_Father: {fileID: 1218928453} + m_RootOrder: 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!1 &2122059436 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/GenericDictionary.cs b/Assets/Scripts/GenericDictionary.cs new file mode 100644 index 0000000..e0863ce --- /dev/null +++ b/Assets/Scripts/GenericDictionary.cs @@ -0,0 +1,184 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace GometGames.Tools +{ + /// + /// Generic Serializable Dictionary for Unity 2020.1 and above. + /// Simply declare your key/value types and you're good to go - zero boilerplate. + /// + [Serializable] + public class GenericDictionary : IDictionary, ISerializationCallbackReceiver + { + // Internal + [SerializeField] + private List list = new List(); + [SerializeField, HideInInspector] + private Dictionary indexByKey = new Dictionary(); + [SerializeField, HideInInspector] + private Dictionary dict = new Dictionary(); + +#pragma warning disable 0414 + [SerializeField, HideInInspector] + private bool keyCollision; +#pragma warning restore 0414 + + [Serializable] + private struct KeyValuePair + { + public TKey Key; + public TValue Value; + public KeyValuePair(TKey Key, TValue Value) + { + this.Key = Key; + this.Value = Value; + } + } + + // Lists are serialized natively by Unity, no custom implementation needed. + public void OnBeforeSerialize() { } + + // Populate dictionary with pairs from list and flag key-collisions. + public void OnAfterDeserialize() + { + dict.Clear(); + indexByKey.Clear(); + keyCollision = false; + for (int i = 0; i < list.Count; i++) + { + var key = list[i].Key; + if (key != null && !ContainsKey(key)) + { + dict.Add(key, list[i].Value); + indexByKey.Add(key, i); + } + else + { + keyCollision = true; + } + } + } + + // IDictionary + public TValue this[TKey key] + { + get => dict[key]; + set + { + dict[key] = value; + if (indexByKey.ContainsKey(key)) + { + var index = indexByKey[key]; + list[index] = new KeyValuePair(key, value); + } + else + { + list.Add(new KeyValuePair(key, value)); + indexByKey.Add(key, list.Count - 1); + } + } + } + + public ICollection Keys => dict.Keys; + public ICollection Values => dict.Values; + + public void Add(TKey key, TValue value) + { + dict.Add(key, value); + list.Add(new KeyValuePair(key, value)); + indexByKey.Add(key, list.Count - 1); + } + + public bool ContainsKey(TKey key) => dict.ContainsKey(key); + + public bool Remove(TKey key) + { + if (dict.Remove(key)) + { + var index = indexByKey[key]; + list.RemoveAt(index); + UpdateIndexLookup(index); + indexByKey.Remove(key); + return true; + } + else + { + return false; + } + } + + private void UpdateIndexLookup(int removedIndex) { + for (int i = removedIndex; i < list.Count; i++) { + var key = list[i].Key; + indexByKey[key]--; + } + } + + public bool TryGetValue(TKey key, out TValue value) => dict.TryGetValue(key, out value); + + // ICollection + public int Count => dict.Count; + public bool IsReadOnly { get; set; } + + public void Add(KeyValuePair pair) + { + Add(pair.Key, pair.Value); + } + + public void Clear() + { + dict.Clear(); + list.Clear(); + indexByKey.Clear(); + } + + public bool Contains(KeyValuePair pair) + { + TValue value; + if (dict.TryGetValue(pair.Key, out value)) + { + return EqualityComparer.Default.Equals(value, pair.Value); + } + else + { + return false; + } + } + + public void CopyTo(KeyValuePair[] array, int arrayIndex) + { + if (array == null) + throw new ArgumentException("The array cannot be null."); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("The starting array index cannot be negative."); + if (array.Length - arrayIndex < dict.Count) + throw new ArgumentException("The destination array has fewer elements than the collection."); + + foreach (var pair in dict) + { + array[arrayIndex] = pair; + arrayIndex++; + } + } + + public bool Remove(KeyValuePair pair) + { + TValue value; + if (dict.TryGetValue(pair.Key, out value)) + { + bool valueMatch = EqualityComparer.Default.Equals(value, pair.Value); + if (valueMatch) + { + return Remove(pair.Key); + } + } + return false; + } + + // IEnumerable + public IEnumerator> GetEnumerator() => dict.GetEnumerator(); + IEnumerator IEnumerable.GetEnumerator() => dict.GetEnumerator(); + } +} diff --git a/Assets/Scripts/GenericDictionary.cs.meta b/Assets/Scripts/GenericDictionary.cs.meta new file mode 100644 index 0000000..58af036 --- /dev/null +++ b/Assets/Scripts/GenericDictionary.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8dee231b3f6acd04fb6f88737505c0bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Managers.meta b/Assets/Scripts/Managers.meta new file mode 100644 index 0000000..dd20e37 --- /dev/null +++ b/Assets/Scripts/Managers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 854339740fd089942ba32bfdc1ff49c7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Managers/GameManager.cs b/Assets/Scripts/Managers/GameManager.cs new file mode 100644 index 0000000..3747989 --- /dev/null +++ b/Assets/Scripts/Managers/GameManager.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using GometGames.Tools; +using MyBox; +using UnityEngine; +using UnityEngine.Events; + +[System.Serializable] +public enum OrbTypes { + Blue, + Red, + InvertedControls, + HighGravity, + LowGravity, + InvertedGravity, + DarkRoom, + HighSpeed, + LowSpeed +}; + +public class GameManager : MonoBehaviour { + + [SerializeField] GenericDictionary orbEffects; + [SerializeField] OrbTypes currentType; + + // Start is called before the first frame update + void Start(){ + + } + + // Update is called once per frame + void Update(){ + + } + + void ChangeEventCall(OrbTypes type) { + currentType = type; + orbEffects[currentType].Invoke(); + } +} diff --git a/Assets/Scripts/Managers/GameManager.cs.meta b/Assets/Scripts/Managers/GameManager.cs.meta new file mode 100644 index 0000000..6b6c97b --- /dev/null +++ b/Assets/Scripts/Managers/GameManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0f92eb99eeecf254ab1db681d9f7d3e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player/PlayerController.cs b/Assets/Scripts/Player/PlayerController.cs index a77aa4e..9d39eca 100644 --- a/Assets/Scripts/Player/PlayerController.cs +++ b/Assets/Scripts/Player/PlayerController.cs @@ -6,17 +6,20 @@ using UnityEngine.Serialization; public class PlayerController : MonoBehaviour { + [Header("Stats")] [SerializeField] float speed = 50f; [SerializeField, Range(0f, .5f)] float acceleration = .1f; [SerializeField, Range(0f, .5f)] float flipSmooth = .1f; [SerializeField] float jumpForce = 10f; + [SerializeField, Range(0f, 1f)] float gradualJumpMultiplier = .5f; Vector2 _input; float _xVelocity, _flipVelocity; int _facingDirection = 1; + bool _cancelJump; Rigidbody2D _rb2d; - [Space] + [Header("Jump Management")] [SerializeField] LayerMask groundMask; [SerializeField, Range(0f, 1f)] float feetHeight; [SerializeField, Range(0f, 2f)] float feetWidth; @@ -40,13 +43,16 @@ public class PlayerController : MonoBehaviour { _ => _facingDirection }; - transform.localScale = - new Vector3(Mathf.SmoothDamp(transform.localScale.x, _facingDirection, ref _flipVelocity, flipSmooth), - transform.localScale.y, transform.localScale.z); + Vector3 localScale = transform.localScale; + localScale = new Vector3(Mathf.SmoothDamp(localScale.x, _facingDirection, ref _flipVelocity, flipSmooth), + localScale.y, localScale.z); + transform.localScale = localScale; _isGrounded = Physics2D.OverlapBox(feetPos.position, new Vector2(feetWidth, feetHeight), 0f, groundMask); if (_isGrounded && _rb2d.velocity.y <= 0f) _coyoteTime = coyoteTime; + if (Input.GetKeyDown(KeyCode.Space)) _jumpBuffer = jumpBuffer; + if (Input.GetKeyUp(KeyCode.Space)) _cancelJump = true; _jumpBuffer -= Time.deltaTime; _coyoteTime -= Time.deltaTime; @@ -60,6 +66,11 @@ public class PlayerController : MonoBehaviour { _rb2d.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse); _coyoteTime = _jumpBuffer = 0f; } + + if (_cancelJump) { + if(_rb2d.velocity.y > 0f) _rb2d.velocity = new Vector2(_rb2d.velocity.x, _rb2d.velocity.y * gradualJumpMultiplier); + _cancelJump = false; + } } void OnDrawGizmosSelected() { diff --git a/Assets/Sprites/Circle.png b/Assets/Sprites/Circle.png new file mode 100644 index 0000000..119e49a --- /dev/null +++ b/Assets/Sprites/Circle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:105f430d925afebb96e01d8881b91e411091fdc8cd8cfb4d70a0bdf7ebb4ae3a +size 6085 diff --git a/Assets/Sprites/Circle.png.meta b/Assets/Sprites/Circle.png.meta new file mode 100644 index 0000000..258f1f5 --- /dev/null +++ b/Assets/Sprites/Circle.png.meta @@ -0,0 +1,248 @@ +fileFormatVersion: 2 +guid: e72f7cea6d4b14f41b3c725b217a3e52 +TextureImporter: + internalIDToNameTable: + - first: + 213: -2413806693520163455 + second: Circle + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 256 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Circle + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: + - - {x: 33, y: 128} + - {x: -33, y: 128} + - {x: -95, y: 95} + - {x: -128, y: 33} + - {x: -128, y: -33} + - {x: -95, y: -95} + - {x: -33, y: -128} + - {x: 33, y: -128} + - {x: 95, y: -95} + - {x: 128, y: -33} + - {x: 128, y: 33} + - {x: 95, y: 95} + physicsShape: + - - {x: 0, y: 128} + - {x: -39, y: 121} + - {x: -75, y: 103} + - {x: -103, y: 75} + - {x: -121, y: 39} + - {x: -128, y: 0} + - {x: -121, y: -39} + - {x: -103, y: -75} + - {x: -75, y: -103} + - {x: -39, y: -121} + - {x: 0, y: -128} + - {x: 39, y: -121} + - {x: 75, y: -103} + - {x: 103, y: -75} + - {x: 121, y: -39} + - {x: 128, y: 0} + - {x: 121, y: 39} + - {x: 103, y: 75} + - {x: 75, y: 103} + - {x: 39, y: 121} + tessellationDetail: 0 + bones: [] + spriteID: 18d3544e99f608ed0800000000000000 + internalID: -2413806693520163455 + vertices: [] + indices: + edges: [] + weights: [] + outline: + - - {x: 33, y: 128} + - {x: -33, y: 128} + - {x: -95, y: 95} + - {x: -128, y: 33} + - {x: -128, y: -33} + - {x: -95, y: -95} + - {x: -33, y: -128} + - {x: 33, y: -128} + - {x: 95, y: -95} + - {x: 128, y: -33} + - {x: 128, y: 33} + - {x: 95, y: 95} + physicsShape: + - - {x: 0, y: 128} + - {x: -39, y: 121} + - {x: -75, y: 103} + - {x: -103, y: 75} + - {x: -121, y: 39} + - {x: -128, y: 0} + - {x: -121, y: -39} + - {x: -103, y: -75} + - {x: -75, y: -103} + - {x: -39, y: -121} + - {x: 0, y: -128} + - {x: 39, y: -121} + - {x: 75, y: -103} + - {x: 103, y: -75} + - {x: 121, y: -39} + - {x: 128, y: 0} + - {x: 121, y: 39} + - {x: 103, y: 75} + - {x: 75, y: 103} + - {x: 39, y: 121} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Circle: -2413806693520163455 + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index f06d1de..4e87e37 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -41,3 +41,6 @@ TagManager: - name: Default uniqueID: 0 locked: 0 + - name: UI + uniqueID: 1364324917 + locked: 0 diff --git a/UserSettings/Layouts/default-2021.dwlt b/UserSettings/Layouts/default-2021.dwlt index d35b132..1f4f7b9 100644 --- a/UserSettings/Layouts/default-2021.dwlt +++ b/UserSettings/Layouts/default-2021.dwlt @@ -19,7 +19,7 @@ MonoBehaviour: width: 3072 height: 1636.8 m_ShowMode: 4 - m_Title: Project + m_Title: Game m_RootView: {fileID: 3} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -43,11 +43,11 @@ MonoBehaviour: y: 0 width: 808 height: 1586.8 - m_MinSize: {x: 276, y: 71} - m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 14} + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 13} m_Panes: - - {fileID: 14} + - {fileID: 13} m_Selected: 0 m_LastSelected: 0 --- !u!114 &3 @@ -99,7 +99,7 @@ MonoBehaviour: height: 30 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} - m_LastLoadedLayoutName: Wide + m_LastLoadedLayoutName: --- !u!114 &5 MonoBehaviour: m_ObjectHideFlags: 52 @@ -124,7 +124,7 @@ MonoBehaviour: m_MinSize: {x: 300, y: 200} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 132 + controlID: 97 --- !u!114 &6 MonoBehaviour: m_ObjectHideFlags: 52 @@ -170,7 +170,7 @@ MonoBehaviour: m_MinSize: {x: 200, y: 200} m_MaxSize: {x: 16192, y: 16192} vertical: 1 - controlID: 179 + controlID: 86 --- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 @@ -181,7 +181,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 1 m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: SceneView + m_Name: GameView m_EditorClassIdentifier: m_Children: [] m_Position: @@ -192,11 +192,11 @@ MonoBehaviour: height: 1143.2 m_MinSize: {x: 201, y: 221} m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 17} + m_ActualView: {fileID: 15} m_Panes: - - {fileID: 17} - {fileID: 16} - m_Selected: 0 + - {fileID: 15} + m_Selected: 1 m_LastSelected: 0 --- !u!114 &9 MonoBehaviour: @@ -222,7 +222,7 @@ MonoBehaviour: m_MinSize: {x: 200, y: 100} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 139 + controlID: 22 --- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 @@ -242,11 +242,11 @@ MonoBehaviour: y: 0 width: 444.8 height: 443.6001 - m_MinSize: {x: 201, y: 221} - m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 18} + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 17} m_Panes: - - {fileID: 18} + - {fileID: 17} m_Selected: 0 m_LastSelected: 0 --- !u!114 &11 @@ -270,51 +270,13 @@ MonoBehaviour: height: 443.6001 m_MinSize: {x: 232, y: 271} m_MaxSize: {x: 10002, y: 10021} - m_ActualView: {fileID: 15} + m_ActualView: {fileID: 14} m_Panes: - - {fileID: 15} - - {fileID: 13} + - {fileID: 14} - {fileID: 12} m_Selected: 0 m_LastSelected: 2 --- !u!114 &12 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f817a38900380be47942905e17e7d39b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 100, y: 100} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Timeline - m_Image: {fileID: -5401195905404635996, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_Pos: - serializedVersion: 2 - x: 435.2 - y: 1179.2001 - width: 1767.6001 - height: 460.20007 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_Preferences: - editType: 0 - timeReferenceMode: 0 - m_LockTracker: - m_IsLocked: 0 - m_SequenceHierarchy: {fileID: 0} - m_SequencePath: - m_SelectionRoot: 0 - m_SubElements: [] ---- !u!114 &13 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -342,7 +304,7 @@ MonoBehaviour: m_OverlayCanvas: m_LastAppliedPresetName: Default m_SaveData: [] ---- !u!114 &14 +--- !u!114 &13 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -383,7 +345,7 @@ MonoBehaviour: m_LockTracker: m_IsLocked: 0 m_PreviewWindow: {fileID: 0} ---- !u!114 &15 +--- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -432,14 +394,14 @@ MonoBehaviour: m_LastFolders: - Assets m_LastFoldersGridSize: -1 - m_LastProjectPath: C:\Users\ggasc\GitHub\ListJam 2 + m_LastProjectPath: C:\Users\ggasc\GitHub\ListJam2 m_LockTracker: m_IsLocked: 0 m_FolderTreeState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 9e630000 - m_LastClickedID: 25502 - m_ExpandedIDs: 000000009e63000000ca9a3b + m_SelectedIDs: e25a0000 + m_LastClickedID: 23266 + m_ExpandedIDs: 00000000e25a000000ca9a3b m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -467,7 +429,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 000000009e63000000ca9a3b + m_ExpandedIDs: 00000000e25a0000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -523,7 +485,7 @@ MonoBehaviour: m_GridSize: 64 m_SkipHiddenPackages: 0 m_DirectoriesAreaWidth: 129 ---- !u!114 &16 +--- !u!114 &15 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -544,9 +506,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 73 - width: 1377 - height: 552 + y: 73.6 + width: 2263 + height: 1122.2 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -557,7 +519,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1377, y: 531} + m_TargetSize: {x: 2263, y: 1101.2} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -572,10 +534,10 @@ MonoBehaviour: m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -550.8 - m_HBaseRangeMax: 550.8 - m_VBaseRangeMin: -212.40001 - m_VBaseRangeMax: 212.40001 + m_HBaseRangeMin: -905.2 + m_HBaseRangeMax: 905.2 + m_VBaseRangeMin: -440.47998 + m_VBaseRangeMax: 440.47998 m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMax: 1 m_VAllowExceedBaseRangeMin: 1 @@ -584,7 +546,7 @@ MonoBehaviour: m_HSlider: 0 m_VSlider: 0 m_IgnoreScrollWheelUntilClicked: 0 - m_EnableMouseInput: 0 + m_EnableMouseInput: 1 m_EnableSliderZoomHorizontal: 0 m_EnableSliderZoomVertical: 0 m_UniformScale: 1 @@ -593,29 +555,29 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 21 - width: 1377 - height: 531 + width: 2263 + height: 1101.2 m_Scale: {x: 1, y: 1} - m_Translation: {x: 688.5, y: 265.5} + m_Translation: {x: 1131.5, y: 550.6} m_MarginLeft: 0 m_MarginRight: 0 m_MarginTop: 0 m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -688.5 - y: -265.5 - width: 1377 - height: 531 + x: -1131.5 + y: -550.6 + width: 2263 + height: 1101.2 m_MinimalGUI: 1 m_defaultScale: 1 - m_LastWindowPixelSize: {x: 1721.25, y: 690} + m_LastWindowPixelSize: {x: 2828.75, y: 1402.75} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 01000000000000000000 m_XRRenderMode: 0 m_RenderTexture: {fileID: 0} ---- !u!114 &17 +--- !u!114 &16 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -695,7 +657,7 @@ MonoBehaviour: snapOffset: {x: 0, y: 0} snapOffsetDelta: {x: 0, y: 0} snapCorner: 0 - id: Scene View/Open Tile Palette + id: Cinemachine index: 2 layout: 4 - dockPosition: 1 @@ -706,9 +668,20 @@ MonoBehaviour: snapOffset: {x: 0, y: 0} snapOffsetDelta: {x: 0, y: 0} snapCorner: 0 - id: Scene View/Tilemap Focus + id: Scene View/Open Tile Palette index: 3 layout: 4 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap Focus + index: 4 + layout: 4 - dockPosition: 0 containerId: overlay-container--left floating: 0 @@ -862,9 +835,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 560.9913, y: 235.04947, z: -14.208169} + m_Target: {x: 13.847921, y: 8.866838, z: -12.01858} speed: 2 - m_Value: {x: 560.9913, y: 235.04947, z: -14.208169} + m_Value: {x: 13.847921, y: 8.866838, z: -12.01858} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -915,9 +888,9 @@ MonoBehaviour: speed: 2 m_Value: {x: 0, y: 0, z: 0, w: 1} m_Size: - m_Target: 300.69403 + m_Target: 6.49222 speed: 2 - m_Value: 300.69403 + m_Value: 6.49222 m_Ortho: m_Target: 1 speed: 2 @@ -942,7 +915,7 @@ MonoBehaviour: m_SceneVisActive: 1 m_LastLockedObject: {fileID: 0} m_ViewIsLockedToObject: 0 ---- !u!114 &18 +--- !u!114 &17 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -975,7 +948,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 2cfbffff + m_ExpandedIDs: b6edffff0afbffff m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: