Lots of fixes and changes
38
Assets/InputSystem.inputsettings.asset
Normal file
@ -0,0 +1,38 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
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: c46f07b5ed07e4e92aa78254188d3d10, type: 3}
|
||||
m_Name: InputSystem.inputsettings
|
||||
m_EditorClassIdentifier:
|
||||
m_SupportedDevices: []
|
||||
m_UpdateMode: 1
|
||||
m_ScrollDeltaBehavior: 0
|
||||
m_MaxEventBytesPerUpdate: 5242880
|
||||
m_MaxQueuedEventsPerUpdate: 1000
|
||||
m_CompensateForScreenOrientation: 1
|
||||
m_BackgroundBehavior: 0
|
||||
m_EditorInputBehaviorInPlayMode: 0
|
||||
m_InputActionPropertyDrawerMode: 0
|
||||
m_DefaultDeadzoneMin: 0.125
|
||||
m_DefaultDeadzoneMax: 0.925
|
||||
m_DefaultButtonPressPoint: 0.5
|
||||
m_ButtonReleaseThreshold: 0.75
|
||||
m_DefaultTapTime: 0.2
|
||||
m_DefaultSlowTapTime: 0.5
|
||||
m_DefaultHoldTime: 0.4
|
||||
m_TapRadius: 5
|
||||
m_MultiTapDelayTime: 0.75
|
||||
m_DisableRedundantEventsMerging: 0
|
||||
m_ShortcutKeysConsumeInputs: 0
|
||||
m_iOSSettings:
|
||||
m_MotionUsage:
|
||||
m_Enabled: 0
|
||||
m_Description:
|
||||
8
Assets/InputSystem.inputsettings.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf6b6fd5471a43d40b76a4625c2f3b62
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -120,28 +120,6 @@
|
||||
"isComposite": true,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"id": "e2062cb9-1b15-46a2-838c-2f8d72a0bdd9",
|
||||
"path": "<Keyboard>/w",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Move",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": true
|
||||
},
|
||||
{
|
||||
"name": "up",
|
||||
"id": "8180e8bd-4097-4f4e-ab88-4523101a6ce9",
|
||||
"path": "<Keyboard>/upArrow",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "",
|
||||
"action": "Move",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": true
|
||||
},
|
||||
{
|
||||
"name": "down",
|
||||
"id": "320bffee-a40b-4347-ac70-c210eb8bc73a",
|
||||
@ -544,7 +522,7 @@
|
||||
"name": "Cancel",
|
||||
"type": "Button",
|
||||
"id": "15cef263-9014-4fd5-94d9-4e4a6234a6ef",
|
||||
"expectedControlType": "Button",
|
||||
"expectedControlType": "",
|
||||
"processors": "",
|
||||
"interactions": "",
|
||||
"initialStateCheck": false
|
||||
@ -611,6 +589,15 @@
|
||||
"processors": "",
|
||||
"interactions": "",
|
||||
"initialStateCheck": false
|
||||
},
|
||||
{
|
||||
"name": "Fullscreen",
|
||||
"type": "Button",
|
||||
"id": "79689455-6cf3-48f0-b2c6-66e0ff5f27a8",
|
||||
"expectedControlType": "",
|
||||
"processors": "",
|
||||
"interactions": "",
|
||||
"initialStateCheck": false
|
||||
}
|
||||
],
|
||||
"bindings": [
|
||||
@ -1031,6 +1018,17 @@
|
||||
"action": "TrackedDeviceOrientation",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "ebb2a970-4934-4c83-bb43-9b2bd076199b",
|
||||
"path": "<Keyboard>/f11",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": ";Keyboard&Mouse",
|
||||
"action": "Fullscreen",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,5 +1,31 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-5973356747398055219
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Death
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: d387094ed7eb19d47bc8eadd5993185e, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter: Speed
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter: Speed
|
||||
--- !u!1107 &-3338463078668509953
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
@ -15,6 +41,9 @@ AnimatorStateMachine:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 2494664430871487251}
|
||||
m_Position: {x: 30, y: 240, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -5973356747398055219}
|
||||
m_Position: {x: 350, y: 180, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
||||
@ -1354,7 +1354,7 @@ AnimationClip:
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
|
||||
@ -132,6 +132,9 @@ AnimatorStateMachine:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -234086058997577863}
|
||||
m_Position: {x: 520, y: 60, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -4551320674845357304}
|
||||
m_Position: {x: 419.02585, y: 157.82312, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: -4357743603330148193}
|
||||
@ -143,6 +146,32 @@ AnimatorStateMachine:
|
||||
m_ExitPosition: {x: 540, y: -120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 3687052423515968881}
|
||||
--- !u!1102 &-4551320674845357304
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Death
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 8b334f6c4d259f540b51f5714750248e, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-4524273695638566384
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -282,7 +311,7 @@ AnimatorState:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Jump Landing
|
||||
m_Speed: 3
|
||||
m_Speed: 5
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -4524273695638566384}
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!62 &6200000
|
||||
PhysicsMaterial2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: NoFrictionNoBounciness
|
||||
serializedVersion: 2
|
||||
friction: 0
|
||||
bounciness: 0
|
||||
m_FrictionCombine: 1
|
||||
m_BounceCombine: 3
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef73745564211ee48acbe78dd6b6d123
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 6200000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -81,7 +81,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: f005ea36a25360f448c5209ca82941b5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
projectilePrefab: {fileID: -4497857136159010500, guid: 6aec5580e6fdb3444ac411544f10714d, type: 3}
|
||||
projectilePrefab: {fileID: -7989557871638947772, guid: 6aec5580e6fdb3444ac411544f10714d, type: 3}
|
||||
projectileLifetime: 1
|
||||
throwCooldown: 3
|
||||
throwSpeed: 20
|
||||
throwSpeed: 10
|
||||
|
||||
@ -2603,7 +2603,7 @@ Rigidbody2D:
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.05
|
||||
m_GravityScale: 10
|
||||
m_Material: {fileID: 6200000, guid: be34b14ed2876354d9864a6e677e5d67, type: 2}
|
||||
m_Material: {fileID: 6200000, guid: ef73745564211ee48acbe78dd6b6d123, type: 2}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
@ -2624,7 +2624,7 @@ CapsuleCollider2D:
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 6200000, guid: be34b14ed2876354d9864a6e677e5d67, type: 2}
|
||||
m_Material: {fileID: 6200000, guid: ef73745564211ee48acbe78dd6b6d123, type: 2}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
@ -2663,6 +2663,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 0bc7d3e0d74d74448be804ed4f109e23, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
moveAction: {fileID: -1680190386980627800, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
|
||||
jumpAction: {fileID: -2099379676528639254, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
|
||||
moveSpeed: 9
|
||||
accel: 100
|
||||
decel: 30
|
||||
@ -2683,7 +2685,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 4e22b17be0e015040bb8efb0e96fa590, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
projectilePrefab: {fileID: 0}
|
||||
fireButton: {fileID: 5543754354036874770, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
|
||||
projectilePrefab: {fileID: 4169089013277977673, guid: 7fd3a37dc702ece42b51e5867473f0ff, type: 3}
|
||||
spawnIfMissing: 0
|
||||
throwSpeed: 20
|
||||
attachPoint: {fileID: 6550761234593413718}
|
||||
|
||||
@ -11,9 +11,9 @@ GameObject:
|
||||
- component: {fileID: 8204021653063603523}
|
||||
- component: {fileID: 5039366343268462424}
|
||||
- component: {fileID: 3223988708429247924}
|
||||
- component: {fileID: -4497857136159010500}
|
||||
- component: {fileID: -7989557871638947772}
|
||||
m_Layer: 0
|
||||
m_Name: BasicProjectile_Knife
|
||||
m_Name: EnemyBasicProjectile
|
||||
m_TagString: EnemyProjectile
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@ -96,10 +96,10 @@ CapsuleCollider2D:
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0.66, y: 0}
|
||||
m_Size: {x: 3.1, y: 0.65}
|
||||
m_Offset: {x: 0.55, y: 0}
|
||||
m_Size: {x: 2.8, y: 0.65}
|
||||
m_Direction: 1
|
||||
--- !u!114 &-4497857136159010500
|
||||
--- !u!114 &-7989557871638947772
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -108,23 +108,9 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 6300779947181808680}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dd23834261ccea64f9dee185aec1c335, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 735a1449e587f5043b0f7dba39b14c86, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
initialSpeed: 15
|
||||
maxLifetime: 5
|
||||
hitLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
maxPierce: 0
|
||||
useGravity: 0
|
||||
gravityScale: 1
|
||||
hitVfxPrefab: {fileID: 0}
|
||||
hitSfx: {fileID: 0}
|
||||
sfxVolume: 1
|
||||
alignRotationToVelocity: 1
|
||||
knockback: 0
|
||||
owner: {fileID: 0}
|
||||
--- !u!1 &8420934987544802596
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -27,7 +27,7 @@ Transform:
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 2, y: 2, z: 2}
|
||||
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 545129323297949019}
|
||||
@ -96,9 +96,9 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 545129323297949019}
|
||||
- component: {fileID: 6653117729701884941}
|
||||
- component: {fileID: -5514699390522382162}
|
||||
- component: {fileID: 2578964165629714180}
|
||||
- component: {fileID: 6653117729701884941}
|
||||
m_Layer: 0
|
||||
m_Name: RotatingAxe
|
||||
m_TagString: Untagged
|
||||
@ -122,33 +122,6 @@ Transform:
|
||||
- {fileID: 7385878452865319771}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &-5514699390522382162
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8684604728942303326}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c9bf14759f50fe840881e3893e823b55, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &2578964165629714180
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8684604728942303326}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bb46007bd79608e4587a7ecfbcc3b237, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
angleX: 0
|
||||
angleY: 0
|
||||
angleZ: 2.5
|
||||
--- !u!70 &6653117729701884941
|
||||
CapsuleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -186,3 +159,30 @@ CapsuleCollider2D:
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Size: {x: 4.4, y: 1.4}
|
||||
m_Direction: 1
|
||||
--- !u!114 &-5514699390522382162
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8684604728942303326}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c9bf14759f50fe840881e3893e823b55, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &2578964165629714180
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8684604728942303326}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bb46007bd79608e4587a7ecfbcc3b237, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
angleX: 0
|
||||
angleY: 0
|
||||
angleZ: 2.5
|
||||
|
||||
@ -69,8 +69,8 @@ CapsuleCollider2D:
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0, y: -1.27}
|
||||
m_Size: {x: 2, y: 3.2}
|
||||
m_Offset: {x: 0, y: -1.29}
|
||||
m_Size: {x: 2, y: 3.17}
|
||||
m_Direction: 0
|
||||
--- !u!114 &3064008371871130008
|
||||
MonoBehaviour:
|
||||
@ -130,7 +130,7 @@ Transform:
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -1.275, z: 0}
|
||||
m_LocalScale: {x: 2, y: 2, z: 2}
|
||||
m_LocalScale: {x: 0.21, y: 0.21, z: 0.21}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5436562580517533349}
|
||||
|
||||
8
Assets/Resources/Prefabs/UI.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4525604a898deee40af8f6412e234c84
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
319
Assets/Resources/Prefabs/UI/LevelButton.prefab
Normal file
@ -0,0 +1,319 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1758083603916175787
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7082477975537308933}
|
||||
- component: {fileID: 6418208233271057322}
|
||||
- component: {fileID: -2647512120749192222}
|
||||
m_Layer: 0
|
||||
m_Name: LevelButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7082477975537308933
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1758083603916175787}
|
||||
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: 4651342010868548259}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6418208233271057322
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1758083603916175787}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &-2647512120749192222
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1758083603916175787}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1946d57c5f8c8f44f95566482d38dfb3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
title: {fileID: 2985328858931436486}
|
||||
btn: {fileID: 7403115420713256969}
|
||||
--- !u!1 &2307937535396352836
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7969020585539137307}
|
||||
- component: {fileID: 2544164544592874034}
|
||||
- component: {fileID: 2985328858931436486}
|
||||
m_Layer: 0
|
||||
m_Name: Text (TMP)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7969020585539137307
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2307937535396352836}
|
||||
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: 4651342010868548259}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2544164544592874034
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2307937535396352836}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2985328858931436486
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2307937535396352836}
|
||||
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: 1-1
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 5302535af1044152a457ed104f1f4b91, type: 2}
|
||||
m_sharedMaterial: {fileID: 2164040, guid: 5302535af1044152a457ed104f1f4b91, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 48
|
||||
m_fontSizeBase: 48
|
||||
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_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &7033118707232536323
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4651342010868548259}
|
||||
- component: {fileID: 739767321169741777}
|
||||
- component: {fileID: 4558843671109735324}
|
||||
- component: {fileID: 7403115420713256969}
|
||||
m_Layer: 0
|
||||
m_Name: Button
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4651342010868548259
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7033118707232536323}
|
||||
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: 7969020585539137307}
|
||||
m_Father: {fileID: 7082477975537308933}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &739767321169741777
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7033118707232536323}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4558843671109735324
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7033118707232536323}
|
||||
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: -8111322212487550922, guid: 31b2877e77610584cac3a41c46e85320, type: 3}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &7403115420713256969
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7033118707232536323}
|
||||
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: 4558843671109735324}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
7
Assets/Resources/Prefabs/UI/LevelButton.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 292805c897bde6f4fb6d6cfb3010ae3a
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -665,7 +665,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_FirstSelected: {fileID: 1065887709}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 10
|
||||
--- !u!4 &188101337
|
||||
@ -1308,7 +1308,7 @@ MonoBehaviour:
|
||||
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_SelectedColor: {r: 0.7764706, g: 0.7764706, b: 0.7764706, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
@ -1565,7 +1565,7 @@ MonoBehaviour:
|
||||
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_SelectedColor: {r: 0.7764706, g: 0.7764706, b: 0.7764706, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
@ -1635,6 +1635,8 @@ GameObject:
|
||||
- component: {fileID: 1388854596}
|
||||
- component: {fileID: 1388854595}
|
||||
- component: {fileID: 1388854594}
|
||||
- component: {fileID: 1388854599}
|
||||
- component: {fileID: 1388854598}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
@ -1726,6 +1728,40 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!114 &1388854598
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1388854593}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 55d821bd8bf8bb14c857f497ec6f2a0d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
close: {fileID: 7727032971491509709, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
|
||||
panel: {fileID: 1946308725}
|
||||
resumeButton: {fileID: 1065887711}
|
||||
quitButton: {fileID: 1294478665}
|
||||
--- !u!114 &1388854599
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1388854593}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1dbf0fd3a12f9564d9e8c9d2008d2e8f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
livesCount: 0
|
||||
coinsCount: 0
|
||||
levelNumber:
|
||||
livesText: {fileID: 250473979}
|
||||
coinsText: {fileID: 122148826}
|
||||
levelText: {fileID: 1162184471}
|
||||
--- !u!1 &1527626192
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1940,7 +1976,6 @@ GameObject:
|
||||
- component: {fileID: 1946308721}
|
||||
- component: {fileID: 1946308723}
|
||||
- component: {fileID: 1946308722}
|
||||
- component: {fileID: 1946308724}
|
||||
- component: {fileID: 1946308725}
|
||||
m_Layer: 5
|
||||
m_Name: PausePanel
|
||||
@ -2007,21 +2042,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1946308720}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1946308724
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1946308720}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 55d821bd8bf8bb14c857f497ec6f2a0d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
panel: {fileID: 1946308725}
|
||||
resumeButton: {fileID: 1065887711}
|
||||
quitButton: {fileID: 1294478665}
|
||||
--- !u!225 &1946308725
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2046,7 +2066,6 @@ GameObject:
|
||||
- component: {fileID: 2068040776}
|
||||
- component: {fileID: 2068040775}
|
||||
- component: {fileID: 2068040774}
|
||||
- component: {fileID: 2068040777}
|
||||
m_Layer: 5
|
||||
m_Name: TopPanel
|
||||
m_TagString: Untagged
|
||||
@ -2139,24 +2158,6 @@ Canvas:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!114 &2068040777
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2068040772}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1dbf0fd3a12f9564d9e8c9d2008d2e8f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
livesCount: 0
|
||||
coinsCount: 0
|
||||
levelNumber:
|
||||
livesText: {fileID: 250473979}
|
||||
coinsText: {fileID: 122148826}
|
||||
levelText: {fileID: 1162184471}
|
||||
--- !u!1 &2082762285
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
168980
Assets/Resources/Scenes/Levels/1-5.unity
Normal file
7
Assets/Resources/Scenes/Levels/1-5.unity.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b63c94138b89518459c618e66e063850
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
218
Assets/Resources/Scenes/Levels/2-1.unity
Normal file
@ -0,0 +1,218 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 10
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 3
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 13
|
||||
m_BakeOnSceneLoad: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 0
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 1
|
||||
m_PVRFilteringGaussRadiusAO: 1
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &1317173644
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1317173647}
|
||||
- component: {fileID: 1317173646}
|
||||
- component: {fileID: 1317173645}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &1317173645
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1317173644}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &1317173646
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1317173644}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 1
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &1317173647
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1317173644}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 1317173647}
|
||||
7
Assets/Resources/Scenes/Levels/2-1.unity.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 86bb899abf617614ea731dfb70ed822e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
6
Assets/Resources/Scripts/Abstract/IBouncy.cs
Normal file
@ -0,0 +1,6 @@
|
||||
using UnityEngine;
|
||||
|
||||
public interface IBouncy
|
||||
{
|
||||
public bool TryBounce(Collision2D collision);
|
||||
}
|
||||
2
Assets/Resources/Scripts/Abstract/IBouncy.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 847009d73357dff4b9eecc3544331c9a
|
||||
12
Assets/Resources/Scripts/Abstract/ILauchable.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using UnityEngine;
|
||||
|
||||
public interface ILauchable
|
||||
{
|
||||
/// <summary>
|
||||
/// Метод для запуска объекта как снаряд
|
||||
/// </summary>
|
||||
/// <param name="direction">Направление запуска</param>
|
||||
/// <param name="speed">Скорость запуска</param>
|
||||
/// <param name="owner">Владелец</param>
|
||||
public void Launch(Vector2 direction, float speed, GameObject owner);
|
||||
}
|
||||
2
Assets/Resources/Scripts/Abstract/ILauchable.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 81cf0790d7ea99d42808e924b32bf042
|
||||
6
Assets/Resources/Scripts/Abstract/IPickable.cs
Normal file
@ -0,0 +1,6 @@
|
||||
using UnityEngine;
|
||||
|
||||
public interface IPickable
|
||||
{
|
||||
public bool TryPickup(GameObject newOwner, Transform attachPoint = null);
|
||||
}
|
||||
2
Assets/Resources/Scripts/Abstract/IPickable.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0dcc6d4619228494fac3da9f768fb2cb
|
||||
4
Assets/Resources/Scripts/Abstract/IRecallable.cs
Normal file
@ -0,0 +1,4 @@
|
||||
public interface IRecallable
|
||||
{
|
||||
public void Recall();
|
||||
}
|
||||
2
Assets/Resources/Scripts/Abstract/IRecallable.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cf6adbb036b554543bbd9c373ce32a67
|
||||
@ -6,12 +6,12 @@ namespace RR.Game2D.Core
|
||||
public class CameraFollow2D : MonoBehaviour
|
||||
{
|
||||
[Header("Follow")]
|
||||
public float damping = 1.5f;
|
||||
public Vector2 offset = new(2f, 1f);
|
||||
public bool faceLeft;
|
||||
[SerializeField, Min(0)] private float damping = 1.5f;
|
||||
[SerializeField] private Vector2 offset = new(2f, 1f);
|
||||
[SerializeField] private bool faceLeft;
|
||||
|
||||
[Header("Behaviour")]
|
||||
public bool snapOnFound = true;
|
||||
[SerializeField] private bool snapOnFound = true;
|
||||
|
||||
private Transform player;
|
||||
private float lastX;
|
||||
@ -33,8 +33,9 @@ namespace RR.Game2D.Core
|
||||
if (!player) return; // ждём появления
|
||||
|
||||
float currentX = player.position.x;
|
||||
if (currentX > lastX + 0.01f) faceLeft = false;
|
||||
else if (currentX < lastX - 0.01f) faceLeft = true;
|
||||
//if (currentX > lastX + 0.01f) faceLeft = false;
|
||||
//else if (currentX < lastX - 0.01f) faceLeft = true;
|
||||
faceLeft = Mathf.Abs(player.localEulerAngles.y) >= 180 ? true : false;
|
||||
lastX = currentX;
|
||||
|
||||
Vector3 target = player.position;
|
||||
|
||||
@ -1,10 +1,14 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using RR.Game2D.Entities.Projectiles;
|
||||
|
||||
namespace RR.Game2D.Behaviour
|
||||
{
|
||||
public class PlayerFireScript : MonoBehaviour
|
||||
{
|
||||
[Header("Управление")]
|
||||
[SerializeField] private InputActionReference fireButton;
|
||||
|
||||
[Header("Снаряд")]
|
||||
[SerializeField] private PickableProjectile projectilePrefab;
|
||||
public bool spawnIfMissing = false;
|
||||
@ -23,7 +27,8 @@ namespace RR.Game2D.Behaviour
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (!Input.GetButtonDown("Fire1")) return;
|
||||
//if (!Input.GetButtonDown("Fire1")) return;
|
||||
if (!fireButton.action.WasPressedThisFrame()) return;
|
||||
|
||||
if (pickableProjectile == null)
|
||||
pickableProjectile = PickableProjectile.Instance;
|
||||
@ -51,8 +56,7 @@ namespace RR.Game2D.Behaviour
|
||||
/// </summary>
|
||||
private void Throw()
|
||||
{
|
||||
float scaleX = transform.localScale.x;
|
||||
float facing = Mathf.Sign(scaleX == 0 ? 1 : scaleX);
|
||||
float facing = Mathf.Abs(transform.localEulerAngles.y) >= 180 ? -1 : 1;
|
||||
Vector2 direction = facing > 0 ? Vector2.right : Vector2.left;
|
||||
Vector2 launchPos = (Vector2)transform.position + new Vector2(1.4f * facing, 0);
|
||||
|
||||
|
||||
@ -118,6 +118,7 @@ namespace RR.Game2D.Behaviour
|
||||
|
||||
public void Die()
|
||||
{
|
||||
//animator.Play("Death", 0); // TODO: Анимация смерти, потом смерть
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
public class GlobalFullscreenHotkey : MonoBehaviour
|
||||
{
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
||||
static void Bootstrap()
|
||||
{
|
||||
var go = new GameObject("GlobalFullscreenHotkey");
|
||||
go.AddComponent<GlobalFullscreenHotkey>();
|
||||
Object.DontDestroyOnLoad(go);
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
var kb = Keyboard.current;
|
||||
if (kb == null) return;
|
||||
|
||||
bool f11 = kb.f11Key.wasPressedThisFrame;
|
||||
bool altEnter = kb.enterKey.wasPressedThisFrame && (kb.leftAltKey.isPressed || kb.rightAltKey.isPressed);
|
||||
|
||||
if (f11 || altEnter) Toggle();
|
||||
}
|
||||
|
||||
static void Toggle()
|
||||
{
|
||||
bool fs = !Screen.fullScreen;
|
||||
Screen.fullScreenMode = fs ? FullScreenMode.FullScreenWindow : FullScreenMode.Windowed;
|
||||
|
||||
if (fs)
|
||||
{
|
||||
Screen.SetResolution(Display.main.systemWidth, Display.main.systemHeight, true);
|
||||
Screen.fullScreen = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
int w = Mathf.RoundToInt(Display.main.systemWidth * 0.5f);
|
||||
int h = Mathf.RoundToInt(Display.main.systemHeight * 0.5f);
|
||||
Screen.fullScreen = false;
|
||||
Screen.SetResolution(w, h, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -14,6 +14,9 @@ namespace RR.Game2D.Core
|
||||
public bool IsPaused { get; private set; }
|
||||
public event Action<bool> PauseStateChanged;
|
||||
|
||||
[Header("Базовые настройки игры")]
|
||||
[SerializeField] private int maxLives = 3;
|
||||
|
||||
[Header("Информация для игры")]
|
||||
public int World { get; private set; } = 1;
|
||||
public int Stage { get; private set; } = 1;
|
||||
@ -107,7 +110,7 @@ namespace RR.Game2D.Core
|
||||
/// </summary>
|
||||
public void NewGame()
|
||||
{
|
||||
Lives = 3;
|
||||
Lives = maxLives;
|
||||
Coins = 0;
|
||||
CoinsChanged?.Invoke(Coins);
|
||||
LoadLevel(1, 1);
|
||||
@ -118,7 +121,11 @@ namespace RR.Game2D.Core
|
||||
/// Окончание игры.
|
||||
/// Загружает сцену главного меню
|
||||
/// </summary>
|
||||
public void GameOver() => LoadScene("MainMenu", false);
|
||||
public void GameOver() // => LoadScene("MainMenu", false);
|
||||
{
|
||||
LoadScene("MainMenu", false);
|
||||
Lives = maxLives;
|
||||
}
|
||||
// --
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
using UnityEngine;
|
||||
using RR.Game2D.Core;
|
||||
using RR.Game2D.Core;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace RR.Game2D.Behaviour
|
||||
{
|
||||
@ -9,6 +10,9 @@ namespace RR.Game2D.Behaviour
|
||||
typeof(Animator))]
|
||||
public class PlayerController : MonoBehaviour
|
||||
{
|
||||
[Header("Управление")]
|
||||
[SerializeField] private InputActionReference moveAction; // Value(Vector2), например "Move" (A/D, ←/→, stick)
|
||||
[SerializeField] private InputActionReference jumpAction;
|
||||
|
||||
[Header("Горизонтальное движение")]
|
||||
[SerializeField] private float moveSpeed = 8f;
|
||||
@ -21,8 +25,6 @@ namespace RR.Game2D.Behaviour
|
||||
[SerializeField] private float jumpBuffer = 0.1f;
|
||||
[SerializeField, Range(0f, 1f)] private float jumpCut = 0.5f;
|
||||
|
||||
private float spriteScale = 0.35f;
|
||||
|
||||
private Rigidbody2D rb;
|
||||
private Collider2D col;
|
||||
|
||||
@ -35,6 +37,18 @@ namespace RR.Game2D.Behaviour
|
||||
[Header("Аниматор [Опционально]")]
|
||||
[SerializeField] private Animator animator; // оставить в инспекторе на всякий случай
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
moveAction?.action.Enable();
|
||||
jumpAction?.action.Enable();
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
moveAction?.action.Disable();
|
||||
jumpAction?.action.Disable();
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
rb = GetComponent<Rigidbody2D>();
|
||||
@ -54,20 +68,29 @@ namespace RR.Game2D.Behaviour
|
||||
|
||||
void Update()
|
||||
{
|
||||
// Передвижение
|
||||
inputX = Input.GetAxisRaw("Horizontal");
|
||||
//// Передвижение
|
||||
//inputX = Input.GetAxisRaw("Horizontal");
|
||||
|
||||
//if (Input.GetButtonDown("Jump"))
|
||||
////if (Input.GetButtonDown("Jump"))
|
||||
//// lastJumpPressedTime = Time.time;
|
||||
|
||||
//if (Input.GetButton("Jump"))
|
||||
// lastJumpPressedTime = Time.time;
|
||||
|
||||
if (Input.GetButton("Jump"))
|
||||
//if (Input.GetButtonUp("Jump")) // && rb.linearVelocity.y > 0f)
|
||||
// rb.linearVelocity = new Vector2(rb.linearVelocity.x, rb.linearVelocity.y * jumpCut);
|
||||
|
||||
Vector2 move = moveAction ? moveAction.action.ReadValue<Vector2>() : Vector2.zero;
|
||||
inputX = Mathf.Abs(move.x) > 0.01f ? Mathf.Sign(move.x) : 0f;
|
||||
|
||||
if (jumpAction && jumpAction.action.IsPressed())
|
||||
lastJumpPressedTime = Time.time;
|
||||
|
||||
if (Input.GetButtonUp("Jump")) // && rb.linearVelocity.y > 0f)
|
||||
if (jumpAction && jumpAction.action.WasReleasedThisFrame())
|
||||
rb.linearVelocity = new Vector2(rb.linearVelocity.x, rb.linearVelocity.y * jumpCut);
|
||||
|
||||
if (inputX != 0f)
|
||||
transform.localScale = new Vector3(Mathf.Sign(inputX) * spriteScale, spriteScale, spriteScale);
|
||||
transform.localEulerAngles = Mathf.Sign(inputX) > 0 ? Vector3.zero : new Vector3(0, 180f, 0);
|
||||
|
||||
if (IsGrounded) lastGroundedTime = Time.time;
|
||||
|
||||
@ -139,7 +162,7 @@ namespace RR.Game2D.Behaviour
|
||||
bool Grounded()
|
||||
{
|
||||
RaycastHit2D hit = Physics2D.CircleCast(new Vector2(col.bounds.center.x, col.bounds.min.y), 0.01f, Vector2.down, 0.1f);
|
||||
bool isGrounded = hit.collider != null;
|
||||
bool isGrounded = hit.collider != null && hit.collider.CompareTag("Ground");
|
||||
|
||||
animator.SetBool("Jump", !isGrounded);
|
||||
|
||||
|
||||
@ -1,39 +1,30 @@
|
||||
using UnityEngine;
|
||||
using RR.Game2D.Core;
|
||||
using RR.Game2D.Behaviour;
|
||||
|
||||
namespace RR.Game2D.Entities.Projectiles
|
||||
{
|
||||
public class BasicProjectile : Projectile2D
|
||||
{
|
||||
protected override void OnHit(Collision2D target, Vector2 point, Vector2 relativeVelocity)
|
||||
protected override void Awake()
|
||||
{
|
||||
//var health = target.GetComponentInParent<Health>();
|
||||
//if (health != null)
|
||||
//{
|
||||
// health.ApplyDamage(damage);
|
||||
base.Awake();
|
||||
|
||||
// if (knockback > 0f)
|
||||
// {
|
||||
// var targetRb = target.attachedRigidbody;
|
||||
// if (targetRb != null)
|
||||
// {
|
||||
// var dir = relativeVelocity.sqrMagnitude > 0.0001f
|
||||
// ? relativeVelocity.normalized
|
||||
// : (Vector2)(target.transform.position - transform.position).normalized;
|
||||
|
||||
// targetRb.AddForce(dir * knockback, ForceMode2D.Impulse);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
var player = GameManager.Instance.PlayerObj;
|
||||
|
||||
if (target.collider.CompareTag("Player"))
|
||||
player.GetComponent<PlayerController>().Die();
|
||||
else if (target.collider.CompareTag("Projectile") || target.collider.CompareTag("Enemy"))
|
||||
Despawn();
|
||||
|
||||
base.OnHit(target, point, relativeVelocity);
|
||||
rb.bodyType = RigidbodyType2D.Kinematic;
|
||||
col.isTrigger = false;
|
||||
}
|
||||
|
||||
//protected override void OnHit(Collision2D target, Vector2 point, Vector2 relativeVelocity)
|
||||
//{
|
||||
//var player = GameManager.Instance.PlayerObj;
|
||||
|
||||
//if (target.collider.CompareTag("Player"))
|
||||
// player.GetComponent<PlayerController>().Die();
|
||||
//else if (target.collider.CompareTag("Projectile") || target.collider.CompareTag("Enemy"))
|
||||
// Despawn();
|
||||
|
||||
// if (!target.collider.CompareTag(owner.tag))
|
||||
// Despawn();
|
||||
|
||||
// base.OnHit(target, point, relativeVelocity);
|
||||
//}
|
||||
}
|
||||
}
|
||||
32
Assets/Resources/Scripts/Projectiles/EnemyBasicProjectile.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using UnityEngine;
|
||||
using RR.Game2D.Core;
|
||||
using RR.Game2D.Behaviour;
|
||||
|
||||
namespace RR.Game2D.Entities.Projectiles
|
||||
{
|
||||
public class EnemyBasicProjectile : BasicProjectile
|
||||
{
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
|
||||
rb.bodyType = RigidbodyType2D.Dynamic;
|
||||
rb.gravityScale = 0;
|
||||
}
|
||||
protected override void OnHit(Collision2D target, Vector2 point, Vector2 relativeVelocity)
|
||||
{
|
||||
var player = GameManager.Instance.PlayerObj;
|
||||
|
||||
Debug.Log("EnemyProjectile collision");
|
||||
if (target.collider.CompareTag("Player"))
|
||||
{
|
||||
Debug.Log("Collision is Player");
|
||||
player.GetComponent<PlayerController>().Die();
|
||||
}
|
||||
else if (target.collider.CompareTag("Projectile") || target.collider.CompareTag("Enemy"))
|
||||
Despawn();
|
||||
|
||||
base.OnHit(target, point, relativeVelocity);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 735a1449e587f5043b0f7dba39b14c86
|
||||
@ -4,14 +4,20 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
{
|
||||
public class PhysicsProjectile : BasicProjectile
|
||||
{
|
||||
protected override void OnEnable()
|
||||
//protected override void OnEnable()
|
||||
//{
|
||||
// remainingPierce = maxPierce;
|
||||
// if (maxLifetime > 0f)
|
||||
// Invoke(nameof(Despawn), maxLifetime);
|
||||
//}
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
remainingPierce = maxPierce;
|
||||
if (maxLifetime > 0f)
|
||||
Invoke(nameof(Despawn), maxLifetime);
|
||||
base.Awake();
|
||||
rb.bodyType = RigidbodyType2D.Dynamic;
|
||||
}
|
||||
|
||||
public override void Launch(Vector2 direction, float speed = -1f, GameObject owner = null, float ignoreOwnerTime = 0.1f)
|
||||
public override void Launch(Vector2 direction, float speed = -1f, GameObject owner = null)
|
||||
{
|
||||
this.owner = owner;
|
||||
launched = true;
|
||||
|
||||
@ -7,7 +7,7 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
[DisallowMultipleComponent]
|
||||
[RequireComponent(typeof(Rigidbody2D),
|
||||
typeof(Collider2D))]
|
||||
public class PickableProjectile : Projectile2D
|
||||
public class PickableProjectile : PhysicsProjectile, IPickable, IBouncy, IRecallable
|
||||
{
|
||||
public static PickableProjectile Instance { get; private set; }
|
||||
|
||||
@ -18,19 +18,17 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
[SerializeField] private Vector3 heldLocalOffset = new(0.25f, 0.1f, 0f);
|
||||
[SerializeField] private float heldScale = 1.5f;
|
||||
[SerializeField] private float ignoreOwnerTimeOnThrow = 0.1f;
|
||||
[SerializeField] private string attachPointChildName = "HandPoint";
|
||||
|
||||
[Header("Приземление")]
|
||||
[SerializeField] private float groundVelocity = 0.05f;
|
||||
[SerializeField] private float groundVelocity = 0.1f;
|
||||
[SerializeField] private bool lockWhenLanded = true;
|
||||
|
||||
[Header("Отскоки")]
|
||||
[SerializeField] private int maxBounces = 3;
|
||||
[SerializeField] private float minBounceSpeed = 0.8f;
|
||||
[SerializeField, Range(0f, 1f)] private float restitution = 0.6f;
|
||||
[SerializeField, Range(0f, 1f)] private float tangentDamping = 0.85f;
|
||||
[SerializeField] private float stickDelayAfterImpact = 0.03f;
|
||||
|
||||
[Header("Возврат")]
|
||||
[Tooltip("Старт возврата, если дальше этой дистанции от точки руки.")]
|
||||
[SerializeField] private float recallStartDistance = 8f;
|
||||
[Tooltip("На этой дистанции от руки считаем, что прилетел и подбираем.")]
|
||||
@ -39,7 +37,7 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
|
||||
[Header("Gizmos")]
|
||||
[SerializeField] private bool drawGizmos;
|
||||
[SerializeField] private Color gizmoColor = new Color(0.2f, 0.8f, 1f, 0.35f);
|
||||
[SerializeField] private Color gizmoColor = new (0.2f, 0.8f, 1f, 0.35f);
|
||||
|
||||
private Transform holderAttachPoint;
|
||||
private int bounceCounter = 0;
|
||||
@ -49,6 +47,10 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
private bool hadBeenHeld = false;
|
||||
private GameObject lastKnownHolder;
|
||||
|
||||
// -------------------------------------------
|
||||
// Методы Unity
|
||||
//
|
||||
|
||||
//---------------------------
|
||||
// Singleton
|
||||
//---------------------------
|
||||
@ -79,7 +81,7 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
col.isTrigger = false;
|
||||
|
||||
if (CurrentState != State.Held)
|
||||
BecomeGrounded(null);
|
||||
BecomeGrounded();
|
||||
}
|
||||
|
||||
//private void Update()
|
||||
@ -94,19 +96,43 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
if (!lockWhenLanded && CurrentState == State.Airborne)
|
||||
{
|
||||
if (rb.linearVelocity.sqrMagnitude < (groundVelocity * groundVelocity))
|
||||
BecomeGrounded(null);
|
||||
BecomeGrounded();
|
||||
}
|
||||
|
||||
if ((CurrentState == State.Airborne || CurrentState == State.Returning) && rb.linearVelocity.sqrMagnitude > 0.0001f)
|
||||
transform.up = rb.linearVelocity.normalized;
|
||||
|
||||
if (CurrentState == State.Airborne && rb.linearVelocity.magnitude < 0.1f)
|
||||
BecomeGrounded(null);
|
||||
if (CurrentState == State.Airborne && rb.linearVelocity.magnitude < groundVelocity)
|
||||
BecomeGrounded();
|
||||
|
||||
if (hadBeenHeld && CurrentState != State.Held)
|
||||
HandleRecallToPlayer();
|
||||
Recall();
|
||||
}
|
||||
|
||||
//protected override void OnCollisionEnter2D(Collision2D collision)
|
||||
//{
|
||||
// var otherRb = collision.rigidbody ? collision.rigidbody : collision.otherRigidbody;
|
||||
// var otherGO = (collision.collider ? collision.collider.attachedRigidbody?.gameObject : null)
|
||||
// ?? otherRb?.gameObject
|
||||
// ?? collision.gameObject;
|
||||
|
||||
// if (otherGO && otherGO.CompareTag("Player") && CurrentState != State.Held)
|
||||
// {
|
||||
// if (TryPickup(otherGO)) return;
|
||||
// }
|
||||
|
||||
// base.OnCollisionEnter2D(collision);
|
||||
|
||||
// if (CurrentState == State.Airborne)
|
||||
// {
|
||||
// if (TryBounce(collision))
|
||||
// lastImpactTime = Time.time;
|
||||
// else
|
||||
// BecomeGrounded(collision);
|
||||
|
||||
// }
|
||||
//}
|
||||
|
||||
protected override void OnCollisionEnter2D(Collision2D collision)
|
||||
{
|
||||
var otherRb = collision.rigidbody ? collision.rigidbody : collision.otherRigidbody;
|
||||
@ -124,13 +150,57 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
if (CurrentState == State.Airborne)
|
||||
{
|
||||
if (TryBounce(collision))
|
||||
{
|
||||
lastImpactTime = Time.time;
|
||||
else
|
||||
BecomeGrounded(collision);
|
||||
return;
|
||||
}
|
||||
|
||||
BecomeGrounded();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
// -------------------------------------------
|
||||
|
||||
// -------------------------------------------
|
||||
// Переопределенные методы родителей
|
||||
//
|
||||
|
||||
protected override void OnHit(Collision2D collision, Vector2 point, Vector2 relativeVelocity)
|
||||
{
|
||||
TryDealDamage(collision.collider, point, relativeVelocity);
|
||||
PlayFX(point);
|
||||
|
||||
//if (remainingPierce > 0)
|
||||
//{
|
||||
// remainingPierce--;
|
||||
// return;
|
||||
//}
|
||||
|
||||
OnImpactFinal(collision);
|
||||
}
|
||||
|
||||
protected override void OnImpactFinal(Collision2D collision)
|
||||
{
|
||||
if (!TryBounce(collision))
|
||||
BecomeGrounded();
|
||||
}
|
||||
|
||||
protected override void OnImpactFinal(Collider2D other)
|
||||
{
|
||||
if (Time.time - lastImpactTime > stickDelayAfterImpact)
|
||||
BecomeGrounded();
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
// -------------------------------------------
|
||||
|
||||
// -------------------------------------------
|
||||
// Подбор
|
||||
//
|
||||
|
||||
/// <summary>
|
||||
/// Метод для подбора снаряда игроком.
|
||||
/// Привязывает снаряд к точке привязки на игроке.
|
||||
@ -178,8 +248,8 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
/// </summary>
|
||||
/// <param name="holder">Игрок, который держит снаряд</param>
|
||||
/// <param name="preferred">Опциональная точка привязки. При передаче, снаряд будет привязан на нее</param>
|
||||
/// <returns>Transform attachPoint - точкка привязки</returns>
|
||||
private Transform ResolveAttachPoint(GameObject holder, Transform preferred = null)
|
||||
/// <returns>Transform attachPoint - точка привязки</returns>
|
||||
private Transform FindAttachPoint(GameObject holder, Transform preferred = null)
|
||||
{
|
||||
if (preferred) return preferred;
|
||||
|
||||
@ -189,7 +259,52 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
return holder.transform;
|
||||
}
|
||||
|
||||
public void Launch(Vector2 direction, float speed, GameObject throwOwner = null)
|
||||
//
|
||||
//
|
||||
// -------------------------------------------
|
||||
|
||||
// -------------------------------------------
|
||||
// Отскок
|
||||
//
|
||||
|
||||
/// <summary>
|
||||
/// Метод для просчета отскоков.
|
||||
/// </summary>
|
||||
/// <param name="collision">Коллизия, с которой столкнулся снаряд</param>
|
||||
/// <returns>bool isBounced - произошел ли отскок</returns>
|
||||
public bool TryBounce(Collision2D collision)
|
||||
{
|
||||
Debug.Log("TryBounce");
|
||||
if (Time.time - lastImpactTime < stickDelayAfterImpact) return true;
|
||||
|
||||
if (bounceCounter > maxBounces) return false;
|
||||
|
||||
Vector2 velocityIn = rb.linearVelocity;
|
||||
float speed = velocityIn.magnitude;
|
||||
|
||||
if (speed < minBounceSpeed) return false;
|
||||
|
||||
Vector2 direction = Vector2.Reflect(velocityIn, collision.contacts[0].normal);
|
||||
|
||||
rb.linearVelocity = col.sharedMaterial.bounciness * direction;
|
||||
|
||||
|
||||
if (collision.collider.CompareTag("Ground") || collision.collider.CompareTag("Trap"))
|
||||
bounceCounter++;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
// -------------------------------------------
|
||||
|
||||
|
||||
// -------------------------------------------
|
||||
// Запуск
|
||||
//
|
||||
|
||||
public override void Launch(Vector2 direction, float speed, GameObject throwOwner = null)
|
||||
{
|
||||
if (CurrentState == State.Held)
|
||||
transform.SetParent(null);//, worldPositionStays: true);
|
||||
@ -220,150 +335,15 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
bounceCounter = 0;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
// -------------------------------------------
|
||||
|
||||
protected override void OnImpactFinal(Collision2D collision)
|
||||
{
|
||||
if (!TryBounce(collision))
|
||||
BecomeGrounded(collision);
|
||||
}
|
||||
// -------------------------------------------
|
||||
// Возвращение
|
||||
//
|
||||
|
||||
protected override void OnImpactFinal(Collider2D other)
|
||||
{
|
||||
if (Time.time - lastImpactTime > stickDelayAfterImpact)
|
||||
BecomeGrounded(null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Метод для просчета отскоков.
|
||||
/// </summary>
|
||||
/// <param name="collision">Коллизия, с которой столкнулся снаряд</param>
|
||||
/// <returns>bool isBounced - произошел ли отскок</returns>
|
||||
private bool TryBounce(Collision2D collision)
|
||||
{
|
||||
if (Time.time - lastImpactTime < stickDelayAfterImpact)
|
||||
return true;
|
||||
|
||||
Vector2 velocityIn = rb.linearVelocity;
|
||||
float speed = velocityIn.magnitude;
|
||||
if (speed < minBounceSpeed) return false;
|
||||
|
||||
Vector2 normal;
|
||||
float impulseSum = 0f;
|
||||
float minSeparation = float.PositiveInfinity;
|
||||
|
||||
if (collision.contactCount > 0)
|
||||
{
|
||||
Vector2 sum = Vector2.zero;
|
||||
for (int i = 0; i < collision.contactCount; i++)
|
||||
{
|
||||
ContactPoint2D contactPoint = collision.GetContact(i);
|
||||
float impulse = Mathf.Max(0.0001f, Mathf.Abs(contactPoint.normalImpulse));
|
||||
sum += contactPoint.normal * impulse;
|
||||
impulseSum += impulse;
|
||||
if (contactPoint.separation < minSeparation) minSeparation = contactPoint.separation;
|
||||
}
|
||||
|
||||
normal = (impulseSum > 0f ? sum / impulseSum : sum);
|
||||
|
||||
if (normal.sqrMagnitude < 1e-6f) normal = Vector2.up;
|
||||
else normal.Normalize();
|
||||
}
|
||||
else
|
||||
{
|
||||
normal = Vector2.up;
|
||||
minSeparation = 0f;
|
||||
}
|
||||
|
||||
if (Vector2.Dot(velocityIn, normal) > 0f) normal = -normal;
|
||||
|
||||
float matBounciness = restitution;
|
||||
float frictionA = 0f, frictionB = 0f;
|
||||
|
||||
var projectileColMat = col ? col.sharedMaterial : null;
|
||||
if (projectileColMat)
|
||||
{
|
||||
matBounciness = Mathf.Max(matBounciness, projectileColMat.bounciness);
|
||||
frictionA = Mathf.Clamp01(projectileColMat.friction);
|
||||
}
|
||||
|
||||
var otherCol = collision.collider;
|
||||
if (otherCol)
|
||||
{
|
||||
var otherMat = otherCol.sharedMaterial;
|
||||
if (otherMat)
|
||||
{
|
||||
matBounciness = Mathf.Max(matBounciness, otherMat.bounciness);
|
||||
frictionB = Mathf.Clamp01(otherMat.friction);
|
||||
}
|
||||
}
|
||||
|
||||
float tangentFactor = (1f - frictionA) * (1f - frictionB) * Mathf.Clamp01(tangentDamping);
|
||||
|
||||
Vector2 velocityNormal = Vector2.Dot(velocityIn, normal) * normal;
|
||||
Vector2 velocityTangent = velocityIn - velocityNormal;
|
||||
|
||||
Vector2 velocityOut = (-velocityNormal) * matBounciness + velocityTangent * tangentFactor;
|
||||
|
||||
rb.linearVelocity = velocityOut;
|
||||
|
||||
float pushOut = 0.005f;
|
||||
if (minSeparation < 0f) pushOut = Mathf.Max(pushOut, -minSeparation + 0.001f);
|
||||
rb.position += normal * pushOut;
|
||||
|
||||
if (velocityOut.sqrMagnitude > 1e-6f)
|
||||
transform.up = velocityOut.normalized;
|
||||
|
||||
if (otherCol.CompareTag("Ground") || otherCol.CompareTag("Trap")) bounceCounter++;
|
||||
if (bounceCounter >= maxBounces)
|
||||
return false;
|
||||
|
||||
CurrentState = State.Airborne;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Метод для заморозки снаряда на земле.
|
||||
/// </summary>
|
||||
/// <param name="collision">Коллизия, с которой столкнулся снаряд</param>
|
||||
private void BecomeGrounded(Collision2D collision)
|
||||
{
|
||||
launched = false;
|
||||
CurrentState = State.Grounded;
|
||||
|
||||
if (lockWhenLanded)
|
||||
{
|
||||
rb.linearVelocity = Vector2.zero;
|
||||
rb.angularVelocity = 0f;
|
||||
rb.bodyType = RigidbodyType2D.Kinematic;
|
||||
}
|
||||
else
|
||||
{
|
||||
rb.bodyType = RigidbodyType2D.Dynamic;
|
||||
}
|
||||
|
||||
col.enabled = true;
|
||||
transform.SetParent(null, true);
|
||||
bounceCounter = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Метод для поиска точки привязки на игроке.
|
||||
/// </summary>
|
||||
/// <param name="owner">Объект игрока</param>
|
||||
/// <returns>Transform attachPoint - точка привязки</returns>
|
||||
private Transform FindAttachPoint(GameObject owner)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(attachPointChildName)) return null;
|
||||
var ownerTransform = owner.transform.Find(attachPointChildName);
|
||||
return ownerTransform;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Метод для обработки возвращения снаряда к игроку.
|
||||
/// При возвращении снаряд игнорирует любые коллизии.
|
||||
/// </summary>
|
||||
private void HandleRecallToPlayer()
|
||||
public void Recall()
|
||||
{
|
||||
GameObject playerGo = lastKnownHolder;
|
||||
|
||||
@ -374,7 +354,7 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
|
||||
if (!playerGo) return;
|
||||
|
||||
var attachPoint = ResolveAttachPoint(playerGo);
|
||||
var attachPoint = FindAttachPoint(playerGo);
|
||||
|
||||
bool isVisible = false;
|
||||
var mainCamera = Camera.main;
|
||||
@ -421,6 +401,43 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
TryPickup(playerGo);
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
// -------------------------------------------
|
||||
|
||||
// -------------------------------------------
|
||||
// Собственные незаисимые методы
|
||||
//
|
||||
|
||||
/// <summary>
|
||||
/// Метод для заморозки снаряда на земле.
|
||||
/// </summary>
|
||||
/// <param name="collision">Коллизия, с которой столкнулся снаряд</param>
|
||||
private void BecomeGrounded()
|
||||
{
|
||||
launched = false;
|
||||
CurrentState = State.Grounded;
|
||||
|
||||
if (lockWhenLanded)
|
||||
{
|
||||
rb.linearVelocity = Vector2.zero;
|
||||
rb.angularVelocity = 0f;
|
||||
rb.bodyType = RigidbodyType2D.Kinematic;
|
||||
}
|
||||
else
|
||||
{
|
||||
rb.bodyType = RigidbodyType2D.Dynamic;
|
||||
}
|
||||
|
||||
col.enabled = true;
|
||||
transform.SetParent(null, true);
|
||||
bounceCounter = 0;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
// -------------------------------------------
|
||||
|
||||
#if UNITY_EDITOR
|
||||
private void OnDrawGizmosSelected()
|
||||
{
|
||||
|
||||
@ -1,25 +1,23 @@
|
||||
// Projectile2D.cs
|
||||
using System.Collections;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RR.Game2D.Entities.Projectiles
|
||||
{
|
||||
[RequireComponent(typeof(Rigidbody2D), typeof(Collider2D))]
|
||||
public abstract class Projectile2D : MonoBehaviour
|
||||
public abstract class Projectile2D : MonoBehaviour, ILauchable
|
||||
{
|
||||
[Header("Скорость")]
|
||||
public float initialSpeed = 15f;
|
||||
|
||||
[Header("Скорость")]
|
||||
[Header("Базовые настройки")]
|
||||
[SerializeField] protected float initialSpeed = 15f;
|
||||
[SerializeField] protected float ignoreOwnerTime = 0.1f;
|
||||
public float maxLifetime = 5f;
|
||||
|
||||
[Header("Столкновения/пробивания")]
|
||||
public LayerMask hitLayers = ~0;
|
||||
public int maxPierce = 0;
|
||||
[SerializeField] protected LayerMask hitLayers = ~0;
|
||||
[SerializeField] protected int maxPierce = 0;
|
||||
|
||||
[Header("Гравитация/физика")]
|
||||
public bool useGravity = false;
|
||||
public float gravityScale = 1f;
|
||||
//[Header("Гравитация/физика")]
|
||||
//[SerializeField] protected bool useGravity = false;
|
||||
//[SerializeField] protected float gravityScale = 1f;
|
||||
|
||||
[Header("FX")]
|
||||
[SerializeField] protected GameObject hitVfxPrefab;
|
||||
@ -27,9 +25,9 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
[SerializeField] protected float sfxVolume = 1f;
|
||||
|
||||
[Header("Другое")]
|
||||
public bool alignRotationToVelocity = true;
|
||||
protected float damage = 10f;
|
||||
public float knockback = 0f;
|
||||
[SerializeField] private bool alignRotationToVelocity = true;
|
||||
//[SerializeField] float damage = 10f;
|
||||
//[SerializeField] float knockback = 0f;
|
||||
|
||||
protected Rigidbody2D rb;
|
||||
protected Collider2D col;
|
||||
@ -43,11 +41,11 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
rb = GetComponent<Rigidbody2D>();
|
||||
col = GetComponent<Collider2D>();
|
||||
|
||||
// Базовые настройки физики
|
||||
rb.bodyType = RigidbodyType2D.Dynamic;
|
||||
rb.gravityScale = useGravity ? gravityScale : 0f;
|
||||
rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
|
||||
col.isTrigger = false;
|
||||
//// Базовые настройки физики
|
||||
//rb.bodyType = RigidbodyType2D.Dynamic;
|
||||
////rb.gravityScale = useGravity ? gravityScale : 0f;
|
||||
//rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
|
||||
//col.isTrigger = false;
|
||||
}
|
||||
|
||||
protected virtual void OnEnable()
|
||||
@ -70,11 +68,9 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
|
||||
protected virtual void OnCollisionEnter2D(Collision2D collision)
|
||||
{
|
||||
Collider2D other = collision.collider;
|
||||
if (!IsInHitLayer(other.gameObject.layer)) return;
|
||||
|
||||
if (!IsInHitLayer(collision.collider.gameObject.layer)) return;
|
||||
Vector2 point = collision.GetContact(0).point;
|
||||
HandleHit(other, point, collision.relativeVelocity, isTriggerEvent: false, collision);
|
||||
OnHit(collision, point, collision.relativeVelocity);
|
||||
}
|
||||
|
||||
protected virtual void OnTriggerEnter2D(Collider2D other)
|
||||
@ -83,17 +79,10 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
if (!IsInHitLayer(other.gameObject.layer)) return;
|
||||
|
||||
Vector2 point = other.ClosestPoint(transform.position);
|
||||
HandleHit(other, point, rb.linearVelocity, isTriggerEvent: true, collision: null);
|
||||
OnHit(other, point, rb.linearVelocity);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="direction"></param>
|
||||
/// <param name="speed"></param>
|
||||
/// <param name="owner"></param>
|
||||
/// <param name="ignoreOwnerTime"></param>
|
||||
public virtual void Launch(Vector2 direction, float speed = -1f, GameObject owner = null, float ignoreOwnerTime = 0.1f)
|
||||
public virtual void Launch(Vector2 direction, float speed = -1f, GameObject owner = null)
|
||||
{
|
||||
this.owner = owner;
|
||||
launched = true;
|
||||
@ -132,30 +121,6 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
return ((1 << layer) & hitLayers.value) != 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="target"></param>
|
||||
/// <param name="point"></param>
|
||||
/// <param name="relativeVelocity"></param>
|
||||
/// <param name="isTriggerEvent"></param>
|
||||
/// <param name="collision"></param>
|
||||
protected void HandleHit(Collider2D target, Vector2 point, Vector2 relativeVelocity, bool isTriggerEvent, Collision2D collision)
|
||||
{
|
||||
TryDealDamage(target, point, relativeVelocity);
|
||||
|
||||
OnHit(collision, point, relativeVelocity);
|
||||
|
||||
if (remainingPierce > 0)
|
||||
{
|
||||
remainingPierce--;
|
||||
return;
|
||||
}
|
||||
|
||||
if (isTriggerEvent) OnImpactFinal(target);
|
||||
else OnImpactFinal(collision);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@ -181,6 +146,42 @@ namespace RR.Game2D.Entities.Projectiles
|
||||
/// <param name="point"></param>
|
||||
/// <param name="relativeVelocity"></param>
|
||||
protected virtual void OnHit(Collision2D collision, Vector2 point, Vector2 relativeVelocity)
|
||||
{
|
||||
TryDealDamage(collision.collider, point, relativeVelocity);
|
||||
|
||||
PlayFX(point);
|
||||
|
||||
if (remainingPierce > 0)
|
||||
{
|
||||
remainingPierce--;
|
||||
return;
|
||||
}
|
||||
|
||||
OnImpactFinal(collision);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="collider"></param>
|
||||
/// <param name="point"></param>
|
||||
/// <param name="relativeVelocity"></param>
|
||||
protected virtual void OnHit(Collider2D collider, Vector2 point, Vector2 relativeVelocity)
|
||||
{
|
||||
Debug.Log("Projectile2D collision");
|
||||
TryDealDamage(collider, point, relativeVelocity);
|
||||
PlayFX(point);
|
||||
|
||||
if (remainingPierce > 0)
|
||||
{
|
||||
remainingPierce--;
|
||||
return;
|
||||
}
|
||||
|
||||
OnImpactFinal(collider);
|
||||
}
|
||||
|
||||
protected virtual void PlayFX(Vector2 point)
|
||||
{
|
||||
if (hitVfxPrefab != null)
|
||||
{
|
||||
|
||||
8
Assets/Resources/Scripts/UI.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8209efab2b9e78643ab4e69defcc4e94
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
59
Assets/Resources/Scripts/UI/FullscreenToggle.cs
Normal file
@ -0,0 +1,59 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
public class FullscreenToggle : MonoBehaviour
|
||||
{
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
||||
static void Bootstrap()
|
||||
{
|
||||
var go = new GameObject("FullscreenToggle");
|
||||
go.AddComponent<FullscreenToggle>();
|
||||
DontDestroyOnLoad(go);
|
||||
}
|
||||
|
||||
public void OnFullscreen(InputValue value)
|
||||
{
|
||||
if (Application.platform != RuntimePlatform.WebGLPlayer)
|
||||
{
|
||||
if (value.isPressed) // Проверяем нажатие кнопки
|
||||
{
|
||||
Toggle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//void Update()
|
||||
//{
|
||||
// if (Application.platform != RuntimePlatform.WebGLPlayer)
|
||||
// {
|
||||
// var kb = Keyboard.current;
|
||||
// if (kb == null) return;
|
||||
|
||||
// bool f11 = kb.f11Key.wasPressedThisFrame;
|
||||
// bool altEnter = kb.enterKey.wasPressedThisFrame && (kb.leftAltKey.isPressed || kb.rightAltKey.isPressed);
|
||||
|
||||
// if (f11 || altEnter) Toggle();
|
||||
|
||||
// //if (Input.GetButtonDown("Fullscreen")) Toggle();
|
||||
// }
|
||||
//}
|
||||
|
||||
static void Toggle()
|
||||
{
|
||||
bool fs = !Screen.fullScreen;
|
||||
Screen.fullScreenMode = fs ? FullScreenMode.FullScreenWindow : FullScreenMode.Windowed;
|
||||
|
||||
if (fs)
|
||||
{
|
||||
Screen.SetResolution(Display.main.systemWidth, Display.main.systemHeight, true);
|
||||
Screen.fullScreen = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
int w = Mathf.RoundToInt(Display.main.systemWidth * 0.5f);
|
||||
int h = Mathf.RoundToInt(Display.main.systemHeight * 0.5f);
|
||||
Screen.fullScreen = false;
|
||||
Screen.SetResolution(w, h, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
43
Assets/Resources/Scripts/UI/LevelButton.cs
Normal file
@ -0,0 +1,43 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using RR.Game2D.Core;
|
||||
|
||||
public class LevelButton : MonoBehaviour
|
||||
{
|
||||
[SerializeField] TextMeshProUGUI title;
|
||||
[SerializeField] Button btn;
|
||||
|
||||
private int world;
|
||||
private int stage;
|
||||
|
||||
public void Setup(string levelSceneName, int levelWorld, int levelStage)
|
||||
{
|
||||
world = levelWorld;
|
||||
stage = levelStage;
|
||||
if (title) title.text = levelSceneName; // "1-3, 1-1 и т.д."
|
||||
if (btn) { btn.onClick.RemoveAllListeners(); btn.onClick.AddListener(OnClick); }
|
||||
}
|
||||
|
||||
public void SetColor(Color newColor)
|
||||
{
|
||||
ColorBlock newColors = btn.colors;
|
||||
newColors.normalColor = newColor;
|
||||
newColors.highlightedColor = Darken(newColor, 0.90f);
|
||||
newColors.selectedColor = Darken(newColor, 0.85f);
|
||||
newColors.pressedColor = Darken(newColor, 0.80f);
|
||||
btn.colors = newColors;
|
||||
}
|
||||
|
||||
void OnClick()
|
||||
{
|
||||
// через GameManager (предпочтительно)
|
||||
GameManager.Instance.LoadLevel(world, stage);
|
||||
|
||||
// Фоллбэк, если нужно:
|
||||
// UnityEngine.SceneManagement.SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
|
||||
private static Color Darken(Color c, float factor)
|
||||
=> new Color(c.r * factor, c.g * factor, c.b * factor, c.a);
|
||||
}
|
||||
2
Assets/Resources/Scripts/UI/LevelButton.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1946d57c5f8c8f44f95566482d38dfb3
|
||||
111
Assets/Resources/Scripts/UI/LevelSelectModal.cs
Normal file
@ -0,0 +1,111 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
public class LevelSelectModal : MonoBehaviour
|
||||
{
|
||||
[Header("Управление")]
|
||||
[SerializeField] private InputActionReference close;
|
||||
|
||||
[Header("UI")]
|
||||
[SerializeField] private CanvasGroup canvasGroup;
|
||||
[SerializeField] private Transform content; // Grid parent
|
||||
[SerializeField] private LevelButton levelButtonPrefab;
|
||||
[SerializeField] private Button closeButton;
|
||||
[SerializeField] private float fadeDuration = 0.15f;
|
||||
|
||||
readonly List<LevelButton> levelsPool = new();
|
||||
|
||||
void Awake()
|
||||
{
|
||||
if (closeButton) closeButton.onClick.AddListener(Close);
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
// ==== ПУБЛИЧНЫЙ API ====
|
||||
public void Open()
|
||||
{
|
||||
BuildIfNeeded();
|
||||
gameObject.SetActive(true);
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(Fade(0f, 1f, fadeDuration));
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(Fade(1f, 0f, fadeDuration, () => gameObject.SetActive(false)));
|
||||
}
|
||||
|
||||
// ==== ВНУТРЕННЕЕ ====
|
||||
void BuildIfNeeded()
|
||||
{
|
||||
// Очистим/пересоберём (можно кэшировать, но пересборка надёжнее при изменениях Build Settings)
|
||||
foreach (var b in levelsPool) if (b) Destroy(b.gameObject);
|
||||
levelsPool.Clear();
|
||||
|
||||
var levels = EnumerateLevelScenesInBuild()
|
||||
.OrderBy(e => e.world)
|
||||
.ThenBy(e => e.stage)
|
||||
.ToList();
|
||||
|
||||
foreach (var lv in levels)
|
||||
{
|
||||
var btn = Instantiate(levelButtonPrefab, content);
|
||||
btn.Setup(lv.name, lv.world, lv.stage);
|
||||
btn.SetColor(Color.green);
|
||||
levelsPool.Add(btn);
|
||||
}
|
||||
}
|
||||
|
||||
struct LevelEntry { public string name; public int world; public int stage; }
|
||||
|
||||
IEnumerable<LevelEntry> EnumerateLevelScenesInBuild()
|
||||
{
|
||||
int n = SceneManager.sceneCountInBuildSettings;
|
||||
for (int i = 0; i < n; i++)
|
||||
{
|
||||
string path = SceneUtility.GetScenePathByBuildIndex(i);
|
||||
string name = System.IO.Path.GetFileNameWithoutExtension(path);
|
||||
|
||||
// фильтр "только уровни" по формату имени W-S:
|
||||
var parts = name.Split('-');
|
||||
if (parts.Length != 2) continue;
|
||||
if (!int.TryParse(parts[0], out int w)) continue;
|
||||
if (!int.TryParse(parts[1], out int s)) continue;
|
||||
|
||||
// Исключим служебные сцены, даже если вдруг совпадут по формату (на всякий случай)
|
||||
if (name.Equals("Level UI", System.StringComparison.OrdinalIgnoreCase)) continue;
|
||||
if (name.Equals("MainMenu", System.StringComparison.OrdinalIgnoreCase)) continue;
|
||||
|
||||
yield return new LevelEntry { name = name, world = w, stage = s };
|
||||
}
|
||||
}
|
||||
|
||||
System.Collections.IEnumerator Fade(float from, float to, float time, System.Action onDone = null)
|
||||
{
|
||||
if (!canvasGroup) { onDone?.Invoke(); yield break; }
|
||||
float t = 0f;
|
||||
canvasGroup.alpha = from;
|
||||
canvasGroup.blocksRaycasts = true;
|
||||
while (t < time)
|
||||
{
|
||||
t += Time.unscaledDeltaTime;
|
||||
canvasGroup.alpha = Mathf.Lerp(from, to, t / time);
|
||||
yield return null;
|
||||
}
|
||||
canvasGroup.alpha = to;
|
||||
canvasGroup.blocksRaycasts = to > 0.99f;
|
||||
onDone?.Invoke();
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
// ESC закрыть
|
||||
if (gameObject.activeSelf && close.action.WasPressedThisFrame())
|
||||
Close();
|
||||
}
|
||||
}
|
||||
2
Assets/Resources/Scripts/UI/LevelSelectModal.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5b96039a6a73f764295ca4b3de5b5318
|
||||
159
Assets/Resources/Scripts/UI/ModalFocusTrap.cs
Normal file
@ -0,0 +1,159 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
[DisallowMultipleComponent]
|
||||
public class ModalFocusTrap : MonoBehaviour
|
||||
{
|
||||
[Header("Modal")]
|
||||
public GameObject modalRoot;
|
||||
public Selectable firstSelected;
|
||||
|
||||
[Header("Behavior")]
|
||||
[Tooltip("Следить и возвращать фокус внутрь модалки, если он уходит наружу.")]
|
||||
public bool enforce = true;
|
||||
|
||||
bool wasOpenLastFrame;
|
||||
GameObject prevSelectedGlobal;
|
||||
readonly List<Selectable> outside = new();
|
||||
readonly Dictionary<Selectable, bool> outsidePrev = new();
|
||||
Selectable lastModalSelected;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
if (modalRoot == null)
|
||||
{
|
||||
var sibling = transform.parent ? transform.parent.Find("LevelSelectModal") : null;
|
||||
if (sibling) modalRoot = sibling.gameObject;
|
||||
}
|
||||
}
|
||||
|
||||
//void OnEnable()
|
||||
//{
|
||||
// if (modalRoot != null && modalRoot.activeSelf) OnModalOpened();
|
||||
//}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (modalRoot == null) return;
|
||||
|
||||
bool isOpen = modalRoot.activeSelf;
|
||||
if (isOpen && !wasOpenLastFrame) OnModalOpened();
|
||||
else if (!isOpen && wasOpenLastFrame) OnModalClosed();
|
||||
|
||||
wasOpenLastFrame = isOpen;
|
||||
|
||||
if (isOpen && enforce) EnsureFocusInsideModal();
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
if (wasOpenLastFrame) OnModalClosed();
|
||||
}
|
||||
|
||||
void OnModalOpened()
|
||||
{
|
||||
// запомнить, что было выделено до открытия
|
||||
prevSelectedGlobal = EventSystem.current ? EventSystem.current.currentSelectedGameObject : null;
|
||||
|
||||
// выключить интерактив вне модалки
|
||||
CollectOutsideSelectables();
|
||||
foreach (var s in outside)
|
||||
{
|
||||
if (!s) continue;
|
||||
outsidePrev[s] = s.interactable;
|
||||
s.interactable = false;
|
||||
}
|
||||
|
||||
// сфокусировать элемент внутри модалки
|
||||
GameObject toSelect = null;
|
||||
if (firstSelected && firstSelected.gameObject.activeInHierarchy)
|
||||
toSelect = firstSelected.gameObject;
|
||||
else
|
||||
{
|
||||
var any = modalRoot.GetComponentInChildren<Selectable>(includeInactive: false);
|
||||
if (any) toSelect = any.gameObject;
|
||||
}
|
||||
|
||||
if (toSelect && EventSystem.current)
|
||||
{
|
||||
EventSystem.current.SetSelectedGameObject(null);
|
||||
EventSystem.current.SetSelectedGameObject(toSelect);
|
||||
lastModalSelected = toSelect.GetComponent<Selectable>();
|
||||
}
|
||||
}
|
||||
|
||||
void OnModalClosed()
|
||||
{
|
||||
foreach (var kv in outsidePrev)
|
||||
{
|
||||
var s = kv.Key;
|
||||
if (s) s.interactable = kv.Value;
|
||||
}
|
||||
outsidePrev.Clear();
|
||||
outside.Clear();
|
||||
|
||||
if (EventSystem.current)
|
||||
{
|
||||
if (prevSelectedGlobal && prevSelectedGlobal.activeInHierarchy)
|
||||
EventSystem.current.SetSelectedGameObject(prevSelectedGlobal);
|
||||
else
|
||||
EventSystem.current.SetSelectedGameObject(null);
|
||||
}
|
||||
|
||||
lastModalSelected = null;
|
||||
prevSelectedGlobal = null;
|
||||
}
|
||||
|
||||
void CollectOutsideSelectables()
|
||||
{
|
||||
outside.Clear();
|
||||
outsidePrev.Clear();
|
||||
|
||||
// ✅ Новый API Unity 6
|
||||
var all = Object.FindObjectsByType<Selectable>(
|
||||
FindObjectsInactive.Include,
|
||||
FindObjectsSortMode.None);
|
||||
|
||||
foreach (var s in all)
|
||||
{
|
||||
if (!s || !s.gameObject.activeInHierarchy) continue;
|
||||
if (!IsUnderModal(s.transform))
|
||||
outside.Add(s);
|
||||
}
|
||||
}
|
||||
|
||||
bool IsUnderModal(Transform t)
|
||||
{
|
||||
if (!modalRoot) return false;
|
||||
var root = modalRoot.transform;
|
||||
for (var cur = t; cur != null; cur = cur.parent)
|
||||
if (cur == root) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
void EnsureFocusInsideModal()
|
||||
{
|
||||
if (!EventSystem.current) return;
|
||||
|
||||
var cur = EventSystem.current.currentSelectedGameObject;
|
||||
if (cur == null || !IsUnderModal(cur.transform))
|
||||
{
|
||||
GameObject fallback =
|
||||
(lastModalSelected && lastModalSelected.gameObject.activeInHierarchy) ? lastModalSelected.gameObject :
|
||||
(firstSelected && firstSelected.gameObject.activeInHierarchy) ? firstSelected.gameObject :
|
||||
modalRoot.GetComponentInChildren<Selectable>()?.gameObject;
|
||||
|
||||
if (fallback)
|
||||
{
|
||||
EventSystem.current.SetSelectedGameObject(fallback);
|
||||
lastModalSelected = fallback.GetComponent<Selectable>();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lastModalSelected = cur.GetComponent<Selectable>();
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Resources/Scripts/UI/ModalFocusTrap.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c815924369a0a64458e3c85a564de8b8
|
||||
@ -1,15 +1,16 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using System.Collections;
|
||||
#if ENABLE_INPUT_SYSTEM
|
||||
using UnityEngine.InputSystem;
|
||||
#endif
|
||||
using RR.Game2D.Core;
|
||||
|
||||
namespace RR.Common.UI
|
||||
{
|
||||
public class PauseMenu : MonoBehaviour
|
||||
{
|
||||
[Header("Управление")]
|
||||
[SerializeField] private InputActionReference close;
|
||||
|
||||
[Header("UI")]
|
||||
[SerializeField] private CanvasGroup panel;
|
||||
[SerializeField] private Button resumeButton;
|
||||
@ -41,13 +42,8 @@ namespace RR.Common.UI
|
||||
|
||||
private void Update()
|
||||
{
|
||||
#if ENABLE_INPUT_SYSTEM
|
||||
if (Keyboard.current != null && Keyboard.current.escapeKey.wasPressedThisFrame)
|
||||
if (close.action.WasPressedThisFrame())
|
||||
GameManager.Instance.TogglePause();
|
||||
#else
|
||||
if (Input.GetKeyDown(toggleKey))
|
||||
GameManager.Instance.TogglePause();
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -62,7 +58,7 @@ namespace RR.Common.UI
|
||||
/// <summary>
|
||||
/// Метод для изменения отображения
|
||||
/// </summary>
|
||||
/// <param name="visible">Отображать ли менб пайзы</param>
|
||||
/// <param name="visible">Отображать ли меню паузы</param>
|
||||
/// <param name="instant">Постоянно или нет</param>
|
||||
private void SetVisible(bool visible, bool instant = false)
|
||||
{
|
||||
@ -11,8 +11,8 @@ SpriteAtlasAsset:
|
||||
m_MasterAtlas: {fileID: 0}
|
||||
m_ImporterData:
|
||||
packables:
|
||||
- {fileID: 102900000, guid: d74a75b28ffe96a4d8368497ae6c8178, type: 3}
|
||||
- {fileID: 102900000, guid: 2ab021cf296670642ad71d734effe746, type: 3}
|
||||
- {fileID: 102900000, guid: a4e63de6c645b574b98cc46a3972aadf, type: 3}
|
||||
- {fileID: 102900000, guid: d74a75b28ffe96a4d8368497ae6c8178, type: 3}
|
||||
m_IsVariant: 0
|
||||
m_ScriptablePacker: {fileID: 0}
|
||||
|
||||
@ -16,11 +16,11 @@ SpriteAtlasImporter:
|
||||
platformSettings: []
|
||||
packingSettings:
|
||||
serializedVersion: 2
|
||||
padding: 4
|
||||
padding: 8
|
||||
blockOffset: 1
|
||||
allowAlphaSplitting: 0
|
||||
enableRotation: 0
|
||||
enableTightPacking: 1
|
||||
enableTightPacking: 0
|
||||
enableAlphaDilation: 0
|
||||
secondaryTextureSettings: {}
|
||||
variantMultiplier: 1
|
||||
|
||||
@ -20,7 +20,7 @@ SpriteAtlasImporter:
|
||||
blockOffset: 1
|
||||
allowAlphaSplitting: 0
|
||||
enableRotation: 0
|
||||
enableTightPacking: 1
|
||||
enableTightPacking: 0
|
||||
enableAlphaDilation: 0
|
||||
secondaryTextureSettings: {}
|
||||
variantMultiplier: 1
|
||||
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 438 KiB |
@ -72,7 +72,7 @@ TextureImporter:
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 650 KiB |
@ -72,7 +72,7 @@ TextureImporter:
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
|
||||
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 186 KiB |
BIN
Assets/Resources/Sprites/Tilesets/Level_1/Level_1_Stone.png
Normal file
|
After Width: | Height: | Size: 257 KiB |
1030
Assets/Resources/Sprites/Tilesets/Level_1/Level_1_Stone.png.meta
Normal file
@ -42,61 +42,11 @@ Tilemap:
|
||||
m_GameObject: {fileID: 4147492001494567391}
|
||||
m_Enabled: 1
|
||||
m_Tiles:
|
||||
- first: {x: 0, y: -5, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 0
|
||||
m_TileSpriteIndex: 0
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 1, y: -5, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 1
|
||||
m_TileSpriteIndex: 1
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 2, y: -5, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 2
|
||||
m_TileSpriteIndex: 2
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 6, y: -5, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 38
|
||||
m_TileSpriteIndex: 3
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 0, y: -4, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 3
|
||||
m_TileSpriteIndex: 4
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 1, y: -4, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 32
|
||||
m_TileSpriteIndex: 5
|
||||
m_TileIndex: 30
|
||||
m_TileSpriteIndex: 30
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -105,8 +55,8 @@ Tilemap:
|
||||
- first: {x: 2, y: -4, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 33
|
||||
m_TileSpriteIndex: 6
|
||||
m_TileIndex: 28
|
||||
m_TileSpriteIndex: 28
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -115,48 +65,18 @@ Tilemap:
|
||||
- first: {x: 3, y: -4, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 34
|
||||
m_TileSpriteIndex: 7
|
||||
m_TileIndex: 31
|
||||
m_TileSpriteIndex: 31
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 4, y: -4, z: 0}
|
||||
- first: {x: 7, y: -4, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 35
|
||||
m_TileSpriteIndex: 8
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 5, y: -4, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 36
|
||||
m_TileSpriteIndex: 9
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 6, y: -4, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 37
|
||||
m_TileSpriteIndex: 10
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 0, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 25
|
||||
m_TileSpriteIndex: 11
|
||||
m_TileIndex: 27
|
||||
m_TileSpriteIndex: 27
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -165,8 +85,8 @@ Tilemap:
|
||||
- first: {x: 1, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 26
|
||||
m_TileSpriteIndex: 12
|
||||
m_TileIndex: 29
|
||||
m_TileSpriteIndex: 29
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -175,114 +95,14 @@ Tilemap:
|
||||
- first: {x: 2, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 27
|
||||
m_TileSpriteIndex: 13
|
||||
m_TileIndex: 25
|
||||
m_TileSpriteIndex: 25
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 3, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 28
|
||||
m_TileSpriteIndex: 14
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 4, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 29
|
||||
m_TileSpriteIndex: 15
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 5, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 30
|
||||
m_TileSpriteIndex: 16
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 6, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 31
|
||||
m_TileSpriteIndex: 17
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 0, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 18
|
||||
m_TileSpriteIndex: 18
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 1, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 19
|
||||
m_TileSpriteIndex: 19
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 2, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 20
|
||||
m_TileSpriteIndex: 20
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 3, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 21
|
||||
m_TileSpriteIndex: 21
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 4, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 22
|
||||
m_TileSpriteIndex: 22
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 5, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 23
|
||||
m_TileSpriteIndex: 23
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 6, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 24
|
||||
@ -292,11 +112,111 @@ Tilemap:
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 0, y: -1, z: 0}
|
||||
- first: {x: 4, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 11
|
||||
m_TileSpriteIndex: 25
|
||||
m_TileIndex: 23
|
||||
m_TileSpriteIndex: 23
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 5, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 22
|
||||
m_TileSpriteIndex: 22
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 6, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 21
|
||||
m_TileSpriteIndex: 21
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 7, y: -3, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 26
|
||||
m_TileSpriteIndex: 26
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 1, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 20
|
||||
m_TileSpriteIndex: 20
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 2, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 19
|
||||
m_TileSpriteIndex: 19
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 3, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 18
|
||||
m_TileSpriteIndex: 18
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 4, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 17
|
||||
m_TileSpriteIndex: 17
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 5, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 16
|
||||
m_TileSpriteIndex: 16
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 6, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 15
|
||||
m_TileSpriteIndex: 15
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 7, y: -2, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 14
|
||||
m_TileSpriteIndex: 14
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -305,8 +225,8 @@ Tilemap:
|
||||
- first: {x: 1, y: -1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 12
|
||||
m_TileSpriteIndex: 26
|
||||
m_TileIndex: 13
|
||||
m_TileSpriteIndex: 13
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -315,8 +235,8 @@ Tilemap:
|
||||
- first: {x: 2, y: -1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 13
|
||||
m_TileSpriteIndex: 27
|
||||
m_TileIndex: 12
|
||||
m_TileSpriteIndex: 12
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -325,8 +245,8 @@ Tilemap:
|
||||
- first: {x: 3, y: -1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 14
|
||||
m_TileSpriteIndex: 28
|
||||
m_TileIndex: 33
|
||||
m_TileSpriteIndex: 33
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -335,8 +255,8 @@ Tilemap:
|
||||
- first: {x: 4, y: -1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 15
|
||||
m_TileSpriteIndex: 29
|
||||
m_TileIndex: 38
|
||||
m_TileSpriteIndex: 38
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -345,8 +265,8 @@ Tilemap:
|
||||
- first: {x: 5, y: -1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 16
|
||||
m_TileSpriteIndex: 30
|
||||
m_TileIndex: 32
|
||||
m_TileSpriteIndex: 32
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -355,18 +275,18 @@ Tilemap:
|
||||
- first: {x: 6, y: -1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 17
|
||||
m_TileSpriteIndex: 31
|
||||
m_TileIndex: 11
|
||||
m_TileSpriteIndex: 11
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 0, y: 0, z: 0}
|
||||
- first: {x: 7, y: -1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 4
|
||||
m_TileSpriteIndex: 32
|
||||
m_TileIndex: 10
|
||||
m_TileSpriteIndex: 10
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -375,8 +295,8 @@ Tilemap:
|
||||
- first: {x: 1, y: 0, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 5
|
||||
m_TileSpriteIndex: 33
|
||||
m_TileIndex: 9
|
||||
m_TileSpriteIndex: 9
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -385,8 +305,8 @@ Tilemap:
|
||||
- first: {x: 2, y: 0, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 6
|
||||
m_TileSpriteIndex: 34
|
||||
m_TileIndex: 8
|
||||
m_TileSpriteIndex: 8
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -396,7 +316,7 @@ Tilemap:
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 7
|
||||
m_TileSpriteIndex: 35
|
||||
m_TileSpriteIndex: 7
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -405,8 +325,8 @@ Tilemap:
|
||||
- first: {x: 4, y: 0, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 8
|
||||
m_TileSpriteIndex: 36
|
||||
m_TileIndex: 37
|
||||
m_TileSpriteIndex: 37
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -415,8 +335,8 @@ Tilemap:
|
||||
- first: {x: 5, y: 0, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 9
|
||||
m_TileSpriteIndex: 37
|
||||
m_TileIndex: 6
|
||||
m_TileSpriteIndex: 6
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -425,18 +345,98 @@ Tilemap:
|
||||
- first: {x: 6, y: 0, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 10
|
||||
m_TileSpriteIndex: 38
|
||||
m_TileIndex: 5
|
||||
m_TileSpriteIndex: 5
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 8, y: 0, z: 0}
|
||||
- first: {x: 7, y: 0, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 4
|
||||
m_TileSpriteIndex: 4
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 1, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 3
|
||||
m_TileSpriteIndex: 3
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 2, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 2
|
||||
m_TileSpriteIndex: 2
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 3, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 36
|
||||
m_TileSpriteIndex: 36
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 4, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 35
|
||||
m_TileSpriteIndex: 35
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 5, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 34
|
||||
m_TileSpriteIndex: 34
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 6, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 1
|
||||
m_TileSpriteIndex: 1
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 7, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 0
|
||||
m_TileSpriteIndex: 0
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
dummyAlignment: 0
|
||||
m_AllTileFlags: 1073741825
|
||||
- first: {x: 9, y: 1, z: 0}
|
||||
second:
|
||||
serializedVersion: 2
|
||||
m_TileIndex: 39
|
||||
m_TileSpriteIndex: 4
|
||||
m_TileSpriteIndex: 29
|
||||
m_TileMatrixIndex: 0
|
||||
m_TileColorIndex: 0
|
||||
m_TileObjectToInstantiateIndex: 65535
|
||||
@ -445,164 +445,164 @@ Tilemap:
|
||||
m_AnimatedTiles: {}
|
||||
m_TileAssetArray:
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: d5522eaff0c24af41ae0cce16d40b61f, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 209752644dc91b549b9056739d1de694, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 5ccf09e3ca124bc43a8db628726919f0, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 9d0558dcf7fe607499c0905346894836, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 7fb36ef6b0d74924990be0e5735e3be2, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: f82f2a0d66e928d418941a3cb64a1fd5, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 779317fdae9c5ec4896a470556c0760d, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 853ecd74b2c813744873829ce502e3b7, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 4de9f2b5a2b20d24389da0709d1ce379, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 3dd8bfda02e36fe49a21e275f0bc9689, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 3542cb1853c3dbd479bd1849694a90b6, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 3dd8bfda02e36fe49a21e275f0bc9689, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: f82f2a0d66e928d418941a3cb64a1fd5, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 679597d81e067d8499c44eb170de7aba, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: a567d4b3301d5bc4da3a4fed91bdacb3, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: da3558a772704014cac8c76075fe4b1c, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: a77bbe978f8a31343adda910bd87b129, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 72ba9801f11193f4f92716965233bdb3, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: bfa0cd356d98b3d48ab0a19c052004ce, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 7fb36ef6b0d74924990be0e5735e3be2, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: e1844a0220d0df94ca49cb34143c4955, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: d8876acd52050b04096befd49d5a1c14, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: bfa0cd356d98b3d48ab0a19c052004ce, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 8d77a6192515b4d42a0680cbea3b6d3c, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 72ba9801f11193f4f92716965233bdb3, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 6f5d463080f4e384f9bfa37020fbb762, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: da3558a772704014cac8c76075fe4b1c, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: fd249e6c75eb0f5418320217b474b158, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: a567d4b3301d5bc4da3a4fed91bdacb3, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 7de82c62ebe360647a86621d4b981d4d, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 175b7405d2e37964383088f6f093d1ec, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 679597d81e067d8499c44eb170de7aba, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 5122bc4b3e9cf0949b4516fa15328441, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: c1ee7665cd65cf447b5699bf16fb8b68, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 175b7405d2e37964383088f6f093d1ec, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: d64f17c9ea8bb634f8cabe92be63b81f, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 8d77a6192515b4d42a0680cbea3b6d3c, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: e6c496a58fd7ea243b6f2f6469f2802f, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 17ed07556fcec3840959364d440ba218, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: e8c95ea9fa426be4695fd77991eb9c6e, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 80f5751af9f0fa2459916c0e0a1dccff, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: d8876acd52050b04096befd49d5a1c14, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 67d28117397897948bc1e100767e1709, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: fcf9521181c87c14d9554aa22373340d, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 80f5751af9f0fa2459916c0e0a1dccff, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 63acc297cac46c6418d1eacda5252f82, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: e8c95ea9fa426be4695fd77991eb9c6e, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 4215b10cfa031a54095c7aa401e57a05, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 17ed07556fcec3840959364d440ba218, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: e6c496a58fd7ea243b6f2f6469f2802f, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: d64f17c9ea8bb634f8cabe92be63b81f, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: c1ee7665cd65cf447b5699bf16fb8b68, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: a65b7873d85f3ae45b50e8d61b401f4f, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: a0c895f67011835499012f01e4df594a, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: a65b7873d85f3ae45b50e8d61b401f4f, type: 2}
|
||||
m_Data: {fileID: 11400000, guid: 4215b10cfa031a54095c7aa401e57a05, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 63acc297cac46c6418d1eacda5252f82, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: fcf9521181c87c14d9554aa22373340d, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 28b993407afb65e44aecbf77494e7b94, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 060a24c515a3ac345b6449ae453120b4, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 209752644dc91b549b9056739d1de694, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 9d0558dcf7fe607499c0905346894836, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: d5522eaff0c24af41ae0cce16d40b61f, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 5ccf09e3ca124bc43a8db628726919f0, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 7de82c62ebe360647a86621d4b981d4d, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 6f5d463080f4e384f9bfa37020fbb762, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 4de9f2b5a2b20d24389da0709d1ce379, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 853ecd74b2c813744873829ce502e3b7, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 779317fdae9c5ec4896a470556c0760d, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: a77bbe978f8a31343adda910bd87b129, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: fd249e6c75eb0f5418320217b474b158, type: 2}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 11400000, guid: 57b31afdcd8a01b4297ab74d40033ca0, type: 2}
|
||||
m_TileSpriteArray:
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 7191991962518668938, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8196539210977983059, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -2658508185510960955, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4265706248661453283, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 2
|
||||
m_Data: {fileID: 5047822559575912867, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5092281259715811575, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -547024744731349488, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8449129219236236317, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4757988163680790249, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -70544561768458129, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -3192807895309037797, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6533029589929993351, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5447027585216140908, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5847639856091764657, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6848384115424181139, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 3379152192150997598, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 1392019697758446801, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4308928161347384345, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8074099645880111163, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -7509908222454223829, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 2632754532777870510, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4206299883402668752, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4862551027066036021, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 128477835189776891, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4548179372540403334, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4515194493617515340, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8110766950150536484, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6055767957282799819, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 2718513996814743820, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 6628536997565749602, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6939396841327523522, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 1370918383867132530, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4050710359956972958, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4694081222966674561, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5871628898940079882, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -1895669345893792418, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4924701994791171026, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
m_Data: {fileID: 2918963379169597025, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 6432092734245894132, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 2918963379169597025, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
m_Data: {fileID: 4694081222966674561, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4050710359956972958, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 1370918383867132530, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6939396841327523522, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 6628536997565749602, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6055767957282799819, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8110766950150536484, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4515194493617515340, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4548179372540403334, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 128477835189776891, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -7509908222454223829, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8074099645880111163, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4308928161347384345, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 1392019697758446801, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 3379152192150997598, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6848384115424181139, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5847639856091764657, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5447027585216140908, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -6533029589929993351, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -70544561768458129, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4757988163680790249, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8449129219236236317, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -547024744731349488, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5092281259715811575, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -3192807895309037797, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4265706248661453283, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 8196539210977983059, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 2
|
||||
m_Data: {fileID: 5047822559575912867, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 7191991962518668938, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -2658508185510960955, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4862551027066036021, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 2632754532777870510, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -4924701994791171026, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -1895669345893792418, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: -5871628898940079882, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 2718513996814743820, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
- m_RefCount: 1
|
||||
m_Data: {fileID: 4206299883402668752, guid: d440231d6f96217499ab62926952e2b3, type: 3}
|
||||
m_TileMatrixArray:
|
||||
- m_RefCount: 40
|
||||
m_Data:
|
||||
@ -628,7 +628,7 @@ Tilemap:
|
||||
m_TileObjectToInstantiateArray: []
|
||||
m_AnimationFrameRate: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Origin: {x: 0, y: -5, z: 0}
|
||||
m_Origin: {x: 1, y: -4, z: 0}
|
||||
m_Size: {x: 9, y: 6, z: 1}
|
||||
m_TileAnchor: {x: 0.5, y: 0.5, z: 0}
|
||||
m_TileOrientation: 0
|
||||
@ -746,7 +746,7 @@ Grid:
|
||||
m_CellGap: {x: 0, y: 0, z: 0}
|
||||
m_CellLayout: 0
|
||||
m_CellSwizzle: 0
|
||||
--- !u!114 &4392044239039000423
|
||||
--- !u!114 &3097424873329977174
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -0,0 +1,36 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
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: 13312, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name: Level_1_256x256_0 1
|
||||
m_EditorClassIdentifier:
|
||||
m_Sprite: {fileID: -4050710359956972958, guid: 50a8b202c2ca3d74084e837b0e56517d, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Transform:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_InstancedGameObject: {fileID: 0}
|
||||
m_Flags: 1
|
||||
m_ColliderType: 1
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 59ec29b4575a1da4b9f5bcf891d159b8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,36 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
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: 13312, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name: Level_1_256x256_1 1
|
||||
m_EditorClassIdentifier:
|
||||
m_Sprite: {fileID: 2080128114, guid: 50a8b202c2ca3d74084e837b0e56517d, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Transform:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_InstancedGameObject: {fileID: 0}
|
||||
m_Flags: 1
|
||||
m_ColliderType: 1
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f23860669a840b941a49f6ecae038207
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,36 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
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: 13312, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name: Level_1_256x256_10 1
|
||||
m_EditorClassIdentifier:
|
||||
m_Sprite: {fileID: 594499672, guid: 50a8b202c2ca3d74084e837b0e56517d, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Transform:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_InstancedGameObject: {fileID: 0}
|
||||
m_Flags: 1
|
||||
m_ColliderType: 1
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ecc3d2e5963b25f498805bb24d599d7c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||