Added obstacles, started working on chunk generator

Added obstacles, updated pools, added extention for list, updated LaneSystem
This commit is contained in:
VladimirPirozhenko 2022-08-09 04:43:03 +03:00
parent e3ba21a250
commit c7a0ad0f90
38 changed files with 16146 additions and 5933 deletions

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0957fa9acf1468046b0c7e601830c04f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9b90fe6584244f945a5cf4bfffd577c7
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 378b62e0e298e0642abc436c57f8825a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,225 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &149768
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 428342}
- component: {fileID: 3302520}
- component: {fileID: 2394776}
- component: {fileID: 6470346}
m_Layer: 0
m_Name: sky_floor_lod2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
--- !u!4 &428342
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 149768}
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: 472128}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3302520
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 149768}
m_Mesh: {fileID: 4300000, guid: f6f23a90011998a45bf73acc497a7727, type: 3}
--- !u!23 &2394776
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 149768}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3077630c2b552084084eefe0c912c1b5, type: 2}
- {fileID: 2100000, guid: 359c0ede73f3ca1458560f0ae0e1bd5d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &6470346
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 149768}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 4300000, guid: f6f23a90011998a45bf73acc497a7727, type: 3}
--- !u!1 &187770
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 472128}
- component: {fileID: 3331902}
- component: {fileID: 2370732}
- component: {fileID: 6445372}
- component: {fileID: 20571378}
m_Layer: 0
m_Name: sky_floor_lod1 (6)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
--- !u!4 &472128
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187770}
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071067}
m_LocalPosition: {x: -40, y: 21, z: 30}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 428342}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3331902
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187770}
m_Mesh: {fileID: 4300016, guid: 71f6b54e2e708df4db10865532ccfe85, type: 3}
--- !u!23 &2370732
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187770}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3077630c2b552084084eefe0c912c1b5, type: 2}
- {fileID: 2100000, guid: 359c0ede73f3ca1458560f0ae0e1bd5d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &6445372
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187770}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 4300016, guid: 71f6b54e2e708df4db10865532ccfe85, type: 3}
--- !u!205 &20571378
LODGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 187770}
serializedVersion: 2
m_LocalReferencePoint: {x: -0.0020842552, y: 0, z: -0.34707475}
m_Size: 10.5737505
m_FadeMode: 0
m_AnimateCrossFading: 0
m_LastLODIsBillboard: 0
m_LODs:
- screenRelativeHeight: 0.39539915
fadeTransitionWidth: 0
renderers:
- renderer: {fileID: 2370732}
- screenRelativeHeight: 0.024102561
fadeTransitionWidth: 0
renderers:
- renderer: {fileID: 2394776}
m_Enabled: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 166948c090f26754fbc649687b71defa
timeCreated: 1467257561
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1,480 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1474834496997857618
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1475511984234762100}
- component: {fileID: 1441463029740231694}
- component: {fileID: 1451726763742151714}
m_Layer: 0
m_Name: Barrel_StandardS
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1475511984234762100
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1474834496997857618}
m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.18106, y: -0.010709, z: -0.689}
m_LocalScale: {x: 1.17576, y: 1.1295705, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8811611821476133298}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1441463029740231694
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1474834496997857618}
m_Mesh: {fileID: 4300002, guid: 5c5915e3b1cd1e9498fc34258639b7e5, type: 3}
--- !u!23 &1451726763742151714
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1474834496997857618}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: ce59e8771fb1b864aa80c4f575896fcd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &2192096861864460733
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2190539456172664731}
- component: {fileID: 2169983696876955365}
- component: {fileID: 2178017746955228493}
m_Layer: 0
m_Name: Barrel_WideS
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2190539456172664731
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2192096861864460733}
m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1.1113, y: 0.060000002, z: -0.878}
m_LocalScale: {x: 1.17576, y: 1.1295705, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8811611821476133298}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2169983696876955365
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2192096861864460733}
m_Mesh: {fileID: 4300000, guid: 5c5915e3b1cd1e9498fc34258639b7e5, type: 3}
--- !u!23 &2178017746955228493
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2192096861864460733}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: ce59e8771fb1b864aa80c4f575896fcd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &2307306605102319293
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2308248043238943523}
- component: {fileID: 2338357720567997389}
- component: {fileID: 2330340966146894145}
m_Layer: 0
m_Name: Barrel_BoxGreyS
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2308248043238943523
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2307306605102319293}
m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.89002, y: -0.010614, z: -1.0141504}
m_LocalScale: {x: 2.35152, y: 1.1295705, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8811611821476133298}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2338357720567997389
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2307306605102319293}
m_Mesh: {fileID: 4300008, guid: 5c5915e3b1cd1e9498fc34258639b7e5, type: 3}
--- !u!23 &2330340966146894145
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2307306605102319293}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: ce59e8771fb1b864aa80c4f575896fcd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &2468247842154696319
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8811611821476133298}
- component: {fileID: -2344530007010565835}
- component: {fileID: 8635844359220168580}
m_Layer: 0
m_Name: BoxAndBarrelsObstacle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8811611821476133298
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2468247842154696319}
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: 2949359511204824974}
- {fileID: 2190539456172664731}
- {fileID: 1475511984234762100}
- {fileID: 2308248043238943523}
- {fileID: 2890255358085686174}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-2344530007010565835
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2468247842154696319}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d469cadca5aa6f47a7b876de3909108, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!65 &8635844359220168580
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2468247842154696319}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 3.3514357, y: 1, z: 1.3116827}
m_Center: {x: 0.038840473, y: 0.51, z: -1.0065651}
--- !u!1 &2887237903211328952
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2890255358085686174}
- component: {fileID: 2911356463785881828}
- component: {fileID: 2901369802452871368}
m_Layer: 0
m_Name: Barrel_StandardS (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2890255358085686174
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2887237903211328952}
m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.35305, y: -0.010615, z: -1.3430002}
m_LocalScale: {x: 1.17576, y: 1.1295705, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8811611821476133298}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2911356463785881828
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2887237903211328952}
m_Mesh: {fileID: 4300002, guid: 5c5915e3b1cd1e9498fc34258639b7e5, type: 3}
--- !u!23 &2901369802452871368
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2887237903211328952}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: ce59e8771fb1b864aa80c4f575896fcd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &2946342226468737624
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2949359511204824974}
- component: {fileID: 2924298996966844912}
- component: {fileID: 2932328550634646182}
m_Layer: 0
m_Name: Barrel_HolderS
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2949359511204824974
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2946342226468737624}
m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1.1722, y: 0.060000002, z: -0.8751346}
m_LocalScale: {x: 1.17576, y: 1.1295705, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8811611821476133298}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2924298996966844912
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2946342226468737624}
m_Mesh: {fileID: 4300004, guid: 5c5915e3b1cd1e9498fc34258639b7e5, type: 3}
--- !u!23 &2932328550634646182
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2946342226468737624}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: ce59e8771fb1b864aa80c4f575896fcd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: dd64cf90044eea341a44470119043683
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -26,7 +26,7 @@ RenderSettings:
m_AmbientIntensity: 1 m_AmbientIntensity: 1
m_AmbientMode: 0 m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 2100000, guid: a8665aeb045ea914485267288fe59128, type: 2} m_SkyboxMaterial: {fileID: 2100000, guid: 6e182f8ba45b96f42a647eb6185acf5f, type: 2}
m_HaloStrength: 0.5 m_HaloStrength: 0.5
m_FlareStrength: 1 m_FlareStrength: 1
m_FlareFadeSpeed: 3 m_FlareFadeSpeed: 3
@ -37,8 +37,8 @@ RenderSettings:
m_ReflectionBounces: 1 m_ReflectionBounces: 1
m_ReflectionIntensity: 1 m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0} m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0} m_Sun: {fileID: 654164605}
m_IndirectSpecularColor: {r: 0.4465829, g: 0.49641728, b: 0.57482105, a: 1} m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
m_UseRadianceAmbientProbe: 0 m_UseRadianceAmbientProbe: 0
--- !u!157 &3 --- !u!157 &3
LightmapSettings: LightmapSettings:
@ -152,7 +152,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 13e6eeecbe6be7e448121b1729686a08, type: 3} m_Script: {fileID: 11500000, guid: 13e6eeecbe6be7e448121b1729686a08, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
<LaneWidth>k__BackingField: 4 <LaneWidth>k__BackingField: 6
laneCount: 3 laneCount: 3
--- !u!4 &106057763 --- !u!4 &106057763
Transform: Transform:
@ -483,11 +483,57 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 84bdd12bd3145b144a47594f105eb316, type: 3} m_Script: {fileID: 11500000, guid: 84bdd12bd3145b144a47594f105eb316, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
chunkPrefab: {fileID: 7423857566743054097, guid: 1d7dba45cf0d4894e84ae3e02027d01e, type: 3}
turningChunkPrefab: {fileID: 6992658927559702691, guid: 08b18b4cf349c24439781e0e85c9d623, type: 3}
chunkCount: 100 chunkCount: 100
spawnDelay: 5 spawnDelay: 5
chunkGenerator: {fileID: 1125063958} chunkGenerator: {fileID: 1125063958}
chunkPool: {fileID: 2025791532}
--- !u!1 &2025791531
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2025791533}
- component: {fileID: 2025791532}
m_Layer: 0
m_Name: ChunkPool
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2025791532
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2025791531}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 506813849e0819640b461c8c8c8331b9, type: 3}
m_Name:
m_EditorClassIdentifier:
<Capacity>k__BackingField: 20
prefab: {fileID: -8446043830258454905, guid: 378b62e0e298e0642abc436c57f8825a, type: 3}
spawner: {fileID: 1872880027}
--- !u!4 &2025791533
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2025791531}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &2249596435903131709 stripped --- !u!4 &2249596435903131709 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: 6873339892592015098, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3} m_CorrespondingSourceObject: {fileID: 6873339892592015098, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}

View File

@ -14,5 +14,5 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
<InvincibilityTime>k__BackingField: 3 <InvincibilityTime>k__BackingField: 3
<JumpHeight>k__BackingField: 6 <JumpHeight>k__BackingField: 6
<LaneSwitchSpeed>k__BackingField: 17.5 <LaneSwitchSpeed>k__BackingField: 25
<Speed>k__BackingField: 20 <Speed>k__BackingField: 20

View File

@ -0,0 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class RandomExtentions
{
public static T GetRandomElement<T>(this List<T> list)
{
return list[Random.Range(0, list.Count)];
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 72a073a0812c62945ae152a242255d7f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -7,7 +7,7 @@ interface IObstacle
public void Impact(); public void Impact();
} }
[RequireComponent(typeof(BoxCollider))] [RequireComponent(typeof(BoxCollider))]
[RequireComponent(typeof(Renderer))] //[RequireComponent(typeof(Renderer))]
public class Obstacle : MonoBehaviour,IObstacle,IDamageDealer,IResettable public class Obstacle : MonoBehaviour,IObstacle,IDamageDealer,IResettable
{ {
public BoxCollider Collider { get; private set; } public BoxCollider Collider { get; private set; }
@ -27,8 +27,8 @@ public class Obstacle : MonoBehaviour,IObstacle,IDamageDealer,IResettable
//gameObject.transform.localRotation = Quaternion.identity; //gameObject.transform.localRotation = Quaternion.identity;
//gameObject.transform.localScale = Vector3.one; //gameObject.transform.localScale = Vector3.one;
// gameObject.transform.localPosition = Vector3.zero; // gameObject.transform.localPosition = Vector3.zero;
//gameObject.SetActive(false); gameObject.SetActive(false);
//gameObject.transform.SetParent(null); gameObject.transform.SetParent(null);
} }
public void Impact() public void Impact()
{ {

View File

@ -1,4 +1,3 @@
using System.Collections; using System.Collections;
using UnityEngine; using UnityEngine;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;

View File

@ -9,7 +9,7 @@ public class JumpState : MovingState
private float expiredTime = 0; private float expiredTime = 0;
private float previousDeltaY = 0; private float previousDeltaY = 0;
private float jumpHeight; private float jumpHeight;
private float internalJumpTime = 0.7f; private float internalJumpTime = 0.55f;
public JumpState(PlayerStateMachine playerStateMachine, AnimationCurve curve) : base(playerStateMachine) public JumpState(PlayerStateMachine playerStateMachine, AnimationCurve curve) : base(playerStateMachine)
{ {
deltaYCurve = curve; deltaYCurve = curve;

View File

@ -5,20 +5,15 @@ using UnityEngine;
public class ChunkGenerator : MonoBehaviour public class ChunkGenerator : MonoBehaviour
{ {
//[SerializeField] private Coin coinPrefab; //[SerializeField] private Coin coinPrefab;
//[SerializeField] private Obstacle obstaclePrefab; [SerializeField] private Obstacle obstaclePrefab;
[SerializeField] private LaneSystem LaneSystem; [SerializeField] private LaneSystem LaneSystem;
[SerializeField] private int gridColumns;
public CoinPool CoinPool { get; private set; } public CoinPool CoinPool { get; private set; }
public ObstaclePool ObstaclePool { get; private set; } public ObstaclePool ObstaclePool { get; private set; }
private Vector3 obstacleSize;
private Vector3 coinSize;
private float coinElevation;
private int coinsOnLane;
private int maxCoinsOnLane = 7;
private void Awake() private void Awake()
{ {
//obstacleSize = obstaclePrefab.GetComponent<BoxCollider>().size; //obstacleSize = obstaclePrefab.GetComponent<BoxCollider>().size;
//coinSize = coinPrefab.GetComponent<BoxCollider>().size; //coinSize = coinPrefab.GetComponent<BoxCollider>().size;
//CoinPool = GetComponent<CoinPool>(); //CoinPool = GetComponent<CoinPool>();
@ -28,7 +23,21 @@ public class ChunkGenerator : MonoBehaviour
} }
public Chunk Generate(Chunk chunkToFill) public Chunk Generate(Chunk chunkToFill)
{ {
var obstacle = Instantiate(obstaclePrefab);
List<Vector3> gridPositions = new List<Vector3>();
foreach (var lane in LaneSystem.Lanes)
{
float lanePosition = lane * LaneSystem.LaneWidth;
for (int i = 0; i < gridColumns; i++)
{
Vector3 gridPosition = new Vector3(lanePosition,0, i * obstacle.Collider.size.z);
gridPositions.Add(gridPosition);
}
}
chunkToFill.Obstacles.Add(obstacle);
obstacle.transform.SetParent(chunkToFill.transform, false);
obstacle.transform.localPosition = gridPositions.GetRandomElement();
//// int randomChunkPrefab = Random.Range(0, chunkPrefabs.Count); //// int randomChunkPrefab = Random.Range(0, chunkPrefabs.Count);
////Chunk chunk = Instantiate(chunkPrefabs[randomChunkPrefab], new Vector3(), new Quaternion()); ////Chunk chunk = Instantiate(chunkPrefabs[randomChunkPrefab], new Vector3(), new Quaternion());
//Obstacle obstacle = ObstaclePool.GetFromPool();//chunkToFill.ObstaclePool.Get(); //Obstacle obstacle = ObstaclePool.GetFromPool();//chunkToFill.ObstaclePool.Get();

View File

@ -1,19 +1,16 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class ChunkSpawner : MonoBehaviour // TODO: ISpawner public class ChunkSpawner : MonoBehaviour // TODO: ISpawner
{ {
[SerializeField] private StraightChunk chunkPrefab;
[SerializeField] private TurningChunk turningChunkPrefab;
[SerializeField] [Range(1, 100)] private int chunkCount; [SerializeField] [Range(1, 100)] private int chunkCount;
[SerializeField] private float spawnDelay; [SerializeField] private float spawnDelay;
[SerializeField] private ChunkGenerator chunkGenerator; [SerializeField] private ChunkGenerator chunkGenerator;
[SerializeField] private ChunkPool chunkPool;
private ObjectPool<Chunk> chunkPool; //ÂÛÍÅÑÒÈ Â ÊËÀÑÑ
private Chunk lastChunk; private Chunk lastChunk;
private WaitForSeconds waitBeforeSpawn; private WaitForSeconds waitBeforeSpawn;
@ -29,58 +26,25 @@ public class ChunkSpawner : MonoBehaviour // TODO: ISpawner
} }
public void SpawnInitialChunks() public void SpawnInitialChunks()
{ {
chunkPool = new ObjectPool<Chunk>(CreateChunk, GetChunk, ReleaseChunk, chunkCount); lastChunk = chunkPool.GetFromPool();
lastChunk = chunkPool[0]; for (int i = 0; i < chunkPool.Capacity / 2; i++)
for (int i = 0; i < chunkCount / 2; i++)
{ {
Chunk chunk = chunkPool.Get(); Spawn();
chunk.ChangeTransformBasedOnPreviousChunk(lastChunk);
lastChunk = chunk;
} }
} }
private Chunk CreateChunk()
{
Chunk chunk = Instantiate(chunkPrefab);
chunk.Init(this);
chunk.transform.parent = this.transform;
chunk.gameObject.SetActive(false);
return chunk;
}
private void GetChunk(Chunk chunk)
{
chunk.gameObject.SetActive(true);
}
private void ReleaseChunk(Chunk chunk)
{
foreach (Coin coin in chunk.Coins)
{
//chunkGenerator.CoinPool.ReturnToPool(coin);
}
foreach (Obstacle obstacle in chunk.Obstacles)
{
//chunkGenerator.ObstaclePool.ReturnToPool(obstacle);
}
chunk.ResetToDefault();
chunk.Coins.Clear();
chunk.Obstacles.Clear();
chunk.gameObject.SetActive(false);
}
public void Spawn() public void Spawn()
{ {
Chunk newChunk = chunkPool.Get(); Chunk newChunk = chunkPool.GetFromPool();
newChunk.ChangeTransformBasedOnPreviousChunk(lastChunk); newChunk.ChangeTransformBasedOnPreviousChunk(lastChunk);
chunkGenerator.Generate(newChunk);
lastChunk = newChunk; lastChunk = newChunk;
} }
public void DelayedReturnToPool(Chunk chunk) public void DelayedReturnToPool(Chunk chunk)
{ {
StartCoroutine(ReturnToPool(chunk)); StartCoroutine(ReturnToPool(chunk));
} }
public IEnumerator ReturnToPool(Chunk chunk) //EVENT public IEnumerator ReturnToPool(Chunk chunk) //EVENT
{ {
yield return waitBeforeSpawn; yield return waitBeforeSpawn;

View File

@ -8,18 +8,10 @@ public enum EDirection { NORTH, SOUTH, EAST, WEST }
public abstract class Chunk : MonoBehaviour, IResettable public abstract class Chunk : MonoBehaviour, IResettable
{ {
protected ChunkSpawner spawner; protected ChunkSpawner spawner;
//[SerializeField] protected Coin defaultCoinPrefab;
//[SerializeField] protected Obstacle defaultObstaclePrefab;
[SerializeField] private Transform begin; [field: SerializeField] public Transform Begin { get; private set; }
[SerializeField] private Transform end; [field: SerializeField] public Transform End { get; private set; }
//[SerializeField] private float spawnCooldown;
//private float timeSinceLastSpawn = 0;
//10 <
public Transform Begin { get { return begin; } private set { begin = value; } }
public Transform End { get { return end; } private set { end = value; } }
public List<Coin> Coins { get; private set; } public List<Coin> Coins { get; private set; }
public List<Obstacle> Obstacles { get; private set; } public List<Obstacle> Obstacles { get; private set; }
public BoxCollider Collider { get; private set; } public BoxCollider Collider { get; private set; }

View File

@ -13,49 +13,41 @@ public class LaneSystem : MonoBehaviour,IResettable
public float CurrentOffset { get; private set; } public float CurrentOffset { get; private set; }
public int TargetLane { get; private set; } public int TargetLane { get; private set; }
//public int TargetLane public readonly Dictionary<int, float> LanesDict = new Dictionary<int, float>();
//{
// get
// {
// return targetLane;
// }
// set
// {
// if (value == targetLane)
// return;
// if (value < Lanes[0])
// {
// return;
// }
// if (value > Lanes[Lanes.Count-1])
// {
// return;
// }
// if (value < targetLane)
// {
// TargetPosition -= LaneWidth ;
// CurrentOffset -= LaneWidth;
// // DesiredDifference = -LaneWidth;
// }
// else
// {
// TargetPosition += LaneWidth; //+ AdditionalOffset;
// CurrentOffset += LaneWidth;
// // DesiredDifference = LaneWidth;
// }
// targetLane = value;
// }
//}
private void Awake() private void Awake()
{ {
Lanes = new List<int>(laneCount); Lanes = new List<int>(laneCount);
for (int i = 0; i < laneCount; i++) bool isLanesEven = laneCount % 2 == 0;
if (isLanesEven)
{
for (int i = -laneCount / 2; i < laneCount / 2; i++)
{ {
Lanes.Add(i); Lanes.Add(i);
} }
}
else
{
for (int i = -laneCount / 2; i <= laneCount / 2; i++)
{
Lanes.Add(i);
}
}
if (isLanesEven)
{
for (int i = -laneCount / 2; i < laneCount / 2; i++)
{
LanesDict.Add(i, i * LaneWidth);
}
}
else
{
for (int i = -laneCount / 2; i <= laneCount / 2; i++)
{
LanesDict.Add(i, i * LaneWidth);
}
}
ResetToDefault(); ResetToDefault();
} }
public void IncreaseTargetLane(int amount) public void IncreaseTargetLane(int amount)
@ -92,7 +84,7 @@ public class LaneSystem : MonoBehaviour,IResettable
public void ResetToDefault() public void ResetToDefault()
{ {
TargetLane = laneCount / 2; TargetLane = Lanes[laneCount / 2];
CurrentOffset = 0; CurrentOffset = 0;
CurrentPosition = 0; CurrentPosition = 0;
TargetPosition = 0; TargetPosition = 0;

View File

@ -2,13 +2,13 @@ using UnityEngine;
public class BasePool<T> : MonoBehaviour where T : MonoBehaviour public class BasePool<T> : MonoBehaviour where T : MonoBehaviour
{ {
[SerializeField] private int capacity; [field: SerializeField] public int Capacity { get; private set; }
[SerializeField] private T prefab; [SerializeField] private T prefab;
private ObjectPool<T> pool; private ObjectPool<T> pool;
private void Awake() private void Awake()
{ {
pool = new ObjectPool<T>(CreateAction, GetAction, ReturnAction, capacity); pool = new ObjectPool<T>(CreateAction, GetAction, ReturnAction, Capacity);
} }
protected virtual T CreateAction() protected virtual T CreateAction()

View File

@ -1,7 +1,5 @@
using System; using UnityEngine;
using System.Collections;
using UnityEngine;
[RequireComponent(typeof(ChunkSpawner))]
public class ChunkPool : BasePool<Chunk> public class ChunkPool : BasePool<Chunk>
{ {
[SerializeField] private ChunkSpawner spawner; [SerializeField] private ChunkSpawner spawner;
@ -10,6 +8,7 @@ public class ChunkPool : BasePool<Chunk>
{ {
Chunk chunk = base.CreateAction(); Chunk chunk = base.CreateAction();
chunk.Init(spawner); chunk.Init(spawner);
chunk.transform.position = new Vector3(0,0,0);
return chunk; return chunk;
} }
@ -26,6 +25,11 @@ public class ChunkPool : BasePool<Chunk>
//} //}
chunk.ResetToDefault(); chunk.ResetToDefault();
chunk.Coins.Clear(); chunk.Coins.Clear();
foreach (var obstacle in chunk.Obstacles)
{
obstacle.transform.SetParent(null);
obstacle.ResetToDefault();
}
chunk.Obstacles.Clear(); chunk.Obstacles.Clear();
} }
} }

View File

@ -63,7 +63,9 @@ public class ObjectPool<T> : IEnumerable<T> where T : MonoBehaviour
{ {
return element; return element;
} }
return ExpandPool(); T instance = ExpandPool();
instance.gameObject.SetActive(true);
return instance;
} }
private bool TryGet(out T element) private bool TryGet(out T element)
{ {

View File

@ -0,0 +1,7 @@
folderAsset: yes
timeCreated: 1496487791
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant: