도로 생성 및 흐름 작업 완료

This commit is contained in:
fiore 2025-01-23 14:52:15 +09:00
parent 098306798f
commit fd37102594
14 changed files with 530 additions and 249 deletions

13
.idea/.idea.hyper-racer/.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,13 @@
# 디폴트 무시된 파일
/shelf/
/workspace.xml
# Rider에서 무시된 파일
/contentModel.xml
/modules.xml
/.idea.hyper-racer.iml
/projectSettingsUpdater.xml
# 에디터 기반 HTTP 클라이언트 요청
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

6
.idea/.idea.hyper-racer/.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -9,9 +9,12 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 5008924908329562417}
- component: {fileID: 6725779848200828261}
- component: {fileID: 3413363630203867387}
- component: {fileID: 5109171103557533979}
m_Layer: 0
m_Name: Car
m_TagString: Untagged
m_TagString: Player
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
@ -32,6 +35,66 @@ Transform:
- {fileID: 1784336456945261021}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6725779848200828261
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 760539630995037048}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b895886c69b2a2f46becc4c401a46d41, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!65 &3413363630203867387
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 760539630995037048}
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: 0.5, y: 0.5, z: 1}
m_Center: {x: 0, y: 0.3, z: 0}
--- !u!54 &5109171103557533979
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 760539630995037048}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 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: 1
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!1 &1020141606158369988
GameObject:
m_ObjectHideFlags: 0
@ -43,7 +106,6 @@ GameObject:
- component: {fileID: 1784336456945261021}
- component: {fileID: 634751819130617363}
- component: {fileID: 1942844400824365698}
- component: {fileID: 3240914084039788826}
m_Layer: 0
m_Name: Car Model
m_TagString: Untagged
@ -116,24 +178,3 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &3240914084039788826
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1020141606158369988}
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}

View File

@ -11,7 +11,6 @@ GameObject:
- component: {fileID: 2797165861471716645}
- component: {fileID: 6601045137243288556}
- component: {fileID: 4428132594534793092}
- component: {fileID: 3239040711238787068}
m_Layer: 0
m_Name: Left Wall
m_TagString: Untagged
@ -84,27 +83,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &3239040711238787068
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2145145660633328863}
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 &4369078642710373103
GameObject:
m_ObjectHideFlags: 0
@ -116,7 +94,6 @@ GameObject:
- component: {fileID: 4118850787427677521}
- component: {fileID: 6870227808342940373}
- component: {fileID: 6617408307785989021}
- component: {fileID: 9215493061109789446}
m_Layer: 0
m_Name: Right Wall
m_TagString: Untagged
@ -189,27 +166,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &9215493061109789446
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4369078642710373103}
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 &5727221990906001058
GameObject:
m_ObjectHideFlags: 0
@ -219,6 +175,8 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4178132661795734011}
- component: {fileID: 6528481743159623274}
- component: {fileID: 6120861585028208109}
m_Layer: 0
m_Name: Road
m_TagString: Untagged
@ -244,6 +202,39 @@ Transform:
- {fileID: 4118850787427677521}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6528481743159623274
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5727221990906001058}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3406ee5e48dd5a847857f84a17ea44df, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!65 &6120861585028208109
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5727221990906001058}
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: 3
m_Size: {x: 4, y: 0.5, z: 10}
m_Center: {x: 0, y: 0.25, z: 0}
--- !u!1 &8959781656392176700
GameObject:
m_ObjectHideFlags: 0

View File

@ -157,7 +157,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0, y: -50}
m_SizeDelta: {x: 200, y: 50}
m_SizeDelta: {x: 300, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &235866482
MonoBehaviour:
@ -206,8 +206,8 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontSize: 44
m_fontSizeBase: 44
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
@ -267,7 +267,8 @@ GameObject:
- component: {fileID: 436294420}
- component: {fileID: 436294423}
- component: {fileID: 436294422}
- component: {fileID: 436294421}
- component: {fileID: 436294425}
- component: {fileID: 436294424}
m_Layer: 5
m_Name: RightMoveButton
m_TagString: Untagged
@ -294,50 +295,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &436294421
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 436294419}
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: 436294422}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &436294422
MonoBehaviour:
m_ObjectHideFlags: 0
@ -376,6 +333,63 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 436294419}
m_CullTransparentMesh: 1
--- !u!114 &436294424
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 436294419}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3637266a3325f4148938cc42f691b2bf, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &436294425
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 436294419}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Delegates:
- eventID: 2
callback:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 436294424}
m_TargetAssemblyTypeName: MoveButton, Assembly-CSharp
m_MethodName: ButtonDown
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- eventID: 3
callback:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 436294424}
m_TargetAssemblyTypeName: MoveButton, Assembly-CSharp
m_MethodName: ButtonUp
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &722205835
GameObject:
m_ObjectHideFlags: 0
@ -504,7 +518,7 @@ Camera:
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
@ -530,7 +544,7 @@ Transform:
m_GameObject: {fileID: 931054082}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 10, z: 0}
m_LocalPosition: {x: 0, y: 8, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -580,6 +594,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0698b7f52bbf6d14882b7c9da029d07d, type: 3}
m_Name:
m_EditorClassIdentifier:
carPrefab: {fileID: 760539630995037048, guid: 103fb7e71e4459e4b93a7b0891f9d844, type: 3}
roadPrefab: {fileID: 5727221990906001058, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
leftMoveButton: {fileID: 2056539410}
rightMoveButton: {fileID: 436294424}
--- !u!1 &1382488884
GameObject:
m_ObjectHideFlags: 0
@ -722,7 +740,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
@ -778,63 +796,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1001 &1647335606
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4178132661795734011, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5727221990906001058, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
propertyPath: m_Name
value: Road
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 25a54d19bf0cf244fa383ef163ec519b, type: 3}
--- !u!1 &2056539405
GameObject:
m_ObjectHideFlags: 0
@ -846,7 +807,8 @@ GameObject:
- component: {fileID: 2056539406}
- component: {fileID: 2056539409}
- component: {fileID: 2056539408}
- component: {fileID: 2056539407}
- component: {fileID: 2056539411}
- component: {fileID: 2056539410}
m_Layer: 5
m_Name: LeftMoveButton
m_TagString: Untagged
@ -873,50 +835,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2056539407
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056539405}
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: 2056539408}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &2056539408
MonoBehaviour:
m_ObjectHideFlags: 0
@ -955,6 +873,63 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056539405}
m_CullTransparentMesh: 1
--- !u!114 &2056539410
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056539405}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3637266a3325f4148938cc42f691b2bf, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &2056539411
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056539405}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Delegates:
- eventID: 2
callback:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 2056539410}
m_TargetAssemblyTypeName: MoveButton, Assembly-CSharp
m_MethodName: ButtonDown
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- eventID: 3
callback:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 2056539410}
m_TargetAssemblyTypeName: MoveButton, Assembly-CSharp
m_MethodName: ButtonUp
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@ -962,6 +937,5 @@ SceneRoots:
- {fileID: 931054085}
- {fileID: 1382488886}
- {fileID: 1017920448}
- {fileID: 1647335606}
- {fileID: 1448752094}
- {fileID: 722205838}

View File

@ -4,15 +4,8 @@ using UnityEngine;
public class CarController : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public void Move(float direction)
{
transform.Translate(Vector3.right * (direction * Time.deltaTime));
}
}

View File

@ -1,18 +1,118 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;
public class GameManager : MonoBehaviour
{
// Start is called before the first frame update
void Start()
// 프리팹
[Header("Prefabs")]
[SerializeField] private GameObject carPrefab;
[SerializeField] private GameObject roadPrefab;
// UI 관련 코드
[SerializeField] private MoveButton leftMoveButton;
[SerializeField] private MoveButton rightMoveButton;
// 도로 오브젝트 풀
private Queue<GameObject> _roadPool = new Queue<GameObject>();
private const int RoadPoolSize = 3;
// 도로 이동
private List<GameObject> _activeRoads = new List<GameObject>();
// 싱글톤
private static GameManager _instance;
public static GameManager Instance
{
get
{
if(_instance == null)
{
_instance = FindObjectOfType<GameManager>();
}
return _instance;
}
}
// Update is called once per frame
void Update()
private void Awake()
{
if (_instance != null && _instance != this)
{
Destroy(this.gameObject);
}
else
{
_instance = this;
}
}
private void Start()
{
// Road 오브젝트 풀 초기화
InitializeRoadPool();
StartGame();
}
private void Update()
{
// 활성화된 도로를 아래로 서서히 이동
foreach (var activeRoad in _activeRoads)
{
activeRoad.transform.Translate(Vector3.back * Time.deltaTime);
}
}
private void StartGame()
{
// 도로 생성
SpawnRoad(Vector3.zero);
// 자동차 생성
var carController = Instantiate(carPrefab, new Vector3(0, 0, -3f), Quaternion.identity)
.GetComponent<CarController>();
// left, right move button에 자동차 컨트롤 기능 적용
leftMoveButton.OnMoveButtonDown += () => carController.Move(-1f);
rightMoveButton.OnMoveButtonDown += () => carController.Move(1f);
}
// 도로 생성 및 관리
#region
/// <summary>
/// 도로 오브젝트 풀 초기화
/// </summary>
private void InitializeRoadPool()
{
for (int i = 0; i < RoadPoolSize; i++)
{
GameObject road = Instantiate(roadPrefab);
road.SetActive(false);
_roadPool.Enqueue(road);
}
}
/// <summary>
/// 도로 오브젝트 풀에서 불러와 배치하는 함수
/// </summary>
public void SpawnRoad(Vector3 position)
{
if (_roadPool.Count > 0)
{
GameObject road = _roadPool.Dequeue();
road.transform.position = position;
road.SetActive(true);
// 활성화 된 길을 움직이기 위해 List에 저장
_activeRoads.Add(road);
}
else
{
GameObject road = Instantiate(roadPrefab, position, Quaternion.identity);
_activeRoads.Add(road);
}
}
#endregion
}

View File

@ -0,0 +1,30 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveButton : MonoBehaviour
{
public delegate void MoveButtonDelegate();
public event MoveButtonDelegate OnMoveButtonDown;
private bool _isDown;
private void Update()
{
if (_isDown)
{
// do something...
OnMoveButtonDown.Invoke();
}
}
public void ButtonDown()
{
_isDown = true;
}
public void ButtonUp()
{
_isDown = false;
}
}

View File

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

View File

@ -4,15 +4,29 @@ using UnityEngine;
public class RoadController : MonoBehaviour
{
// Start is called before the first frame update
void Start()
/// <summary>
/// 플레이어 차량이 도로에 진입하면 다음 도로를 생성
/// </summary>
/// <param name="other"></param>
private void OnTriggerEnter(Collider other)
{
Debug.Log("Enter?");
if (other.CompareTag("Player"))
{
GameManager.Instance.SpawnRoad(transform.position + new Vector3(0,0,10));
}
}
// Update is called once per frame
void Update()
/// <summary>
/// 플레이어 차량이 도로를 벗어나면 해당 도로를 제거
/// </summary>
/// <param name="other"></param>
private void OnTriggerExit(Collider other)
{
Debug.Log("Exit?");
if (other.CompareTag("Player"))
{
}
}
}

View File

@ -4,5 +4,8 @@
EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes: []
m_Scenes:
- enabled: 1
path: Assets/Scenes/Game.unity
guid: 72e80415c03009f4d8c429120ef81f97
m_configObjects: {}

View File

@ -161,7 +161,8 @@ PlayerSettings:
resetResolutionOnWindowResize: 0
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
applicationIdentifier: {}
applicationIdentifier:
Android: com.DefaultCompany.hyperracer
buildNumber:
Standalone: 0
VisionOS: 0
@ -284,7 +285,99 @@ PlayerSettings:
AndroidValidateAppBundleSize: 1
AndroidAppBundleSizeToValidate: 150
m_BuildTargetIcons: []
m_BuildTargetPlatformIcons: []
m_BuildTargetPlatformIcons:
- m_BuildTarget: Android
m_Icons:
- m_Textures: []
m_Width: 432
m_Height: 432
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 324
m_Height: 324
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 216
m_Height: 216
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 162
m_Height: 162
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 108
m_Height: 108
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 81
m_Height: 81
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 192
m_Height: 192
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 144
m_Height: 144
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 96
m_Height: 96
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 72
m_Height: 72
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 48
m_Height: 48
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 36
m_Height: 36
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 192
m_Height: 192
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 144
m_Height: 144
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 96
m_Height: 96
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 72
m_Height: 72
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 48
m_Height: 48
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 36
m_Height: 36
m_Kind: 0
m_SubKind:
m_BuildTargetBatching:
- m_BuildTarget: Standalone
m_StaticBatching: 1
@ -679,7 +772,7 @@ PlayerSettings:
m_RenderingPath: 1
m_MobileRenderingPath: 1
metroPackageName: hyper-racer
metroPackageVersion:
metroPackageVersion: 1.0.0.0
metroCertificatePath:
metroCertificatePassword:
metroCertificateSubject:
@ -687,7 +780,7 @@ PlayerSettings:
metroCertificateNotAfter: 0000000000000000
metroApplicationDescription: hyper-racer
wsaImages: {}
metroTileShortName:
metroTileShortName: hyper-racer
metroTileShowName: 0
metroMediumTileShowName: 0
metroLargeTileShowName: 0