refactor(player): implement proper state pattern

This commit is contained in:
EmirHanMamak 2026-03-08 13:56:30 +03:00
parent 5995823d29
commit b56ecf121e
24 changed files with 1353 additions and 251 deletions

View file

@ -119,8 +119,8 @@ Material:
- _WorkflowMode: 0
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 0.9658242, b: 0.9658242, a: 1}
- _Color: {r: 1, g: 0.9658242, b: 0.9658242, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.09433961, g: 0.09433961, b: 0.09433961, a: 1}
m_BuildTextureStacks: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 695b87200bde6adcdb7f94e775029f15
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b286bc370ac77fe9eb85eca9d626aa73
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,8 +1,7 @@
using System;
using Patterns_And_Principles.Patterns.The_State_Pattern.Script.State;
using Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.State;
using UnityEngine;
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script.Manager
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.Manager
{
public class AppleStateManager : MonoBehaviour
{

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1c08b03c127a9318890a2de6d3d42c2c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,42 @@
using UnityEngine;
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.Player
{
public class PlayerController : MonoBehaviour
{
private Rigidbody rb;
public float speed = 5f;
private void Awake()
{
rb = GetComponent<Rigidbody>();
}
private void FixedUpdate()
{
Vector3 movement = Vector3.zero;
if (Input.GetKey(KeyCode.W))
{
movement += Vector3.forward;
}
if (Input.GetKey(KeyCode.S))
{
movement += Vector3.back;
}
if (Input.GetKey(KeyCode.A))
{
movement += Vector3.left;
}
if (Input.GetKey(KeyCode.D))
{
movement += Vector3.right;
}
rb.MovePosition(rb.position + movement.normalized * speed * Time.fixedDeltaTime);
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 093a7937f68545efbc7c5995b72c7ce1
timeCreated: 1772964899

View file

@ -1,8 +1,7 @@
using Patterns_And_Principles.Patterns.The_State_Pattern.Script.Manager;
using Unity.VisualScripting;
using Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.Manager;
using UnityEngine;
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script.State
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.State
{
public abstract class AppleBaseState
{

View file

@ -1,13 +1,18 @@
using Patterns_And_Principles.Patterns.The_State_Pattern.Script.Manager;
using Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.Manager;
using UnityEngine;
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script.State
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.State
{
public class AppleChewedState : AppleBaseState
{
public override void EnterState(AppleStateManager appleStateManager)
{
Debug.Log("Entered AppleChewedState");
MeshRenderer renderer = appleStateManager.GetComponent<MeshRenderer>();
renderer.material.color = new Color(0f, .25f, 0f);
appleStateManager.transform.localScale = new Vector3(0.8f, 0.7f, 0.8f);
appleStateManager.transform.Rotate(10f, 0f, 0f);
}
public override void UpdateState(AppleStateManager appleStateManager)

View file

@ -1,7 +1,7 @@
using Patterns_And_Principles.Patterns.The_State_Pattern.Script.Manager;
using Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.Manager;
using UnityEngine;
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script.State
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.State
{
public class AppleGrowingState : AppleBaseState
{

View file

@ -1,13 +1,14 @@
using Patterns_And_Principles.Patterns.The_State_Pattern.Script.Manager;
using Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.Manager;
using UnityEngine;
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script.State
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.State
{
public class AppleRottenState : AppleBaseState
{
public override void EnterState(AppleStateManager appleStateManager)
{
Debug.Log("Entered AppleRottenState");
appleStateManager.GetComponent<MeshRenderer>().materials[0].color = Color.gray;
}
public override void UpdateState(AppleStateManager appleStateManager)

View file

@ -1,10 +1,11 @@
using Patterns_And_Principles.Patterns.The_State_Pattern.Script.Manager;
using Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.Manager;
using UnityEngine;
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script.State
namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script._02_RealWorldUsage.State
{
public class AppleWholeState : AppleBaseState
{
private float _rottenTime = 6f;
public override void EnterState(AppleStateManager appleStateManager)
{
Debug.Log("Entered AppleWholeState");
@ -13,10 +14,24 @@ namespace Patterns_And_Principles.Patterns.The_State_Pattern.Script.State
public override void UpdateState(AppleStateManager appleStateManager)
{
if (_rottenTime > 0)
{
_rottenTime -= Time.deltaTime;
}
else
{
appleStateManager.SwitchState(appleStateManager._rottenState);
}
}
public override void OnCollisionEnter(AppleStateManager appleStateManager, Collision collision)
{
GameObject obj = collision.gameObject;
if (obj.CompareTag("Player")) //
{
Debug.Log("Apple Ate");
appleStateManager.SwitchState(appleStateManager._chewedState);
}
}
}
}

View file

@ -2,13 +2,13 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:
serializedVersion: 2
serializedVersion: 3
tags: []
layers:
- Default
- TransparentFX
- Ignore Raycast
-
- Player
- Water
- UI
-
@ -50,27 +50,3 @@ TagManager:
- Light Layer 5
- Light Layer 6
- Light Layer 7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

View file

@ -14,16 +14,16 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_PixelRect:
serializedVersion: 2
x: 0
y: 43
x: 1984
y: 81
width: 1920
height: 945
height: 912
m_ShowMode: 4
m_Title: Game
m_Title: Scene
m_RootView: {fileID: 6}
m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000}
m_Maximized: 1
m_Maximized: 0
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 52
@ -41,8 +41,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 1043
height: 889
width: 818
height: 856
m_MinSize: {x: 201, y: 226}
m_MaxSize: {x: 4001, y: 4026}
m_ActualView: {fileID: 23}
@ -66,9 +66,9 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
y: 510
width: 224
height: 379
y: 503
width: 368
height: 353
m_MinSize: {x: 102, y: 126}
m_MaxSize: {x: 4002, y: 4026}
m_ActualView: {fileID: 18}
@ -77,7 +77,7 @@ MonoBehaviour:
- {fileID: 17}
- {fileID: 16}
m_Selected: 0
m_LastSelected: 2
m_LastSelected: 1
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 52
@ -94,9 +94,9 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
y: 346
width: 272
height: 543
y: 328
width: 329
height: 528
m_MinSize: {x: 232, y: 276}
m_MaxSize: {x: 10002, y: 10026}
m_ActualView: {fileID: 21}
@ -121,10 +121,10 @@ MonoBehaviour:
- {fileID: 4}
m_Position:
serializedVersion: 2
x: 1267
x: 1186
y: 0
width: 272
height: 889
width: 329
height: 856
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
@ -151,7 +151,7 @@ MonoBehaviour:
x: 0
y: 0
width: 1920
height: 945
height: 912
m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000}
m_UseTopView: 1
@ -202,11 +202,11 @@ MonoBehaviour:
x: 0
y: 36
width: 1920
height: 889
height: 856
m_MinSize: {x: 400, y: 100}
m_MaxSize: {x: 32384, y: 16192}
vertical: 0
controlID: 39
controlID: 163
draggingID: 0
--- !u!114 &9
MonoBehaviour:
@ -224,7 +224,7 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
y: 925
y: 892
width: 1920
height: 20
m_MinSize: {x: 0, y: 0}
@ -246,14 +246,14 @@ MonoBehaviour:
- {fileID: 3}
m_Position:
serializedVersion: 2
x: 1043
x: 818
y: 0
width: 224
height: 889
width: 368
height: 856
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 40
controlID: 20
draggingID: 0
--- !u!114 &11
MonoBehaviour:
@ -272,8 +272,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 272
height: 346
width: 329
height: 328
m_MinSize: {x: 202, y: 226}
m_MaxSize: {x: 4002, y: 4026}
m_ActualView: {fileID: 19}
@ -296,10 +296,10 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 1539
x: 1515
y: 0
width: 381
height: 889
width: 405
height: 856
m_MinSize: {x: 276, y: 76}
m_MaxSize: {x: 4001, y: 4026}
m_ActualView: {fileID: 20}
@ -325,8 +325,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 224
height: 510
width: 368
height: 503
m_MinSize: {x: 202, y: 226}
m_MaxSize: {x: 4002, y: 4026}
m_ActualView: {fileID: 22}
@ -445,10 +445,10 @@ MonoBehaviour:
m_TextWithWhitespace: "Profiler\u200B"
m_Pos:
serializedVersion: 2
x: 300
y: 410.6667
width: 576
height: 236.33337
x: 2802
y: 664
width: 462
height: 327
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -494,7 +494,7 @@ MonoBehaviour:
m_HierarchyOverruledThreadFromSelection: 0
m_ProfilerViewFilteringOptions: 1
m_FrameDataHierarchyView:
m_Serialized: 0
m_Serialized: 1
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
@ -519,21 +519,157 @@ MonoBehaviour:
m_ClientGUIView: {fileID: 0}
m_SearchString:
m_MultiColumnHeaderState:
m_Columns: []
m_VisibleColumns:
m_SortedColumns:
m_Columns:
- width: 200
sortedAscending: 1
headerContent:
m_Text: Overview
m_Image: {fileID: 0}
m_Tooltip:
m_TextWithWhitespace: "Overview\u200B"
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 200
maxWidth: 1000000
autoResize: 1
allowToggleVisibility: 0
canSort: 1
userData: 0
- width: 80
sortedAscending: 0
headerContent:
m_Text: Total
m_Image: {fileID: 0}
m_Tooltip:
m_TextWithWhitespace: "Total\u200B"
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 50
maxWidth: 1000000
autoResize: 0
allowToggleVisibility: 1
canSort: 1
userData: 0
- width: 80
sortedAscending: 0
headerContent:
m_Text: Self
m_Image: {fileID: 0}
m_Tooltip:
m_TextWithWhitespace: "Self\u200B"
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 50
maxWidth: 1000000
autoResize: 0
allowToggleVisibility: 1
canSort: 1
userData: 0
- width: 80
sortedAscending: 0
headerContent:
m_Text: Calls
m_Image: {fileID: 0}
m_Tooltip:
m_TextWithWhitespace: "Calls\u200B"
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 50
maxWidth: 1000000
autoResize: 0
allowToggleVisibility: 1
canSort: 1
userData: 0
- width: 80
sortedAscending: 0
headerContent:
m_Text: GC Alloc
m_Image: {fileID: 0}
m_Tooltip:
m_TextWithWhitespace: "GC Alloc\u200B"
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 50
maxWidth: 1000000
autoResize: 0
allowToggleVisibility: 1
canSort: 1
userData: 0
- width: 80
sortedAscending: 0
headerContent:
m_Text: Time ms
m_Image: {fileID: 0}
m_Tooltip:
m_TextWithWhitespace: "Time ms\u200B"
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 50
maxWidth: 1000000
autoResize: 0
allowToggleVisibility: 1
canSort: 1
userData: 0
- width: 80
sortedAscending: 0
headerContent:
m_Text: Self ms
m_Image: {fileID: 0}
m_Tooltip:
m_TextWithWhitespace: "Self ms\u200B"
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 50
maxWidth: 1000000
autoResize: 0
allowToggleVisibility: 1
canSort: 1
userData: 0
- width: 25
sortedAscending: 0
headerContent:
m_Text:
m_Image: {fileID: -5161429177145976760, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip: Warnings
m_TextWithWhitespace:
contextMenuText:
headerTextAlignment: 0
sortingArrowAlignment: 2
minWidth: 25
maxWidth: 25
autoResize: 0
allowToggleVisibility: 1
canSort: 1
userData: 0
m_VisibleColumns: 0000000001000000020000000300000004000000050000000600000007000000
m_SortedColumns: 05000000
m_ThreadIndexInThreadNames: 0
m_DetailedViewType: 0
m_DetailedViewSpliterState:
ID: 0
splitterInitialOffset: 0
currentActiveSplitter: 0
realSizes: []
relativeSizes: []
minSizes: []
maxSizes: []
currentActiveSplitter: -1
realSizes:
- 0
- 0
relativeSizes:
- 0.7
- 0.3
minSizes:
- 450
- 50
maxSizes:
- 0
- 0
lastTotalSize: 0
splitSize: 0
splitSize: 6
xOffset: 0
m_Version: 1
oldRealSizes:
@ -1314,10 +1450,10 @@ MonoBehaviour:
m_TextWithWhitespace: "Animation\u200B"
m_Pos:
serializedVersion: 2
x: 300
y: 410.6667
width: 576
height: 236.33337
x: 2802
y: 664
width: 462
height: 327
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1331,7 +1467,7 @@ MonoBehaviour:
m_OverlaysVisible: 1
m_LockTracker:
m_IsLocked: 0
m_LastSelectedObjectID: -35046
m_LastSelectedObjectID: -61948
--- !u!114 &18
MonoBehaviour:
m_ObjectHideFlags: 52
@ -1354,9 +1490,9 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 1
y: 534
width: 222
height: 353
y: 527
width: 366
height: 327
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1391,8 +1527,8 @@ MonoBehaviour:
serializedVersion: 2
x: 1
y: 24
width: 270
height: 320
width: 327
height: 302
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1409,7 +1545,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 6e81ffff3082ffff9a92ffffee96ffff5ce3ffff12f2ffff04f3ffff14fbffff3eb9000050b90000
m_ExpandedIDs: 14fbffff
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1455,10 +1591,10 @@ MonoBehaviour:
m_TextWithWhitespace: "Inspector\u200B"
m_Pos:
serializedVersion: 2
x: 1540
x: 1516
y: 24
width: 380
height: 863
width: 404
height: 830
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1473,7 +1609,7 @@ MonoBehaviour:
m_ObjectsLockedBeforeSerialization: []
m_InstanceIDsLockedBeforeSerialization:
m_PreviewResizer:
m_CachedPref: 152
m_CachedPref: 495
m_ControlHash: -371814159
m_PrefName: Preview_InspectorPreview
m_LastInspectedObjectInstanceID: -1
@ -1505,9 +1641,9 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 1
y: 370
width: 270
height: 517
y: 352
width: 327
height: 502
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1529,7 +1665,8 @@ MonoBehaviour:
m_ShowAllHits: 0
m_SkipHidden: 0
m_SearchArea: 1
m_Folders: []
m_Folders:
- Assets/Patterns_And_Principles/Patterns/The State Pattern
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
@ -1538,18 +1675,17 @@ MonoBehaviour:
m_FilterByTypeIntersection: 0
m_ViewMode: 0
m_StartGridSize: 16
m_LastFolders:
- Assets
m_LastFolders: []
m_LastFoldersGridSize: 16
m_LastProjectPath: F:\_Work\_PersonelWorks\Courses\Programming Design Patterns
And Principles
m_LastProjectPath: /home/emirhanmamak/SSD/_Work/_PersonelWorks/Courses/Programming
Design Patterns And Principles
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 6edd0000
m_LastClickedID: 56686
m_ExpandedIDs: 00000000e4bb0000e6bb0000e8bb0000eabb0000ecbb0000eebb0000f0bb0000f2bb0000f4bb0000f6bb0000f8bb0000fabb0000fcbb0000febb000000bc000002bc000004bc000006bc000008bc00000abc00000cbc0000
m_ExpandedIDs: 00000000c8ba0000caba0000ccba0000ceba0000d0ba0000d2ba0000d4ba0000d6ba0000d8ba0000daba0000dcba0000deba0000e0ba0000e2ba0000e4ba0000e6ba0000e8ba0000eaba0000ecba0000eeba0000f0ba0000f2ba0000f4ba0000f6ba0000f8ba0000faba0000fcba0000feba000000bb000002bb000004bb0000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1575,10 +1711,10 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_AssetTreeState:
scrollPos: {x: 0, y: 60}
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 00000000e4bb0000e6bb0000e8bb0000eabb0000ecbb0000eebb0000f0bb0000f2bb0000f4bb0000f6bb0000f8bb0000fabb0000fcbb0000febb000000bc000002bc000004bc000006bc000008bc00000abc00000cbc0000
m_ExpandedIDs: 00000000c8ba0000caba0000ccba0000ceba0000d0ba0000d2ba0000d4ba0000d6ba0000d8ba0000daba0000dcba0000deba0000e0ba0000e2ba0000e4ba0000e6ba0000e8ba0000eaba0000ecba0000eeba0000f0ba0000f2ba0000f4ba0000f6ba0000f8ba0000faba0000fcba0000feba000000bb000002bb000004bb0000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1659,8 +1795,8 @@ MonoBehaviour:
serializedVersion: 2
x: 1
y: 24
width: 222
height: 484
width: 366
height: 477
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1675,11 +1811,11 @@ MonoBehaviour:
displayed: 1
id: Tool Settings
index: 1
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":-24.0,"y":-24.0},"m_FloatingSnapCorner":3,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-24.0,"y":-24.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":3,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: -24, y: -24}
snapOffset: {x: -24, y: -24}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 3
layout: 1
size: {x: 0, y: 0}
@ -1703,10 +1839,10 @@ MonoBehaviour:
displayed: 1
id: unity-scene-view-toolbar
index: 0
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffset: {x: 24, y: 25}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 0
layout: 1
@ -1717,11 +1853,11 @@ MonoBehaviour:
displayed: 0
id: unity-search-toolbar
index: 1
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":-24.0,"y":0.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: -24, y: 0}
snapOffset: {x: -24, y: 25}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 1
layout: 1
size: {x: 0, y: 0}
@ -1731,10 +1867,10 @@ MonoBehaviour:
displayed: 1
id: unity-transform-toolbar
index: 0
contents: '{"m_Layout":2,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":2,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffset: {x: 24, y: 25}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 0
layout: 2
@ -2039,10 +2175,10 @@ MonoBehaviour:
displayed: 1
id: unity-scene-view-camera-mode-toolbar
index: 2
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffset: {x: 24, y: 25}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 0
layout: 4
@ -2095,10 +2231,10 @@ MonoBehaviour:
displayed: 1
id: Overlays/OverlayMenu
index: 1
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffset: {x: 24, y: 25}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 0
layout: 1
@ -2165,11 +2301,11 @@ MonoBehaviour:
displayed: 0
id: SceneView/CamerasOverlay
index: 15
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 24, y: 0}
snapOffset: {x: 24, y: 25}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -2201,9 +2337,9 @@ MonoBehaviour:
m_AudioPlay: 0
m_DebugDrawModesUseInteractiveLightBakingData: 0
m_Position:
m_Target: {x: 960, y: 540, z: 0}
m_Target: {x: -0.20674646, y: -1.7343022, z: 0.9531889}
speed: 2
m_Value: {x: 0, y: 1, z: -10}
m_Value: {x: -0.20674646, y: -1.7343022, z: 0.9531889}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@ -2236,7 +2372,7 @@ MonoBehaviour:
m_Value: 1
m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
m_Pivot: {x: 0, y: 0, z: 0}
m_Size: {x: 0.1, y: 0.1}
m_Size: {x: 1, y: 1}
zGrid:
m_Fade:
m_Target: 0
@ -2249,13 +2385,13 @@ MonoBehaviour:
m_GridAxis: 1
m_gridOpacity: 0.5
m_Rotation:
m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
m_Target: {x: 0.24075477, y: -0.10111068, z: 0.02522438, w: 0.96498036}
speed: 2
m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
m_Value: {x: -0.24075477, y: 0.10111068, z: -0.02522438, w: -0.9649803}
m_Size:
m_Target: 390.51248
m_Target: 2.9988112
speed: 2
m_Value: 12.124355
m_Value: 2.9988112
m_Ortho:
m_Target: 0
speed: 2
@ -2312,8 +2448,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 24
width: 1042
height: 863
width: 817
height: 830
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -2369,10 +2505,10 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 21
width: 1042
height: 886
m_Scale: {x: 0.54270834, y: 0.54270834}
m_Translation: {x: 521, y: 443}
width: 817
height: 809
m_Scale: {x: 0.42552084, y: 0.42552084}
m_Translation: {x: 408.5, y: 404.5}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
@ -2380,12 +2516,12 @@ MonoBehaviour:
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -960
y: -816.27637
y: -950.59973
width: 1920
height: 1632.5527
height: 1901.1995
m_MinimalGUI: 1
m_defaultScale: 0.54270834
m_LastWindowPixelSize: {x: 1042, y: 907}
m_defaultScale: 0.42552084
m_LastWindowPixelSize: {x: 817, y: 830}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000