From ef6b345a0338b69ee701c0cf36442f4f82db569f Mon Sep 17 00:00:00 2001 From: Felix Boucher Date: Sun, 17 Sep 2023 20:30:02 -0400 Subject: [PATCH] added some doc + some global configs --- Assets/Prefabs/LevelManager.prefab | 15 +- Assets/Scenes/Game.unity | 1093 +++-------------- Assets/Scenes/LevelSelect.unity | 58 + Assets/Scripts/General/DontDestroy.cs | 9 + .../DontDestroy.cs.meta} | 2 +- Assets/Scripts/General/Extensions.cs | 4 +- Assets/Scripts/General/GlobalConfig.cs | 1 + Assets/Scripts/General/GlobalConfigFile.cs | 5 + Assets/Scripts/General/SingletonBehaviour.cs | 2 +- Assets/Scripts/LevelEditor/TilemapData.cs | 16 +- Assets/Scripts/LevelManager/LevelManager.cs | 26 +- .../LevelManager/LevelManagerScript.cs | 24 +- Assets/Scripts/LoadingManager.cs | 28 +- Assets/Scripts/SceneDrawer.cs | 55 - 14 files changed, 306 insertions(+), 1032 deletions(-) create mode 100644 Assets/Scripts/General/DontDestroy.cs rename Assets/Scripts/{SceneDrawer.cs.meta => General/DontDestroy.cs.meta} (83%) delete mode 100644 Assets/Scripts/SceneDrawer.cs diff --git a/Assets/Prefabs/LevelManager.prefab b/Assets/Prefabs/LevelManager.prefab index b10ca1a..d3850dc 100644 --- a/Assets/Prefabs/LevelManager.prefab +++ b/Assets/Prefabs/LevelManager.prefab @@ -12,7 +12,6 @@ GameObject: - component: {fileID: 3028288566889208750} - component: {fileID: 3028288566889208749} - component: {fileID: -245230096461627285} - - component: {fileID: 5626804684391367242} m_Layer: 0 m_Name: LevelManager m_TagString: Untagged @@ -47,6 +46,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c8f415d45fd9659408ac8c5ce2e96aba, type: 3} m_Name: m_EditorClassIdentifier: + loadOnStart: 0 firstLevel: {fileID: 11400000, guid: a6e34739c9325da4cac4fbaea30d052c, type: 2} --- !u!114 &3028288566889208749 MonoBehaviour: @@ -120,16 +120,3 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 37c0aa967043d974783120d6ea9b136c, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &5626804684391367242 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3028288566889208744} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c8f878516c4a3324aa1a9672f8b336c9, type: 3} - m_Name: - m_EditorClassIdentifier: - _current: {fileID: 11400000, guid: 132e291fc51a8f445b1183b11a5d6b39, type: 2} diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index 6526c48..10f480d 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -572,7 +572,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e1e75c8792eeaf44a8afc3d3fa678c74, type: 3} m_Name: @@ -688,7 +688,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &635793715 +--- !u!1 &684588057 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -696,133 +696,43 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 635793716} - - component: {fileID: 635793718} - - component: {fileID: 635793717} - m_Layer: 5 - m_Name: Text (TMP) + - component: {fileID: 684588059} + - component: {fileID: 684588058} + m_Layer: 0 + m_Name: GlobalConfig m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &635793716 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 635793715} - 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: 815991585} - m_RootOrder: 0 - 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 &635793717 +--- !u!114 &684588058 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 635793715} + m_GameObject: {fileID: 684588057} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: c8f878516c4a3324aa1a9672f8b336c9, 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: Quit - 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: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 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_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!222 &635793718 -CanvasRenderer: + _current: {fileID: 11400000, guid: 132e291fc51a8f445b1183b11a5d6b39, type: 2} +--- !u!4 &684588059 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 635793715} - m_CullTransparentMesh: 1 + m_GameObject: {fileID: 684588057} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.6812747, y: -2.3953135, z: 0.25616607} + 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 &719426790 GameObject: m_ObjectHideFlags: 0 @@ -907,128 +817,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &815991584 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 815991585} - - component: {fileID: 815991588} - - component: {fileID: 815991587} - - component: {fileID: 815991586} - m_Layer: 5 - m_Name: btn_quit - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &815991585 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815991584} - 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: 635793716} - m_Father: {fileID: 884382838} - m_RootOrder: 1 - 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: 100.8, y: 0} - m_SizeDelta: {x: 160, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &815991586 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815991584} - 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: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 815991587} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &815991587 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815991584} - 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.654902, g: 0.16078432, b: 0.13725491, 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: 97f1278a9900e7049b9afbfbf7e63453, 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 &815991588 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815991584} - m_CullTransparentMesh: 1 --- !u!1001 &829543638 PrefabInstance: m_ObjectHideFlags: 0 @@ -1094,295 +882,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 02daecb0115395844b4932445d039051, type: 3} ---- !u!1 &884382837 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 884382838} - - component: {fileID: 884382843} - - component: {fileID: 884382842} - - component: {fileID: 884382841} - - component: {fileID: 884382840} - - component: {fileID: 884382839} - m_Layer: 5 - m_Name: PauseCanvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &884382838 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 884382837} - 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: 978587366} - - {fileID: 815991585} - - {fileID: 1761692193} - m_Father: {fileID: 1322577705} - m_RootOrder: 0 - 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!114 &884382839 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 884382837} - 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.29803923} - 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 &884382840 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 884382837} - m_CullTransparentMesh: 1 ---- !u!114 &884382841 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 884382837} - 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 &884382842 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 884382837} - 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 &884382843 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 884382837} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 25 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!1 &978587365 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 978587366} - - component: {fileID: 978587369} - - component: {fileID: 978587368} - - component: {fileID: 978587367} - m_Layer: 5 - m_Name: btn_resume - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &978587366 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 978587365} - 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: 1508319156} - m_Father: {fileID: 884382838} - 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: -79.999985, y: 0} - m_SizeDelta: {x: 160, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &978587367 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 978587365} - 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: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 978587368} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1760532842} - m_TargetAssemblyTypeName: ClickBehavior, GameAssembly - m_MethodName: stopGame - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - m_Target: {fileID: 1322577704} - m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine - m_MethodName: SetActive - m_Mode: 6 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &978587368 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 978587365} - 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.36078432, g: 0.79215693, 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: 21300000, guid: 97f1278a9900e7049b9afbfbf7e63453, 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 &978587369 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 978587365} - m_CullTransparentMesh: 1 --- !u!1 &1092900228 GameObject: m_ObjectHideFlags: 0 @@ -1489,38 +988,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} ---- !u!1 &1322577704 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1322577705} - m_Layer: 0 - m_Name: PauseMenu - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &1322577705 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1322577704} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 527.7125, y: 260.25394, z: 5.853995} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 884382838} - m_Father: {fileID: 0} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1370991965 PrefabInstance: m_ObjectHideFlags: 0 @@ -1546,11 +1013,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1558,7 +1025,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400568530076150058, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 400568530256114997, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -1578,11 +1045,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1590,15 +1057,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400568530484276529, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 400568531361238196, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568531361238196, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 400568531361238196, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1606,15 +1073,31 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400568531361238196, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 + objectReference: {fileID: 0} + - target: {fileID: 1144883118211503064, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1144883118211503064, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1144883118211503064, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 1144883118211503064, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1622,15 +1105,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1361171379191865150, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1638,7 +1121,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1366041080306649041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 2335911515542116969, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -1674,11 +1157,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1686,15 +1169,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2335911515764278902, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1702,15 +1185,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2335911516153004653, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 2335911516626281448, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911516626281448, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2335911516626281448, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1718,7 +1201,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2335911516626281448, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 2340796561267475078, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -1738,11 +1221,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1750,7 +1233,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2340796561450327705, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 2340796561610837739, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -1770,11 +1253,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2340796562313902855, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796562313902855, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796562313902855, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1782,15 +1265,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2340796562313902855, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1798,15 +1281,47 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2340796563190143618, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 + objectReference: {fileID: 0} + - target: {fileID: 3028311141574704260, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3028311141574704260, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3028311141574704260, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3028311141574704260, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -6.0372024 + objectReference: {fileID: 0} + - target: {fileID: 3030999274206192747, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3030999274206192747, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3030999274206192747, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3030999274206192747, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1814,7 +1329,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3964878483247902818, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 4021885618914922922, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: _food @@ -1908,13 +1423,29 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 4911214996900807424, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4911214996900807424, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4911214996900807424, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4911214996900807424, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} + propertyPath: m_AnchoredPosition.y + value: -299.90002 + objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1922,15 +1453,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5316389173819650276, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1938,15 +1469,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5319145879937787915, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -1954,7 +1485,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5639720393060989426, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -201.6 objectReference: {fileID: 0} - target: {fileID: 5639720393215043968, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y @@ -1990,11 +1521,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -2002,15 +1533,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5639720393720315369, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -5 objectReference: {fileID: 0} - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -2018,15 +1549,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5639720394252960041, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -5 objectReference: {fileID: 0} - target: {fileID: 5639720394327989356, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720394327989356, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5639720394327989356, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -2034,15 +1565,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5639720394327989356, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -103.3 objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -2050,15 +1581,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7797049475554395991, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.x @@ -2066,7 +1597,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8992921944992653498, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -103.3 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} @@ -2075,141 +1606,6 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 4817988606444742094, guid: 306211cf6348ac747a78d89bd72fca3e, type: 3} m_PrefabInstance: {fileID: 1370991965} m_PrefabAsset: {fileID: 0} ---- !u!1 &1508319155 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1508319156} - - component: {fileID: 1508319158} - - component: {fileID: 1508319157} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1508319156 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1508319155} - 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: 978587366} - m_RootOrder: 0 - 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 &1508319157 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1508319155} - 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: Resume - 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: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 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_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!222 &1508319158 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1508319155} - m_CullTransparentMesh: 1 --- !u!1 &1622690417 GameObject: m_ObjectHideFlags: 0 @@ -2370,19 +1766,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1709530846} m_OnClick: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1760532842} - m_TargetAssemblyTypeName: ClickBehavior, GameAssembly - m_MethodName: ChangeGameSpeed - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 + m_Calls: [] --- !u!114 &1709530846 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2421,152 +1805,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1709530843} m_CullTransparentMesh: 1 ---- !u!114 &1760532842 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: -245230096461627285, guid: 02daecb0115395844b4932445d039051, type: 3} - m_PrefabInstance: {fileID: 829543638} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 37c0aa967043d974783120d6ea9b136c, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &1761692192 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1761692193} - - component: {fileID: 1761692195} - - component: {fileID: 1761692194} - m_Layer: 5 - m_Name: txt_pause - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1761692193 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1761692192} - 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: 884382838} - m_RootOrder: 2 - 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: 9.8, y: 46.5} - m_SizeDelta: {x: 158.8768, y: 47.0626} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1761692194 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1761692192} - 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: Pause - 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: 36 - m_fontSizeBase: 36 - 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!222 &1761692195 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1761692192} - m_CullTransparentMesh: 1 --- !u!1 &2019202046 GameObject: m_ObjectHideFlags: 0 @@ -2649,31 +1887,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 2019202049} m_OnClick: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1760532842} - m_TargetAssemblyTypeName: ClickBehavior, GameAssembly - m_MethodName: stopGame - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - m_Target: {fileID: 1322577704} - m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine - m_MethodName: SetActive - m_Mode: 6 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 1 - m_CallState: 2 + m_Calls: [] --- !u!114 &2019202049 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2797,8 +2011,8 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 2064630367} - m_TargetAssemblyTypeName: ChangeScene, GameAssembly - m_MethodName: LoadScene + m_TargetAssemblyTypeName: GoToScene, GameAssembly + m_MethodName: Execute m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} @@ -2855,9 +2069,10 @@ MonoBehaviour: m_GameObject: {fileID: 2064630362} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5013085c123fae4499f80b0a896f63af, type: 3} + m_Script: {fileID: 11500000, guid: a71d8cb1374fce94592f4b1c232f38d8, type: 3} m_Name: m_EditorClassIdentifier: - scene: LevelSelect - sceneAction: 0 - loadSceneMode: 0 + _useLoadingScreen: 1 + _loadingScreenScene: LoadingScreen + _sceneToLoad: LevelSelect + _levelToLoad: -1 diff --git a/Assets/Scenes/LevelSelect.unity b/Assets/Scenes/LevelSelect.unity index 79ef7d0..f22c3ec 100644 --- a/Assets/Scenes/LevelSelect.unity +++ b/Assets/Scenes/LevelSelect.unity @@ -2582,6 +2582,64 @@ GameObject: m_CorrespondingSourceObject: {fileID: 1893888152770301340, guid: eb25bde5e3c72d34fbc9095e2c83cdb4, type: 3} m_PrefabInstance: {fileID: 1878632746} m_PrefabAsset: {fileID: 0} +--- !u!1 &2015431890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2015431891} + - component: {fileID: 2015431892} + - component: {fileID: 2015431893} + m_Layer: 0 + m_Name: GlobalConfig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2015431891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2015431890} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.6812747, y: -2.3953135, z: 0.25616607} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2015431892 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2015431890} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c8f878516c4a3324aa1a9672f8b336c9, type: 3} + m_Name: + m_EditorClassIdentifier: + _current: {fileID: 11400000, guid: 132e291fc51a8f445b1183b11a5d6b39, type: 2} +--- !u!114 &2015431893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2015431890} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa9f587ee4cf938499416afd7af15106, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1893888154391728751 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/General/DontDestroy.cs b/Assets/Scripts/General/DontDestroy.cs new file mode 100644 index 0000000..b21e5c1 --- /dev/null +++ b/Assets/Scripts/General/DontDestroy.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +public class DontDestroy : MonoBehaviour +{ + void Awake() + { + DontDestroyOnLoad(gameObject); + } +} \ No newline at end of file diff --git a/Assets/Scripts/SceneDrawer.cs.meta b/Assets/Scripts/General/DontDestroy.cs.meta similarity index 83% rename from Assets/Scripts/SceneDrawer.cs.meta rename to Assets/Scripts/General/DontDestroy.cs.meta index 5b3adcb..a67a92d 100644 --- a/Assets/Scripts/SceneDrawer.cs.meta +++ b/Assets/Scripts/General/DontDestroy.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 389cc3c423055324fb8d7de50f62f709 +guid: fa9f587ee4cf938499416afd7af15106 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/General/Extensions.cs b/Assets/Scripts/General/Extensions.cs index 59e8eef..eb6f7a1 100644 --- a/Assets/Scripts/General/Extensions.cs +++ b/Assets/Scripts/General/Extensions.cs @@ -9,9 +9,9 @@ using System.Threading.Tasks; public static class Extensions { - public static async Task WaitWhile(Func untilTrue) + public static async Task WaitWhile(Func toKeepTrue) { - while (untilTrue?.Invoke() == false) + while (toKeepTrue?.Invoke() == true) { await Task.Yield(); } diff --git a/Assets/Scripts/General/GlobalConfig.cs b/Assets/Scripts/General/GlobalConfig.cs index a954bd2..d610d8a 100644 --- a/Assets/Scripts/General/GlobalConfig.cs +++ b/Assets/Scripts/General/GlobalConfig.cs @@ -2,6 +2,7 @@ using UnityEngine; public class GlobalConfig : SingletonBehaviour { + [SerializeField] private GlobalConfigFile _current; public GlobalConfigFile Current diff --git a/Assets/Scripts/General/GlobalConfigFile.cs b/Assets/Scripts/General/GlobalConfigFile.cs index 3423538..63922df 100644 --- a/Assets/Scripts/General/GlobalConfigFile.cs +++ b/Assets/Scripts/General/GlobalConfigFile.cs @@ -30,4 +30,9 @@ public class GlobalConfigFile : ScriptableObject public bool useRandomHarvestDuration = false; public int randomHarvestDurationMinimum = 0; public int randomHarvestDurationMaximum = 0; + + [Header("loading screen")] + public float loadingAddedTime = 3; + public float baseTileSpawnSpeed = 12; + public float tileSpawnAcceleration = 1; } diff --git a/Assets/Scripts/General/SingletonBehaviour.cs b/Assets/Scripts/General/SingletonBehaviour.cs index 777db2f..63e5e8d 100644 --- a/Assets/Scripts/General/SingletonBehaviour.cs +++ b/Assets/Scripts/General/SingletonBehaviour.cs @@ -15,6 +15,6 @@ public class SingletonBehaviour : MonoBehaviour where T : SingletonBehaviour< protected virtual void Awake() { if (!Instance) Instance = this as T; - else Destroy(gameObject); + else Destroy(this); } } \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/TilemapData.cs b/Assets/Scripts/LevelEditor/TilemapData.cs index 85dfa95..72e8211 100644 --- a/Assets/Scripts/LevelEditor/TilemapData.cs +++ b/Assets/Scripts/LevelEditor/TilemapData.cs @@ -34,10 +34,21 @@ namespace GatherAndDefend.LevelEditor public string Key => _key; - public async Task LoadToTilemap(Tilemap reference, PlacementAnimationHandler placementAnimation = null, Reference allTilesSpawned = default, Func tileSpawnAcceleration = default) + /// + /// + /// + /// the current tilemap + /// the tiles falling on the tilemap + /// a reference value that is used in caller method to detect when all tiles have been spawned + /// a delegate which speeds up the spawning of the tiles over time + /// + public async Task LoadToTilemap(Tilemap reference, PlacementAnimationHandler placementAnimation = null, Action allTilesSpawned = default, Func tileSpawnAcceleration = default) { + // if the function we receive is null, we just make it constant 1 if (tileSpawnAcceleration == default) tileSpawnAcceleration = () => 1; + const int tilesPerSecond = 15; + reference.transform.localPosition = _position; reference.transform.localScale = _scale; @@ -51,13 +62,14 @@ namespace GatherAndDefend.LevelEditor collision.isTrigger = _isTrigger; } + //all tiles are loaded after their animation is over. use a task to asyncroneously load them and keep control over the flow var tasks = new List(); foreach (TileData data in _tiles) { tasks.Add(placementAnimation(data.Position, data.Tile, () => reference.SetTile(data.Position, data.Tile))); await Task.Delay((int)(1000f / (tilesPerSecond * tileSpawnAcceleration()))); } - if (allTilesSpawned != null) allTilesSpawned.Value = true; + allTilesSpawned?.Invoke(); await Task.WhenAll(tasks); } /// diff --git a/Assets/Scripts/LevelManager/LevelManager.cs b/Assets/Scripts/LevelManager/LevelManager.cs index 88720f6..c5aa96a 100644 --- a/Assets/Scripts/LevelManager/LevelManager.cs +++ b/Assets/Scripts/LevelManager/LevelManager.cs @@ -143,14 +143,16 @@ public class LevelManager : Singleton } /// - /// permet de loader un scriptable object de niveau + /// loads a Level scriptable object /// - /// le niveau à loader - /// est ce qu'on veut effacer ce qui est déjà là? + /// the level to load + /// do we want to clear what's already there before loading? + /// the tiles falling from the top of the screen public async Task LoadLevel(Level level, bool shouldClear = false, PlacementAnimationHandler placementAnimation = null) { - float tileSpawnAcceleration = 1; - float tileSpawnAccelerationFunc() => (tileSpawnAcceleration += Time.deltaTime); + float accelerationOfAcceleration = GlobalConfig.Instance.Current.tileSpawnAcceleration; + float tileCurrentAcceleration = 1; + float tileSpawnAccelerationFunc() => (tileCurrentAcceleration += accelerationOfAcceleration * Time.deltaTime); if (shouldClear) { @@ -181,14 +183,15 @@ public class LevelManager : Singleton //generate all tilemaps foreach (TilemapData tilemapData in _currentLevel) { + bool allTilesSpawned = false; + System.Action OnAllTilesSpawned = () => allTilesSpawned = true; var tilemap = new GameObject(tilemapData.Key).AddComponent(); tilemap.tileAnchor = Vector3.zero; tilemap.gameObject.AddComponent(); tilemap.transform.SetParent(grid.transform); - Reference allTileSpawned = false; - tasks.Add(tilemapData.LoadToTilemap(tilemap, placementAnimation, allTileSpawned, tileSpawnAccelerationFunc)); - await Extensions.WaitWhile(() => allTileSpawned); + tasks.Add(tilemapData.LoadToTilemap(tilemap, placementAnimation, OnAllTilesSpawned, tileSpawnAccelerationFunc)); + await Extensions.WaitWhile(() => !allTilesSpawned); } await Task.WhenAll(tasks); @@ -197,10 +200,11 @@ public class LevelManager : Singleton } /// - /// permet de loader un scriptable object de niveau + /// load a Level scriptable object using its name /// - /// le nom du niveau à loader - /// est ce qu'on veut effacer ce qui est déjà là? + /// the name of the loaded Level + /// should we clear what's already there? + /// the tiles falling animation public async Task LoadLevel(string levelName, bool shouldClear = false, PlacementAnimationHandler placementAnimation = null) { if (shouldClear) diff --git a/Assets/Scripts/LevelManager/LevelManagerScript.cs b/Assets/Scripts/LevelManager/LevelManagerScript.cs index 111bfba..c725df2 100644 --- a/Assets/Scripts/LevelManager/LevelManagerScript.cs +++ b/Assets/Scripts/LevelManager/LevelManagerScript.cs @@ -5,6 +5,10 @@ using UnityEngine.Tilemaps; using System.Threading.Tasks; using System; +/// The position the tile should be placed on +/// the tile we should place +/// the action of placing the tile on the tilemap +/// public delegate Task PlacementAnimationHandler(Vector3 position, TileBase tile, Action tilePlacement); public class LevelManagerScript : SingletonBehaviour { @@ -13,6 +17,7 @@ public class LevelManagerScript : SingletonBehaviour public Level firstLevel; async void Start() { + //only when the level is loaded do we start updating LevelManager.Instance.LevelLoaded += Instance_LevelLoaded; if (loadOnStart && firstLevel) { @@ -32,17 +37,28 @@ public class LevelManagerScript : SingletonBehaviour private void Instance_LevelLoaded(Level level) { + //only when the level is loaded do we start updating updateAction = LevelManager.Instance.UpdateLevel; } + /// + /// the tile falls from the top of the screen, up to it's position on the tilemap + /// + /// where it should land + /// what the tile represents + /// the action of actually placing the tile + /// public static async Task PlacementAnimation(Vector3 position, TileBase tile, System.Action putTileOnTilemap) { + const string layer = "Unit"; float speed = 0; float acceleration = -9.81f; + + //create the falling GameObject that will placehold for the tile var tilePlaceholder = new GameObject("tile"); var rend = tilePlaceholder.AddComponent(); rend.sortingOrder = 10; - rend.sortingLayerName = "Unit"; + rend.sortingLayerName = layer; if (tile is LevelTile) { @@ -53,6 +69,7 @@ public class LevelManagerScript : SingletonBehaviour rend.sprite = (tile as Tile).sprite; } + //position the tile over the board (past the camera's FOV) tilePlaceholder.transform.position = position + Vector3.up * Camera.main.orthographicSize * 2; var delta = tilePlaceholder.transform.position - position; @@ -61,10 +78,12 @@ public class LevelManagerScript : SingletonBehaviour while (true) { + //if the placeholder was destroyed, stop if (!tilePlaceholder) break; + //make the placeholder fall and check if we went past the target position speed += acceleration * Time.deltaTime; - tilePlaceholder.transform.position += direction * Time.deltaTime * speed; + tilePlaceholder.transform.position += speed * Time.deltaTime * direction; var newDelta = tilePlaceholder.transform.position - position; var newSign = newDelta.y / Mathf.Abs(newDelta.y); @@ -73,6 +92,7 @@ public class LevelManagerScript : SingletonBehaviour await Task.Yield(); } + //place the tile and destroy the placeholder putTileOnTilemap.Invoke(); Destroy(tilePlaceholder); } diff --git a/Assets/Scripts/LoadingManager.cs b/Assets/Scripts/LoadingManager.cs index b452046..e54ba99 100644 --- a/Assets/Scripts/LoadingManager.cs +++ b/Assets/Scripts/LoadingManager.cs @@ -14,22 +14,25 @@ public class LoadingManager : MonoBehaviour private LoadingScreen loadingScreen; - public float testAddedTime = 5; void Start() { loadingScreen = GetComponent(); - loadingScreen.ScreenActivated += StartLoadingGameScene; + loadingScreen.ScreenActivated += LoadTargetSceneAndCloseOthers; loadingScreen.ShowLoadingScreen(); } - private void StartLoadingGameScene() + + /// + /// loads the target scene after given time + /// + private void LoadTargetSceneAndCloseOthers() { StartCoroutine(LoadSceneAfterTime()); IEnumerator LoadSceneAfterTime() { - yield return new WaitForSeconds(testAddedTime); + yield return new WaitForSeconds(GlobalConfig.Instance.Current.loadingAddedTime); - loadingScreen.ScreenActivated -= StartLoadingGameScene; + loadingScreen.ScreenActivated -= LoadTargetSceneAndCloseOthers; SceneManager.sceneLoaded += StartHidingLoadingScreen; var sceneToLoad = PlayerPrefs.GetString(SceneToLoad); @@ -45,12 +48,22 @@ public class LoadingManager : MonoBehaviour SceneManager.LoadScene(sceneToLoad, LoadSceneMode.Additive); } } + + /// + /// hide loading screen after target scene has finished loading + /// + /// unused + /// unused private void StartHidingLoadingScreen(Scene arg0, LoadSceneMode arg1) { SceneManager.sceneLoaded -= StartHidingLoadingScreen; loadingScreen.ScreenDeactivated += StartLoadingLevel; loadingScreen.HideLoadingScreen(); } + + /// + /// when loading screen is hidden, we load the level if we have a level to load (might not, if we have loaded another scene than the Game scene) + /// private async void StartLoadingLevel() { loadingScreen.ScreenDeactivated -= StartLoadingLevel; @@ -68,6 +81,11 @@ public class LoadingManager : MonoBehaviour } } + + /// + /// close the loading screen scene and start playing! w00t w00t + /// + /// private void UnloadLoadingScreenScene(GatherAndDefend.LevelEditor.Level level) { LevelManager.Instance.LevelLoaded -= UnloadLoadingScreenScene; diff --git a/Assets/Scripts/SceneDrawer.cs b/Assets/Scripts/SceneDrawer.cs deleted file mode 100644 index 5c16aaf..0000000 --- a/Assets/Scripts/SceneDrawer.cs +++ /dev/null @@ -1,55 +0,0 @@ -using UnityEditor; -using UnityEngine; - - -public class SceneAttribute : PropertyAttribute { } - -[CustomPropertyDrawer(typeof(SceneAttribute))] -public class SceneDrawer : PropertyDrawer -{ - - public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) - { - - if (property.propertyType == SerializedPropertyType.String) - { - var sceneObject = GetSceneObject(property.stringValue); - var scene = EditorGUI.ObjectField(position, label, sceneObject, typeof(SceneAsset), true); - if (scene == null) - { - property.stringValue = ""; - } - else if (scene.name != property.stringValue) - { - var sceneObj = GetSceneObject(scene.name); - if (sceneObj == null) - { - Debug.LogWarning("The scene " + scene.name + " cannot be used. To use this scene add it to the build settings for the project"); - } - else - { - property.stringValue = scene.name; - } - } - } - else - EditorGUI.LabelField(position, label.text, "Use [Scene] with strings."); - } - protected SceneAsset GetSceneObject(string sceneObjectName) - { - if (string.IsNullOrEmpty(sceneObjectName)) - { - return null; - } - - foreach (var editorScene in EditorBuildSettings.scenes) - { - if (editorScene.path.IndexOf(sceneObjectName) != -1) - { - return AssetDatabase.LoadAssetAtPath(editorScene.path, typeof(SceneAsset)) as SceneAsset; - } - } - Debug.LogWarning("Scene [" + sceneObjectName + "] cannot be used. Add this scene to the 'Scenes in the Build' in build settings."); - return null; - } -} \ No newline at end of file