풀링 매니저 생성 및 풀링 기능 구현
- 테스트 프리팹 삭제
This commit is contained in:
@@ -1,386 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &915084269163941034
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9157563414137814988}
|
||||
- component: {fileID: 1669039611117778237}
|
||||
- component: {fileID: 4501582237680578413}
|
||||
- component: {fileID: 553809338231445949}
|
||||
m_Layer: 0
|
||||
m_Name: Top
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9157563414137814988
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 915084269163941034}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0.991388, z: 0}
|
||||
m_LocalScale: {x: 0.9833108, y: 1, z: 1.2392095}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7982554095090856795}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1669039611117778237
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 915084269163941034}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &4501582237680578413
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 915084269163941034}
|
||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
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_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &553809338231445949
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 915084269163941034}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1956235824809146890
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8951488012427748104}
|
||||
- component: {fileID: 2552915270939217060}
|
||||
- component: {fileID: 1585685183397472686}
|
||||
- component: {fileID: 3429035409765412211}
|
||||
m_Layer: 0
|
||||
m_Name: Body
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8951488012427748104
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1956235824809146890}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 2.9248104, y: 1, z: 2.3927662}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7982554095090856795}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &2552915270939217060
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1956235824809146890}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &1585685183397472686
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1956235824809146890}
|
||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
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_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &3429035409765412211
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1956235824809146890}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2486828924698839810
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7982554095090856795}
|
||||
- component: {fileID: 4891092825726548775}
|
||||
m_Layer: 0
|
||||
m_Name: Tank
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7982554095090856795
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2486828924698839810}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.93789, y: -0, z: 3.10943}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8951488012427748104}
|
||||
- {fileID: 9157563414137814988}
|
||||
- {fileID: 3789246917314340192}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4891092825726548775
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2486828924698839810}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 07c76605d2feab34488f71316e532b7f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerController
|
||||
_speed: 12
|
||||
--- !u!1 &6214334181300194926
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3789246917314340192}
|
||||
- component: {fileID: 55758036210793963}
|
||||
- component: {fileID: 8212895875001029362}
|
||||
- component: {fileID: 7385477365426474313}
|
||||
m_Layer: 0
|
||||
m_Name: Cannon
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3789246917314340192
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6214334181300194926}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: -0.7071068}
|
||||
m_LocalPosition: {x: -0.042509675, y: 0.991388, z: 1.0764244}
|
||||
m_LocalScale: {x: 0.9833108, y: 0.07904805, z: 0.15277435}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7982554095090856795}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &55758036210793963
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6214334181300194926}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &8212895875001029362
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6214334181300194926}
|
||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
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_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &7385477365426474313
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6214334181300194926}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e005d875317734c43aa815d066b4e246
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -260,91 +260,6 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &682105181 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
m_PrefabInstance: {fileID: 1814897681}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!54 &682105185
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 682105181}
|
||||
serializedVersion: 5
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 112
|
||||
m_CollisionDetection: 0
|
||||
--- !u!136 &682105186
|
||||
CapsuleCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 682105181}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.23927562
|
||||
m_Height: 1.609401
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0.007105574, y: 0.76646554, z: 0}
|
||||
--- !u!64 &682105188
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 682105181}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 5
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 0}
|
||||
--- !u!81 &682105192
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 682105181}
|
||||
m_Enabled: 1
|
||||
--- !u!1 &1226977306
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -598,83 +513,6 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &1814897681
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6479433677437948891, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_Controller
|
||||
value:
|
||||
objectReference: {fileID: 9100000, guid: 49d3745b206d40749a8c343850d5963c, type: 2}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447282045, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: UnityChan
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 682105185}
|
||||
- targetCorrespondingSourceObject: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 682105186}
|
||||
- targetCorrespondingSourceObject: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 682105188}
|
||||
- targetCorrespondingSourceObject: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 682105192}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
--- !u!1001 &6313602676529983552
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -733,12 +571,12 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7913673174402568066, guid: c205e6192e40d184d9575898286a4164, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8492949395926690621, guid: c205e6192e40d184d9575898286a4164, type: 3}
|
||||
propertyPath: _player
|
||||
value:
|
||||
objectReference: {fileID: 682105181}
|
||||
objectReference: {fileID: 6479433677447438685, guid: e90488251cab05045aa6e1baa6774cc1, type: 3}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
@@ -750,7 +588,6 @@ SceneRoots:
|
||||
m_Roots:
|
||||
- {fileID: 410087041}
|
||||
- {fileID: 6313602676529983552}
|
||||
- {fileID: 1814897681}
|
||||
- {fileID: 1359563803}
|
||||
- {fileID: 1226977311}
|
||||
- {fileID: 471687216}
|
||||
|
||||
@@ -6,12 +6,14 @@ public class Managers : MonoBehaviour
|
||||
static Managers Instance { get { Init(); return s_instance; } } // 유일한 매니저를 가져온다.
|
||||
|
||||
InputManager _input = new InputManager();
|
||||
PoolManager _pool = new PoolManager();
|
||||
ResourceManager _resource = new ResourceManager();
|
||||
SceneManagerEx _scene = new SceneManagerEx();
|
||||
SoundManager _sound = new SoundManager();
|
||||
UIManager _ui = new UIManager();
|
||||
|
||||
public static InputManager Input { get { return Instance._input; } }
|
||||
public static PoolManager Pool { get { return Instance._pool; } }
|
||||
public static ResourceManager Resource { get { return Instance._resource; } }
|
||||
public static SceneManagerEx Scene { get { return Instance._scene; } }
|
||||
public static SoundManager Sound { get { return Instance._sound; } }
|
||||
@@ -44,6 +46,7 @@ public class Managers : MonoBehaviour
|
||||
DontDestroyOnLoad(go);
|
||||
s_instance = go.GetComponent<Managers>();
|
||||
|
||||
s_instance._pool.Init();
|
||||
s_instance._sound.Init();
|
||||
}
|
||||
}
|
||||
@@ -54,5 +57,7 @@ public class Managers : MonoBehaviour
|
||||
Input.Clear();
|
||||
Scene.Clear();
|
||||
UI.Clear();
|
||||
|
||||
Pool.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
140
Assets/Scripts/Managers/PoolManager.cs
Normal file
140
Assets/Scripts/Managers/PoolManager.cs
Normal file
@@ -0,0 +1,140 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class PoolManager
|
||||
{
|
||||
#region Pool
|
||||
class Pool
|
||||
{
|
||||
public GameObject Original { get; private set; }
|
||||
public Transform Root { get; set; }
|
||||
|
||||
Stack<Poolable> _poolStack = new Stack<Poolable>();
|
||||
|
||||
public void Init(GameObject original, int count = 5)
|
||||
{
|
||||
Original = original;
|
||||
Root = new GameObject().transform;
|
||||
Root.name = $"{original.name}_Root";
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
Push(Create());
|
||||
}
|
||||
}
|
||||
|
||||
Poolable Create()
|
||||
{
|
||||
GameObject go = Object.Instantiate<GameObject>(Original);
|
||||
go.name = Original.name;
|
||||
return go.GetOrAddComponent<Poolable>();
|
||||
|
||||
}
|
||||
|
||||
public void Push(Poolable poolable)
|
||||
{
|
||||
if (poolable == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
poolable.transform.parent = Root;
|
||||
poolable.gameObject.SetActive(false);
|
||||
poolable.IsUsing = false;
|
||||
|
||||
_poolStack.Push(poolable);
|
||||
}
|
||||
|
||||
public Poolable Pop(Transform parent)
|
||||
{
|
||||
Poolable poolable ;
|
||||
|
||||
if (_poolStack.Count > 0)
|
||||
{
|
||||
poolable = _poolStack.Pop();
|
||||
}
|
||||
else
|
||||
{
|
||||
poolable = Create();
|
||||
}
|
||||
|
||||
poolable.gameObject.SetActive(true);
|
||||
|
||||
// DontDestroyOnLoad 해제 용도
|
||||
if (parent == null)
|
||||
{
|
||||
poolable.transform.parent = Managers.Scene.CurrentScene.transform;
|
||||
}
|
||||
|
||||
poolable.transform.parent = parent;
|
||||
poolable.IsUsing = true;
|
||||
|
||||
return poolable;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
Dictionary<string, Pool> _pool = new Dictionary<string, Pool>();
|
||||
|
||||
Transform _root;
|
||||
|
||||
public void Init()
|
||||
{
|
||||
if (_root == null)
|
||||
{
|
||||
_root = new GameObject { name = "@Pool_Root" }.transform;
|
||||
Object.DontDestroyOnLoad(_root);
|
||||
}
|
||||
}
|
||||
|
||||
public void CreatePool(GameObject original, int count = 5)
|
||||
{
|
||||
Pool pool = new Pool();
|
||||
pool.Init(original, count);
|
||||
pool.Root.parent = _root;
|
||||
|
||||
_pool.Add(original.name, pool);
|
||||
}
|
||||
|
||||
public void Push(Poolable poolable)
|
||||
{
|
||||
string name = poolable.gameObject.name;
|
||||
if (_pool.ContainsKey(name) == false)
|
||||
{
|
||||
GameObject.Destroy(poolable.gameObject);
|
||||
return;
|
||||
}
|
||||
|
||||
_pool[name].Push(poolable);
|
||||
}
|
||||
|
||||
public Poolable Pop(GameObject original, Transform parent = null)
|
||||
{
|
||||
if (_pool.ContainsKey(original.name) == false)
|
||||
{
|
||||
CreatePool(original);
|
||||
}
|
||||
|
||||
return _pool[original.name].Pop(parent);
|
||||
}
|
||||
|
||||
public GameObject GetOriginal(string name)
|
||||
{
|
||||
if (_pool.ContainsKey(name) == false)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return _pool[name].Original;
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
foreach (Transform child in _root)
|
||||
{
|
||||
GameObject.Destroy(child.gameObject);
|
||||
}
|
||||
|
||||
_pool.Clear();
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Managers/PoolManager.cs.meta
Normal file
2
Assets/Scripts/Managers/PoolManager.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b0bd1424e21567b40910e9ff8c3122f6
|
||||
6
Assets/Scripts/Managers/Poolable.cs
Normal file
6
Assets/Scripts/Managers/Poolable.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class Poolable : MonoBehaviour
|
||||
{
|
||||
public bool IsUsing;
|
||||
}
|
||||
2
Assets/Scripts/Managers/Poolable.cs.meta
Normal file
2
Assets/Scripts/Managers/Poolable.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 215467617c5fd064188f16c055e8d51a
|
||||
@@ -4,27 +4,43 @@ public class ResourceManager
|
||||
{
|
||||
public T Load<T>(string path) where T : Object
|
||||
{
|
||||
if(typeof(T) == typeof(GameObject))
|
||||
{
|
||||
string name = path;
|
||||
int index = name.LastIndexOf('/');
|
||||
|
||||
if (index >= 0)
|
||||
{
|
||||
name = name.Substring(index + 1);
|
||||
}
|
||||
|
||||
GameObject go = Managers.Pool.GetOriginal(name);
|
||||
|
||||
if (go != null)
|
||||
{
|
||||
return go as T;
|
||||
}
|
||||
}
|
||||
|
||||
return Resources.Load<T>(path);
|
||||
}
|
||||
|
||||
public GameObject Instantiate(string path, Transform parent = null)
|
||||
{
|
||||
GameObject prefab = Load<GameObject>($"Prefabs/{path}");
|
||||
if (prefab == null)
|
||||
GameObject original = Load<GameObject>($"Prefabs/{path}");
|
||||
if (original == null)
|
||||
{
|
||||
Debug.Log($"Failed to load prefab : {path}");
|
||||
return null;
|
||||
}
|
||||
|
||||
GameObject go = Object.Instantiate(prefab, parent);
|
||||
int index = go.name.IndexOf("(Clone)");
|
||||
|
||||
if (index >= 0)
|
||||
if (original.GetComponent<Poolable>() != null)
|
||||
{
|
||||
// go.name = go.name.Substring(0, index);
|
||||
go.name = go.name.Remove(index);
|
||||
return Managers.Pool.Pop(original, parent).gameObject;
|
||||
}
|
||||
|
||||
GameObject go = Object.Instantiate(original, parent);
|
||||
go.name = original.name;
|
||||
return go;
|
||||
}
|
||||
|
||||
@@ -34,6 +50,14 @@ public class ResourceManager
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Poolable poolable = go.GetComponent<Poolable>();
|
||||
if (poolable != null)
|
||||
{
|
||||
Managers.Pool.Push(poolable);
|
||||
return;
|
||||
}
|
||||
|
||||
Object.Destroy(go);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,11 @@ public class GameScene : BaseScene
|
||||
SceneType = Define.Scene.Game;
|
||||
|
||||
Managers.UI.ShowSceneUI<UI_Inven>();
|
||||
|
||||
for(int i = 0; i < 5; i++)
|
||||
{
|
||||
Managers.Resource.Instantiate("UnityChan");
|
||||
}
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
@@ -7,7 +8,18 @@ public class LoginScene : BaseScene
|
||||
{
|
||||
base.Init();
|
||||
|
||||
SceneType = Define.Scene.Lobby;
|
||||
SceneType = Define.Scene.Login;
|
||||
|
||||
List<GameObject> list = new List<GameObject>();
|
||||
for(int i = 0; i < 5; i++)
|
||||
{
|
||||
list.Add(Managers.Resource.Instantiate("UnityChan"));
|
||||
}
|
||||
|
||||
foreach (GameObject obj in list)
|
||||
{
|
||||
Managers.Resource.Destroy(obj);
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
|
||||
Reference in New Issue
Block a user