Commit a36508da authored by Chae Ho Shin's avatar Chae Ho Shin

few major bug fix, add two tutorial levels

parent 98b89919
......@@ -13,7 +13,7 @@ GameObject:
- component: {fileID: 951264406399792024}
- component: {fileID: 951264406399792026}
m_Layer: 1
m_Name: Background (1)
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -76,8 +76,8 @@ SpriteRenderer:
m_Color: {r: 0.04416871, g: 1, b: 0, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 2
m_Size: {x: 0.01, y: 0.01}
m_DrawMode: 1
m_Size: {x: 0.16, y: 0.16}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 0
......
......@@ -410,7 +410,7 @@ MonoBehaviour:
- "\u3147\u3147"
winstate: 0
DoubleClickMove: 1
PathRanderMove: 1
PathRenderMove: 1
WASDMove: 1
Todo:
--- !u!1 &332710466
......@@ -747,6 +747,7 @@ MonoBehaviour:
velocityslider: {fileID: 260633610}
accelslider: {fileID: 1086622590}
interactText: {fileID: 527034809}
thegrid: {fileID: 1489254841}
canvas: {fileID: 1193230064}
mytime: {fileID: 1678224219}
wintext: {fileID: 512200287}
......@@ -760,6 +761,7 @@ MonoBehaviour:
scrollSpeed: 5
WASDMove: 1
DoubleCLickMove: 1
PathMove: 1
alert: {fileID: 1878497986}
--- !u!4 &394305456
Transform:
......@@ -1220,7 +1222,7 @@ MonoBehaviour:
gamma: 1
time: 0
theobject: {fileID: 535323107}
mass: 10
mass: 1
starttime: 0
otherclock: {fileID: 1094934749}
--- !u!4 &535323109
......@@ -2873,7 +2875,7 @@ MonoBehaviour:
gamma: 1
time: 0
theobject: {fileID: 1094934748}
mass: 10
mass: 1
starttime: 0
otherclock: {fileID: 535323108}
--- !u!4 &1094934750
......@@ -3620,6 +3622,99 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1477382725}
m_CullTransparentMesh: 0
--- !u!1 &1489254840
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1489254843}
- component: {fileID: 1489254842}
- component: {fileID: 1489254841}
m_Layer: 1
m_Name: grid
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1489254841
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1489254840}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 99fc8cfec3b50be41b7fe68464704a73, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!212 &1489254842
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1489254840}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, 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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 21300000, guid: 0fc4471cd9111ad48a42227a09dacb03, type: 3}
m_Color: {r: 0.04416871, g: 1, b: 0, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 1
m_Size: {x: 3.68, y: 3.68}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!4 &1489254843
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1489254840}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -300, z: -30}
m_LocalScale: {x: 500.00003, y: 500.00058, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 15
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1496132462
GameObject:
m_ObjectHideFlags: 0
......@@ -3759,7 +3854,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Bits: 277
m_RenderingPath: 1
m_TargetTexture: {fileID: 8400000, guid: 13da20cf2d7183242bb9d73fcb1d0b9d, type: 2}
m_TargetDisplay: 1
......@@ -4753,6 +4848,41 @@ PrefabInstance:
propertyPath: m_Name
value: Player
objectReference: {fileID: 0}
- target: {fileID: 951264407572948427, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: levelManager
value:
objectReference: {fileID: 279236944}
- target: {fileID: 951264407572948427, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: uiManager
value:
objectReference: {fileID: 394305455}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: square
value:
objectReference: {fileID: 934514725}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: playercamera
value:
objectReference: {fileID: 1661408489}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: levelManager
value:
objectReference: {fileID: 279236944}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: velocityslider
value:
objectReference: {fileID: 260633610}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: ui
value:
objectReference: {fileID: 394305455}
- target: {fileID: 951264407572948426, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: m_LocalPosition.x
......@@ -4808,45 +4938,15 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 951264407572948427, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: levelManager
value:
objectReference: {fileID: 279236944}
- target: {fileID: 951264407572948427, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: uiManager
value:
objectReference: {fileID: 394305455}
- target: {fileID: 951264407063557759, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: plane
value:
objectReference: {fileID: 1756789504}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: square
value:
objectReference: {fileID: 934514725}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: playercamera
value:
objectReference: {fileID: 1661408489}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
- target: {fileID: 951264406399792026, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: levelManager
value:
objectReference: {fileID: 279236944}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: velocityslider
value:
objectReference: {fileID: 260633610}
- target: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: ui
value:
objectReference: {fileID: 394305455}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: cbc6e3e1c08a170489e9a338eee1257f, type: 3}
......@@ -199,6 +199,148 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185974433}
m_CullTransparentMesh: 0
--- !u!1 &195638883
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 195638890}
- component: {fileID: 195638889}
- component: {fileID: 195638888}
- component: {fileID: 195638887}
- component: {fileID: 195638886}
- component: {fileID: 195638885}
- component: {fileID: 195638884}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &195638884
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 195638883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c677c933585d0ee4dbfe7483ac9f8c84, type: 3}
m_Name:
m_EditorClassIdentifier:
plane: {fileID: 1756789504}
normal: {x: 0, y: 0, z: 0}
position: {x: 0, y: 0, z: 0}
rend: {fileID: 0}
--- !u!114 &195638885
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 195638883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d99664edeab700d4ca972d282f99515b, type: 3}
m_Name:
m_EditorClassIdentifier:
time: 0.1
leaveworldline: 1
--- !u!54 &195638886
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 195638883}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!64 &195638887
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 195638883}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 3
m_Convex: 1
m_CookingOptions: 14
m_Mesh: {fileID: -2124705421725058983, guid: db9a445e4a11ade4d904734fbba0a248, type: 3}
--- !u!23 &195638888
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 195638883}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: e66a567e0ab16b347baded88f1041a81, 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
--- !u!33 &195638889
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 195638883}
m_Mesh: {fileID: -2124705421725058983, guid: db9a445e4a11ade4d904734fbba0a248, type: 3}
--- !u!4 &195638890
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 195638883}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 352254738}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &260633608
GameObject:
m_ObjectHideFlags: 0
......@@ -382,7 +524,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &279236944
MonoBehaviour:
......@@ -408,11 +550,8 @@ MonoBehaviour:
WASDMove: 0
Todo:
target1: {fileID: 535323107}
target2: {fileID: 0}
target3: {fileID: 0}
ExplanationText2:
- aa
- bb
target2: {fileID: 881720961}
target3: {fileID: 352254736}
--- !u!1 &332710466
GameObject:
m_ObjectHideFlags: 0
......@@ -477,7 +616,64 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 10
m_RootOrder: 13
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &352254736
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 352254738}
- component: {fileID: 352254737}
m_Layer: 0
m_Name: Target3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &352254737
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 352254736}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0929f04736a5c0c46825d62485feb8be, type: 3}
m_Name:
m_EditorClassIdentifier:
objectType: 2
collisionPreset: 2
beta: 0
alpha: {x: 0, y: 0, z: 0}
v: {x: 0, y: 0, z: 0}
orientation: {x: 0, y: 0, z: 0}
levelManager: {fileID: 279236944}
gamma: 1
time: 0
apparenttime: 0
theobject: {fileID: 195638883}
mass: 10
isClock: 0
--- !u!4 &352254738
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 352254736}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -94.6, y: 0.87, z: 7.85}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 195638890}
m_Father: {fileID: 0}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &353909220
GameObject:
......@@ -747,6 +943,7 @@ MonoBehaviour:
velocityslider: {fileID: 260633610}
accelslider: {fileID: 1086622590}
interactText: {fileID: 527034809}
thegrid: {fileID: 992268924}
canvas: {fileID: 1193230064}
mytime: {fileID: 1678224219}
wintext: {fileID: 512200287}
......@@ -760,6 +957,7 @@ MonoBehaviour:
scrollSpeed: 5
WASDMove: 1
DoubleCLickMove: 1
PathMove: 1
alert: {fileID: 1878497986}
--- !u!4 &394305456
Transform:
......@@ -773,7 +971,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 9
m_RootOrder: 11
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &394305457
MonoBehaviour:
......@@ -789,6 +987,148 @@ MonoBehaviour:
m_EditorClassIdentifier:
sd: {fileID: 4717358246729322577, guid: ea897371ce88d8541b961fedac9ceb8e, type: 3}
canvas: {fileID: 1193230064}
--- !u!1 &495624250
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 495624257}
- component: {fileID: 495624256}
- component: {fileID: 495624255}
- component: {fileID: 495624254}
- component: {fileID: 495624253}
- component: {fileID: 495624252}
- component: {fileID: 495624251}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &495624251
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 495624250}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c677c933585d0ee4dbfe7483ac9f8c84, type: 3}
m_Name:
m_EditorClassIdentifier:
plane: {fileID: 1756789504}
normal: {x: 0, y: 0, z: 0}
position: {x: 0, y: 0, z: 0}
rend: {fileID: 0}
--- !u!114 &495624252
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 495624250}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d99664edeab700d4ca972d282f99515b, type: 3}
m_Name:
m_EditorClassIdentifier:
time: 0.1
leaveworldline: 1
--- !u!54 &495624253
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 495624250}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!64 &495624254
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 495624250}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 3
m_Convex: 1
m_CookingOptions: 14
m_Mesh: {fileID: -2124705421725058983, guid: db9a445e4a11ade4d904734fbba0a248, type: 3}
--- !u!23 &495624255
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 495624250}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: e66a567e0ab16b347baded88f1041a81, 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
--- !u!33 &495624256
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 495624250}
m_Mesh: {fileID: -2124705421725058983, guid: db9a445e4a11ade4d904734fbba0a248, type: 3}
--- !u!4 &495624257
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 495624250}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 881720963}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &502908126
GameObject:
m_ObjectHideFlags: 0
......@@ -1064,7 +1404,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 535323107}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1.92, y: 0, z: 1.22}
m_LocalPosition: {x: 2.61, y: 0.87, z: 1.22}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 2102427750}
......@@ -1083,8 +1423,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0929f04736a5c0c46825d62485feb8be, type: 3}
m_Name:
m_EditorClassIdentifier:
objectType: 0
collisionPreset: 0
objectType: 2
collisionPreset: 2
beta: 0
alpha: {x: 0, y: 0, z: 0}
v: {x: 0, y: 0, z: 0}
......@@ -1092,8 +1432,10 @@ MonoBehaviour:
levelManager: {fileID: 279236944}
gamma: 1
time: 0
apparenttime: 0
theobject: {fileID: 2102427749}
mass: 10
isClock: 0
--- !u!1 &674390267
GameObject:
m_ObjectHideFlags: 0
......@@ -1397,8 +1739,8 @@ RectTransform:
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: -156.13004, y: -66.28999}
m_SizeDelta: {x: 312.26, y: 132.57999}
m_AnchoredPosition: {x: -250, y: 51}
m_SizeDelta: {x: 631.1, y: 164.4}
m_Pivot: {x: 0, y: 0}
--- !u!114 &798238901
MonoBehaviour:
......@@ -1413,14 +1755,14 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_Color: {r: 1, g: 1, b: 1, a: 0.22745098}
m_RaycastTarget: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -1530,13 +1872,70 @@ RectTransform:
m_Children:
- {fileID: 1751424969}
m_Father: {fileID: 0}
m_RootOrder: 12
m_RootOrder: 15
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &881720961
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 881720963}
- component: {fileID: 881720962}
m_Layer: 0
m_Name: Target2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &881720962
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 881720961}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0929f04736a5c0c46825d62485feb8be, type: 3}
m_Name:
m_EditorClassIdentifier:
objectType: 2
collisionPreset: 2
beta: 0
alpha: {x: 0, y: 0, z: 0}
v: {x: 0, y: 0, z: 0}
orientation: {x: 0, y: 0, z: 0}
levelManager: {fileID: 279236944}
gamma: 1
time: 0
apparenttime: 0
theobject: {fileID: 495624250}
mass: 10
isClock: 0
--- !u!4 &881720963
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 881720961}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 11.43, y: 0.87, z: 7.85}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 495624257}
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &894387779 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 951264407764097797, guid: cbc6e3e1c08a170489e9a338eee1257f,
......@@ -1646,7 +2045,7 @@ Transform:
m_LocalScale: {x: 3.6, y: 3.6, z: 3.6}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 8
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &959584784
GameObject:
......@@ -1853,6 +2252,99 @@ Camera:
m_OcclusionCulling: 0
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!1 &992268922
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 992268923}
- component: {fileID: 992268926}
- component: {fileID: 992268924}
m_Layer: 1
m_Name: grid
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &992268923
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 992268922}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -300, z: -30}
m_LocalScale: {x: 500.00003, y: 500.00058, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 12
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &992268924
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 992268922}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 99fc8cfec3b50be41b7fe68464704a73, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!212 &992268926
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 992268922}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, 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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 21300000, guid: 0fc4471cd9111ad48a42227a09dacb03, type: 3}
m_Color: {r: 0.04416871, g: 1, b: 0, a: 0.25882354}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 1
m_Size: {x: 3.68, y: 3.68}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &998772544
GameObject:
m_ObjectHideFlags: 0
......@@ -2167,8 +2659,8 @@ RectTransform:
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: 22}
m_SizeDelta: {x: 300, y: 80}
m_AnchoredPosition: {x: 0, y: 26}
m_SizeDelta: {x: 600, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1063558149
MonoBehaviour:
......@@ -2183,7 +2675,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
......@@ -2192,10 +2684,10 @@ MonoBehaviour:
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 10
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 200
m_Alignment: 4
m_AlignByGeometry: 0
......@@ -2473,6 +2965,11 @@ PrefabInstance:
propertyPath: plane
value:
objectReference: {fileID: 1756789504}
- target: {fileID: 951264406399792026, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: levelManager
value:
objectReference: {fileID: 279236944}
- target: {fileID: 951264406399792025, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: m_LocalScale.x
......@@ -2487,8 +2984,7 @@ PrefabInstance:
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 0fc4471cd9111ad48a42227a09dacb03,
type: 3}
objectReference: {fileID: 0}
- target: {fileID: 951264406399792027, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: m_Size.x
......@@ -2502,7 +2998,7 @@ PrefabInstance:
- target: {fileID: 951264406399792027, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: m_WasSpriteAssigned
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 951264406399792027, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
......@@ -2519,11 +3015,6 @@ PrefabInstance:
propertyPath: m_FlipX
value: 0
objectReference: {fileID: 0}
- target: {fileID: 951264406399792026, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: levelManager
value:
objectReference: {fileID: 279236944}
- target: {fileID: 951264407764097794, guid: cbc6e3e1c08a170489e9a338eee1257f,
type: 3}
propertyPath: m_Enabled
......@@ -2727,7 +3218,7 @@ Transform:
m_LocalScale: {x: 810.7, y: 456, z: 17.44}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 11
m_RootOrder: 14
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!64 &1096626733
MeshCollider:
......@@ -2937,7 +3428,7 @@ RectTransform:
- {fileID: 798238900}
- {fileID: 1387602087}
m_Father: {fileID: 0}
m_RootOrder: 6
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
......@@ -3501,7 +3992,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Bits: 277
m_RenderingPath: 1
m_TargetTexture: {fileID: 8400000, guid: 13da20cf2d7183242bb9d73fcb1d0b9d, type: 2}
m_TargetDisplay: 1
......@@ -3525,7 +4016,7 @@ Transform:
m_LocalScale: {x: 1, y: 0.1000003, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 5
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!114 &1661408491
MonoBehaviour:
......@@ -3954,7 +4445,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 7
m_RootOrder: 9
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!64 &1756789506
MeshCollider:
......@@ -4169,7 +4660,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 13
m_RootOrder: 16
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1883174027
GameObject:
......
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: 75d221baaab6fff42966b5c132c589be
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -84,17 +84,24 @@ public class ExtrudedMesh : MonoBehaviour
DestroyImmediate(t);
; }
if (clone.transform.childCount > 1)
{
var size = clone.transform.childCount;
for (int i = 1; i < size; ++i)
{
DestroyImmediate(clone.transform.GetChild(1).gameObject);
}
}
DestroyImmediate(clone.GetComponentInChildren<ExtrudedMesh>());
clone.GetComponentInChildren<MeshCollider>().convex = false;
clone.GetComponentInChildren<MeshCollider>().sharedMesh = clone.GetComponentInChildren<MeshFilter>().mesh;
clone.transform.GetChild(0).gameObject.AddComponent<RuntimeCSGFlatlandObject>();
clone.transform.GetChild(0).gameObject.GetComponent<RuntimeCSGFlatlandObject>().original = transform.parent.gameObject.GetComponent<FlatlandMovement>();
clone.transform.GetChild(0).gameObject.GetComponent<RuntimeCSGFlatlandObject>().clock = transform.parent.gameObject.GetComponent<FlatlandMovement>().time;
//clone.transform.GetChild(0).gameObject.GetComponent<RuntimeCSGFlatlandObject>().player = transform.parent.gameObject.GetComponent<FlatlandMovement>().levelManager.player;
clone.layer = 8;
clone.transform.GetChild(0).gameObject.layer = 8;
Physics.IgnoreCollision(clone.GetComponentInChildren<MeshCollider>(), GetComponent<MeshCollider>());
Destroy(clone, 30);
Destroy(clone, 20);
prevtime = sections[sections.Count - 1].time;
}
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Gridscale : MonoBehaviour
{
private Vector3 defaultScale;
// Start is called before the first frame update
void Start()
{
defaultScale = transform.localScale;
}
// Update is called once per frame
void Update()
{
}
public float Scale
{
set
{
transform.localScale = defaultScale * value;
}
}
}
fileFormatVersion: 2
guid: 99fc8cfec3b50be41b7fe68464704a73
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -9,16 +9,67 @@ public class TutorialLevel1Manager : LevelManager
public GameObject target1;
public GameObject target2;
public GameObject target3;
public string[] ExplanationText2 = { "aa", "bb" };
bool isCond1;
bool isCond2;
bool isCond3;
protected override void Start()
{
ExplanationText = new string[]{"어서오게 영웅이여!",
"난 빛의 수호자 우서라고 하네.",
"자넨 민코프스키 시공간 폭풍에게 선택을 받았네!",
"뭐, 히오스? 엇, 그, 그런건 모르겠고, 일단 좀 들어보게나.",
"시공간 폭풍은 시간과 공간을 초월해 공간의 차원 2개와 시간의 차원 1개가 엮여있는 기하일세.",
"세계와 세계가 부딫히는 거대한 우주 폭풍이지.",
"자네가 여기 소환된건, 수많은 퍼즐을 통해 자신을 시험하고, 큰 영광을 이루기 위함이네!",
"음....왜 퍼즐을 푸냐고? 그러니까, 이런 일은 말일세.. 그렇게 머리 싸매고 생각할 필요가 없다네.",
"그럴 시간에 퍼즐이나 하나 더 푸게나.",
"일단 시공간 폭풍의 퍼즐을 풀기 위한 기본적 규칙들 설명해주겠네",
"시공간 폭풍은 아인슈타인이 정립한 특수상대론의 규칙들을 따른다네",
"자세히 알필욘 없고, 중요한건 두가지네.",
"먼저 그 어떠한 것도 절대로 빛의 속도보다 빠르게 갈수는 없다네.",
"빛의 속도보다 빨리 이동하는 것처럼 착시가 일어날 수는 있지만, (계속)",
"실제로 네가 보기에 빛보다 빨리 움직이는 것은 없다네.",
"화면에 초록색의 동그라미들과 숫자들이 보일텐데 (계속)",
"이때 각 동그라미는 자네로부터 1광초 - 즉 빛이 가는데 1초가 걸리는 거리 만큼 마다 그려져있네.",
"이걸로 목표까지 거리를 예측할수 있다네.",
"두번째는 자기 자신은 항상 정지해있다는 것이네.",
"화면 가운데 정사각형이 바로 자네이네.",
"무슨 일이 일어나도, 네가 움직이는 것처럼 보여도 (계속)",
"자네는 항상 정지해 있다네.",
"이 두 가지를 뺀 나머지는, 차차 설명 하도록 하지.",
"가장 간단하게, 우클릭을 통해 경로 이동을 해볼것이네.",
"도착하고 싶은 장소를 우클릭 하면 초록색의 경로가 생길 것이네.",
"왼쪽 아래 슬라이더를 통해 그 경로의 이동 속도를 조절할 수 있다네.",
"왼쪽 아래 슬라이더의 수치는 이동할 속도가 빛의 속도의 몇배인지를 조절하지",
"최대값이 0.9999일세 - 빛의 속도는 넘을 수 없어! 기억하게나.",
"또, 자네는 항상 정지해있어! 그건 저 이동 속도가 현재 자네를 기준으로 한 속도란 말이야.",
"그 다음 Start를 누르면 지정한 속도로 경로 목표까지 이동을 한다음 (계속)",
"이동을 하기 전의 상태로 돌아온다네.",
"화면에 깜빡이는 고리가 있을테니, 그 고리까지 경로 이동을 통해 이동해보게나.",
"참고로 마우스 스크롤 휠로 시야의 범위를 넓히거나 좁힐수 있으니 알고 있도록!."
};
Todo = "우클릭 경로 이동으로 목표 지점까지 이동.";
base.Start();
isCond1 = false;
isCond2 = false;
isCond3 = false;
}
protected override void Update()
{
if (XZLengthSquare(player.transform.position, target1.transform.position) < 0.1 && !isCond1)
Condition1();
if (XZLengthSquare(player.transform.position, target2.transform.position) < 0.1 && !isCond2)
Condition2();
if (XZLengthSquare(player.transform.position, target3.transform.position) < 0.1 && !isCond3)
Condition3();
base.Update();
......@@ -26,7 +77,7 @@ public class TutorialLevel1Manager : LevelManager
protected override bool WinCondition()
{
if(XZLengthSquare(player.transform.position,target1.transform.position) < 0.1)
if(isCond1 && isCond2 && isCond3)
{
return true;
}
......@@ -38,17 +89,48 @@ public class TutorialLevel1Manager : LevelManager
protected bool Condition1()
{
if (XZLengthSquare(player.transform.position, target1.transform.position) < 0.1)
if (XZLengthSquare(player.transform.position, target1.transform.position) < 0.1 && !isCond1)
{
DoubleClickMove = false;
WASDMove = true;
PathRenderMove = false;
isCond1 = true;
uiManager.WASDMove = WASDMove;
//uiManager.PathCreateAble = PathRenderMove;
uiManager.PathCreateAble = PathRenderMove;
uiManager.DoubleCLickMove = DoubleClickMove;
uiManager.alert.Alert(ExplanationText2);
ExplanationText = new string[]{"잘했네!",
"Shift키를 꾹 누르고 우클릭을 다른 장소에 여러번하면 여러 경로를 예약하는 것도 가능하다네.",
"이동하면서 목표지점 까지의 거리가 줄어드는 것을 보았을 것이네.",
"그것은 바로 길이 수축이라네.",
"자네가 보기에 빨리 이동하는 것들은 이동하는 방향으로 길이가 수축되어 보인다네.",
"여기서 두가지 의미를 구분해야 하네.",
"자네에게 길이가 수축되어 '보이는 것'과 실제로 길이가 수축되는 것은 엄여히 다르다네",
"빛의 속도는 유한하기에, 예를 들어 자네가 보기에 1광초 떨어진 것들의 모습은 1초 과거의 모습이지.",
"자네가 빠르게 움직이면 '실제로' 길이가 수축도 되고, 보기에도 길이가 수축이 되지만, 이 둘의 정도가 다르다네.",
"시공간이 뒤얽힌 폭풍인 만큼, 이동하면 공간과 시간이 유연하게 바뀌지.",
"그럼 이제 두번째 이동 방식을 소개해주겠네!",
"우클릭 말고도, WASD키를 통해 이동을 할 수 있네.",
"WASD를 사용하면 해당되는 방향으로 등가속 운동을 하게 된다네.",
"이때 가속도의 크기는 우측 하단의 슬라이더로 조절이 가능하네.",
"기억하게, 빛의 속도는 넘을수가 없어! 계속 한키를 꾹 누르고 있어도 자네 입장에서만 등가속이지.",
"다른 가속하지 않는 관측자의 입장에선 계속 빛의 속도의 근접은 하지만 넘지는 않는다네.",
"즉 점점 가속도가 줄어드는 것처럼 보인다는 것이네.",
"또한 가속을 멈추면 가속을 멈췄을때 속도로 쭉 움직이네.",
"관성 때문이지.",
"이를 고려해서 목적지가 다가오면 감속을 해 멈추는것을 잊지 말도록!",
"물론 감속을 하면 안되는 경우가 있을수도 있으니 항상 그러라는 것은 아닐세.",
"이번에도 똑같이 목표 지점을 표시해놨으니 WASD키를 사용해 그곳까지 이동해보게나."
};
uiManager.alert.Alert(ExplanationText);
Todo = "WASD키 이동으로 목표 지점까지 이동";
uiManager.TodoText = Todo;
target1.gameObject.SetActive(false);
return true;
}
else
......@@ -59,11 +141,86 @@ public class TutorialLevel1Manager : LevelManager
protected bool Condition2()
{
if (XZLengthSquare(player.transform.position, target2.transform.position) < 0.1 && !isCond2)
{
DoubleClickMove = true;
WASDMove = false;
PathRenderMove = false;
isCond2 = true;
ExplanationText = new string[]{"오, 이번에도 잘했네!",
"마지막 이동 방식은 더블클릭 이동일세.",
"원하는 방향으로 더블클릭을 하면 (계속)",
"더블클릭한 방향으로 재빨리 가속해 등속 이동을 하게 되지.",
"이때 등속 이동할 속도는 경로 이동과 마찬가지로 현재 좌측 하단 슬라이더의 값에 의해 결정되네.",
"자네가 현재 있는 위치의 정확히 왼쪽으로 상당히 멀어서 (계속)",
"스크롤을 최대로 축소해도 안보이는 거리에 이번에 목표를 두었네.",
"그 쪽방향으로 대략 0.5c 정도로 조금 가다보면 나올것이네.",
"너무 빨리 가면, 길이수축이 굉장히 심각해져서 (계속)",
"아예 목표를 놓쳐버릴수도 있으니 조심하게나!",
"어서 그곳까지 이동해보게나.",
};
uiManager.WASDMove = WASDMove;
uiManager.PathCreateAble = PathRenderMove;
uiManager.DoubleCLickMove = DoubleClickMove;
uiManager.alert.Alert(ExplanationText);
player.alpha = new Vector3(0, 0, 0);
player.v = new Vector3(0, 0, 0);
target2.gameObject.SetActive(false);
Todo = "더블클릭 이동으로 목표 지점까지 이동";
uiManager.TodoText = Todo;
return true;
}
else
{
return false;
}
}
float XZLengthSquare(Vector3 a, Vector3 b)
protected bool Condition3()
{
if (XZLengthSquare(player.transform.position, target3.transform.position) < 0.1 && !isCond3)
{
return (a.x - b.x) * (a.x - b.x) + (a.z - b.z) * (a.z - b.z);
DoubleClickMove = true;
WASDMove = false;
PathRenderMove = false;
isCond3 = true;
ExplanationText = new string[]{"좋았어!",
"이제 자네는 시공간 폭풍에서 이동의 방식을 마스터하였네.",
"다음 스테이지 에선 물체들과 상호작용에 대해 알아보도록 하지!",
};
uiManager.WASDMove = WASDMove;
uiManager.PathCreateAble = PathRenderMove;
uiManager.DoubleCLickMove = DoubleClickMove;
uiManager.alert.Alert(ExplanationText);
player.alpha = new Vector3(0, 0, 0);
player.v = new Vector3(0, 0, 0);
target2.gameObject.SetActive(false);
Todo = "";
uiManager.TodoText = Todo;
return true;
}
else
{
return false;
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TutorialLevel2Manager : LevelManager
{
// Start is called before the first frame update
Vector3 orig;
public GameObject target1;
public GameObject target2;
public Clock clock;
bool isCond1;
bool isCond2;
bool isCond3;
protected override void Start()
{
ExplanationText = new string[]{"어서오게 영웅이여!",
"이동의 비법을 터득했으니, 이제 시공간 폭풍의 물체들을 직접 만져볼 때가 왔네.",
"일단 저번 처럼 왼쪽에 있는 목표로 이동을 하세."
};
Todo = "목표 지점까지 이동하세요.";
base.Start();
isCond1 = false;
isCond2 = false;
isCond3 = false;
}
protected override void Update()
{
if (XZLengthSquare(player.transform.position, target1.transform.position) < 0.1 && !isCond1)
Condition1();
if (XZLengthSquare(clock.transform.position, target2.transform.position) < 0.1 && !isCond2)
Condition2();
if (Mathf.Abs((float)(clock.GetApparentTime() - player.time)) > 10.0 && clock.IsGrabbed && !isCond3 && isCond2)
Condition3();
base.Update();
}
protected override bool WinCondition()
{
if (isCond1 && isCond2 && isCond3)
{
return true;
}
else
{
return false;
}
}
protected bool Condition1()
{
if (XZLengthSquare(player.transform.position, target1.transform.position) < 0.1 && !isCond1)
{
isCond1 = true;
ExplanationText = new string[]{"자, 이제 왼쪽에 빨간색의 정사각형의 물체가 보일 것일세.",
"그것은 시계라네. 가까이 다가가서 G를 누르면 잡을수 있고, 시계의 현재 시간을 읽을 수 있지.",
"또한 부딫히면 상대론적 운동량을 보존하면서 튕겨나가는 것을 볼수 있네.",
"참고로 시공간 폭풍의 세계에선 모든 충돌은 완전 탄성 충돌이라네.",
"완전 탄성 충돌이란 건 즉 충돌 전과 후 정지 질량이 변하지 않는다는 말일세!",
"그게 무슨 말이냐고? 으음...나중에 보여주겠네.",
"기획자가 일을 다 하면 말이지.",
"자, 그럼 어서 저 시계를 잡아 목표 지점까지 옮겨보게나.",
"잡고 옮기던, 몸을 부딫혀 던지던 상관 없네." };
uiManager.alert.Alert(ExplanationText);
Todo = "빨간식 시계를 목표 지점까지 옮기세요.";
uiManager.TodoText = Todo;
target1.gameObject.SetActive(false);
return true;
}
else
{
return false;
}
}
protected bool Condition2()
{
if (XZLengthSquare(clock.transform.position, target2.transform.position) < 0.1 && !isCond2)
{
isCond2 = true;
uiManager.WASDMove = WASDMove;
uiManager.PathCreateAble = PathRenderMove;
uiManager.DoubleCLickMove = DoubleClickMove;
ExplanationText = new string[]{"그래 바로 그거야!",
"좌측 상단에 My Proper Time 이라는 장소에 숫자가 있을 것이라네.",
"그건 해당 레벨이 시작한지 자네의 입장에서 몇 초가 지났는지를 재는 시계라네.",
"그런데 저 시계를 보게나. 자네의 시간과 미묘하게 다르지 않나?",
"그렇다네. 자네가 보기에 빠르게 이동하는 것들은 시간이 느리게 흘러간다네.",
"참고로 이건 반대로도 작용해. 모든 물체들은 항상 자기 자신이 정지해있다 생각해!",
"이는 즉, 저 시계 입장에선 자네의 시간이 느리게 흐르게 된다는 것이지.",
"모순 같다고? 전혀 아니라네. 시간과 공간을 따로 생각하지 말고, 함께 3차원 시공간으로 생각하면 전혀 모순이 아니지!",
"한번 저 시계와 자네 시간이 10초 이상 차이나게 바꿔본다음 시계를 잡아보게나."
};
uiManager.alert.Alert(ExplanationText);
Todo = "빨간 시계와 시간이 10초 이상 차이난 상태에서 잡기.";
uiManager.TodoText = Todo;
target2.gameObject.SetActive(false);
return true;
}
else
{
return false;
}
}
protected bool Condition3()
{
if (Mathf.Abs((float)(clock.GetApparentTime() - player.time)) > 10.0 && clock.IsGrabbed && !isCond3 && isCond2)
{
isCond3 = true;
ExplanationText = new string[]{"대단해! 역시 자네는 선택받았군.",
"이것이 바로 시간 지연일세.",
"자네가 방금 보았다 시피, 자네가 보기엔 시계의 시간이 느리게 흐르고, 시계가 보기엔 자네의 시간이 느리게 흐르지만, (계속)",
"시계와 다시 속도를 맞추니 시계가 더 빨리 흐른걸 볼수 있을 것이네.",
"이 이유는 자네가 중간에 가속을 했기 때문이지.",
"가속을 하는 동안은 관성계가 바뀌기 때문에 여러 재미있는 일들이 일어난다네.",
"아, 안타깝게도 새로운 영웅이 나를 부르는군. 여기서부턴 자네가 알아서 헤쳐나가야 한다네.",
"그럼, 이만! 시공간 폭풍에서 또 보게 된다면 그땐 같이 물리학 문제나 하나 풀세!"
};
uiManager.WASDMove = WASDMove;
uiManager.PathCreateAble = PathRenderMove;
uiManager.DoubleCLickMove = DoubleClickMove;
uiManager.alert.Alert(ExplanationText);
player.alpha = new Vector3(0, 0, 0);
player.v = new Vector3(0, 0, 0);
Todo = "";
uiManager.TodoText = Todo;
return true;
}
else
{
return false;
}
}
}
fileFormatVersion: 2
guid: 9794ad354f2c68749b41e08724fc3378
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -34,7 +34,7 @@ public class LevelManager : MonoBehaviour
uiManager.WASDMove = WASDMove;
//uiManager.PathCreateAble = PathRenderMove;
uiManager.PathCreateAble = PathRenderMove;
uiManager.DoubleCLickMove = DoubleClickMove;
uiManager.TodoText = Todo;
......@@ -91,4 +91,9 @@ public class LevelManager : MonoBehaviour
}
}
}
public float XZLengthSquare(Vector3 a, Vector3 b)
{
return (a.x - b.x) * (a.x - b.x) + (a.z - b.z) * (a.z - b.z);
}
}
......@@ -8,14 +8,24 @@ using UnityEngine;
public class Clock : GrabableObject
{
public double starttime = 0.0f;
public Clock otherclock;
//public Clock otherclock;
private new void Start()
{
base.Start();
time = starttime;
isClock = true;
}
public override string InteractType
{
get
{
return "grab\n" + "Time : " + apparenttime;
}
}
/*
public override void OnCollisionStaychild(Collision collision)
{
base.OnCollisionStaychild(collision);
......@@ -39,12 +49,17 @@ public class Clock : GrabableObject
}
}
}
}*/
public double GetTime()
{
return time;
}
public double GetApparentTime()
{
return apparenttime;
}
}
......@@ -35,6 +35,7 @@ public class FlatlandMovement : MonoBehaviour
public double time = 0.0f;
public double apparenttime = 0.0f;
public GameObject theobject;
......@@ -45,6 +46,8 @@ public class FlatlandMovement : MonoBehaviour
bool isPatrol = false;
public bool isClock = false;
Vector3 nowDest;
/// <summary>
/// 앞으로 남은 목적지들.
......@@ -366,12 +369,11 @@ public class FlatlandMovement : MonoBehaviour
tmp = new Vector3(tmp.x, 0, tmp.z);
tmp = tmp.normalized;
tmp = -tmp;
Vector3 otherv = other.v;
double[] tmpx = {0,tmp.x, tmp.z };
double[] othertmpx = { 0, -tmp.x, -tmp.z };
double[] othertmpx = { 0, tmp.x, tmp.z };
double[] tmpv = { Constants.Gamma(v.magnitude) * Constants.c, Constants.Gamma(v.magnitude) * v.x, Constants.Gamma(v.magnitude) * v.z };
var direction = V.DenseOfArray(tmpx);
......@@ -421,19 +423,37 @@ public class FlatlandMovement : MonoBehaviour
- (other.mass * other.mass * other.mass * other.mass * Constants.c * Constants.c * Constants.c * Constants.c * Constants.c * Constants.c * Constants.c * Constants.c)
- (4 * mass * mass * Constants.c * Constants.c * Constants.c * Constants.c * initialmomentum * initialmomentum * Constants.c * Constants.c * cosine * cosine);
var resultEnergy = (-b + Math.Sqrt((b * b) - 4*(a)*(c)))/(2*a);
var resultEnergy = (-b - Math.Sqrt((b * b) - 4*(a)*(c)))/(2*a);
if(resultEnergy < 0)
if(resultEnergy < other.mass * Constants.c * Constants.c)
{
resultEnergy = (-b - Math.Sqrt((b * b) - 4 * (a) * (c))) / (2 * a); ;
var etmp = (-b + Math.Sqrt((b * b) - 4 * (a) * (c))) / (2 * a);
if (etmp > resultEnergy)
resultEnergy = etmp;
}
resultEnergy = totalenergy - resultEnergy;
var resultvgamma = resultEnergy / (mass * Constants.c * Constants.c);
var resultvbetamagnitude = Math.Sqrt(1.0 - (1.0/resultvgamma));
double[] tmpv2 = {resultvgamma * Constants.c , resultvgamma * finalcollisionforcedirection.x, resultvgamma * finalcollisionforcedirection.z };
var realfinalvelocity = V.DenseOfArray(tmpv2);
if (otherv.magnitude > 0)
{
realfinalvelocity = Constants.BoostMatrix(-otherv) * realfinalvelocity;
}
if (v.magnitude > 0)
{
realfinalvelocity = Constants.BoostMatrix(v) * realfinalvelocity;
}
var realfinalcollisionvelocitygamma = realfinalvelocity[0] / Constants.c;
Vector3 realfinalcollisionvelocity = new Vector3((float)(realfinalvelocity[1] / realfinalcollisionvelocitygamma), 0, (float)(realfinalvelocity[2] / realfinalcollisionvelocitygamma));
resultvbetamagnitude = realfinalcollisionvelocity.magnitude / Constants.c;
StartCoroutine(_AcceleratetoConstantVelocityWithoutCorrection(realfinalforcedirection,(float)resultvbetamagnitude));
//Debug.Log(collisions.Count);
......
......@@ -54,7 +54,7 @@ public class PathRenderer : MonoBehaviour
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(1) && levelManager.player.IsInertial && pathcreatable)
if (Input.GetMouseButtonDown(1) && levelManager.player.IsInertial && pathcreatable && ui.PathMove)
{
RaycastHit hit1;
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
......
......@@ -5,26 +5,39 @@ using MeshMakerNamespace;
public class RuntimeCSGFlatlandObject : MonoBehaviour
{
public GameObject PastLightCone;
public PlayerMovement player;
public GameObject crosssection;
public Mesh m;
public FlatlandMovement original;
int cnt = 0;
public double clock = 0;
//public CSG csg;
// Start is called before the first frame update
void Start()
{
PastLightCone = GameObject.Find("Cone");
//PastLightCone = GameObject.Find("Cone");
Physics.IgnoreLayerCollision(8, 8);
}
// Update is called once per frame
void Update()
void FixedUpdate()
{
if(player == null && original != null)
{
player = original.levelManager.player;
}
if (original != player && original.isClock)
{
var tmp = new Vector3(player.transform.position.x - transform.position.x, 0, player.transform.position.z - transform.position.z);
if (Mathf.Abs((player.transform.position.y - transform.position.y) - (tmp.magnitude)) < 0.1)
{
if (original.apparenttime < clock)
original.apparenttime = clock;
}
}
}
......
......@@ -18,6 +18,8 @@ public class UIManager : MonoBehaviour
LogScaleSlider accelslider;
[SerializeField]
private Text interactText;
[SerializeField]
Gridscale thegrid;
public Canvas canvas;
public Text mytime;
......@@ -40,6 +42,7 @@ public class UIManager : MonoBehaviour
public bool WASDMove = true;
public bool DoubleCLickMove = true;
public bool PathMove = true;
public AlertManager alert;
......@@ -133,7 +136,7 @@ public class UIManager : MonoBehaviour
cameraMovement.Size += scroll;
playerSquare.Scale = 1/cameraMovement.SizeScale;
thegrid.Scale = 1 / cameraMovement.SizeScale;
//player movement
......@@ -207,7 +210,7 @@ public class UIManager : MonoBehaviour
{
set
{
pathRenderer.pathcreatable = value;
PathMove = value;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment