Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
59244e8050
@ -1923,7 +1923,7 @@ Transform:
|
|||||||
m_GameObject: {fileID: 248177876}
|
m_GameObject: {fileID: 248177876}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
|
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
|
||||||
m_LocalPosition: {x: 0, y: 2, z: 8}
|
m_LocalPosition: {x: 0, y: 3, z: 8}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
@ -3731,6 +3731,182 @@ NavMeshObstacle:
|
|||||||
m_CarveOnlyStationary: 1
|
m_CarveOnlyStationary: 1
|
||||||
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
|
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
|
||||||
m_TimeToStationary: 0.5
|
m_TimeToStationary: 0.5
|
||||||
|
--- !u!1 &453479153
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 453479154}
|
||||||
|
- component: {fileID: 453479159}
|
||||||
|
- component: {fileID: 453479158}
|
||||||
|
- component: {fileID: 453479157}
|
||||||
|
- component: {fileID: 453479156}
|
||||||
|
- component: {fileID: 453479155}
|
||||||
|
m_Layer: 15
|
||||||
|
m_Name: Fish (3)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &453479154
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 453479153}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -50.429996, y: -10.24, z: 33.88}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 2}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1825636406}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &453479155
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 453479153}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
autoInit: 1
|
||||||
|
isDrawGizmos: 1
|
||||||
|
viewRadius: 20
|
||||||
|
moveSpd: 500
|
||||||
|
rotationSpeed: 10
|
||||||
|
isRandomAngle: 0
|
||||||
|
randomAngle: 120
|
||||||
|
rescanTime: 0.5
|
||||||
|
escapeTime: 10
|
||||||
|
isRespawn: 1
|
||||||
|
respawnTime: 5
|
||||||
|
randomDirectionChange: 0
|
||||||
|
directionChangeInterval: 3
|
||||||
|
minDirectionChangeInterval: 1
|
||||||
|
maxDirectionChangeInterval: 3
|
||||||
|
escapeMode: 2
|
||||||
|
randomZigzag: 1
|
||||||
|
zigzagAmplitude: 0.5
|
||||||
|
zigzagFrequency: 1
|
||||||
|
minZigzagAmplitude: 0.1
|
||||||
|
maxZigzagAmplitude: 2
|
||||||
|
minZigzagFrequency: 0.1
|
||||||
|
maxZigzagFrequency: 2
|
||||||
|
hitColliders:
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
targetLayer:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 512
|
||||||
|
--- !u!65 &453479156
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 453479153}
|
||||||
|
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!54 &453479157
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 453479153}
|
||||||
|
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: 0
|
||||||
|
m_IsKinematic: 0
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 112
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!23 &453479158
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 453479153}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!33 &453479159
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 453479153}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
--- !u!1 &476261169
|
--- !u!1 &476261169
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -6129,6 +6305,182 @@ NavMeshObstacle:
|
|||||||
m_CarveOnlyStationary: 1
|
m_CarveOnlyStationary: 1
|
||||||
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
|
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
|
||||||
m_TimeToStationary: 0.5
|
m_TimeToStationary: 0.5
|
||||||
|
--- !u!1 &570047447
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 570047448}
|
||||||
|
- component: {fileID: 570047453}
|
||||||
|
- component: {fileID: 570047452}
|
||||||
|
- component: {fileID: 570047451}
|
||||||
|
- component: {fileID: 570047450}
|
||||||
|
- component: {fileID: 570047449}
|
||||||
|
m_Layer: 15
|
||||||
|
m_Name: Fish (1)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &570047448
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 570047447}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -72.92, y: -10.24, z: 22.97}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 2}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1825636406}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &570047449
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 570047447}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
autoInit: 1
|
||||||
|
isDrawGizmos: 1
|
||||||
|
viewRadius: 20
|
||||||
|
moveSpd: 500
|
||||||
|
rotationSpeed: 10
|
||||||
|
isRandomAngle: 1
|
||||||
|
randomAngle: 120
|
||||||
|
rescanTime: 0.5
|
||||||
|
escapeTime: 10
|
||||||
|
isRespawn: 1
|
||||||
|
respawnTime: 5
|
||||||
|
randomDirectionChange: 1
|
||||||
|
directionChangeInterval: 3
|
||||||
|
minDirectionChangeInterval: 1
|
||||||
|
maxDirectionChangeInterval: 3
|
||||||
|
escapeMode: 1
|
||||||
|
randomZigzag: 0
|
||||||
|
zigzagAmplitude: 0.5
|
||||||
|
zigzagFrequency: 1
|
||||||
|
minZigzagAmplitude: 0.1
|
||||||
|
maxZigzagAmplitude: 2
|
||||||
|
minZigzagFrequency: 0.1
|
||||||
|
maxZigzagFrequency: 2
|
||||||
|
hitColliders:
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
targetLayer:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 512
|
||||||
|
--- !u!65 &570047450
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 570047447}
|
||||||
|
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!54 &570047451
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 570047447}
|
||||||
|
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: 0
|
||||||
|
m_IsKinematic: 0
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 112
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!23 &570047452
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 570047447}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!33 &570047453
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 570047447}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
--- !u!1001 &587373864
|
--- !u!1001 &587373864
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -7388,6 +7740,182 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
autoInit: 1
|
autoInit: 1
|
||||||
<BaseShipCam>k__BackingField: {fileID: 168896974}
|
<BaseShipCam>k__BackingField: {fileID: 168896974}
|
||||||
|
--- !u!1 &793815083
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 793815084}
|
||||||
|
- component: {fileID: 793815089}
|
||||||
|
- component: {fileID: 793815088}
|
||||||
|
- component: {fileID: 793815087}
|
||||||
|
- component: {fileID: 793815086}
|
||||||
|
- component: {fileID: 793815085}
|
||||||
|
m_Layer: 15
|
||||||
|
m_Name: Fish (2)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &793815084
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 793815083}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -63.459995, y: -10.24, z: 27.9}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 2}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1825636406}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &793815085
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 793815083}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
autoInit: 1
|
||||||
|
isDrawGizmos: 1
|
||||||
|
viewRadius: 20
|
||||||
|
moveSpd: 500
|
||||||
|
rotationSpeed: 10
|
||||||
|
isRandomAngle: 1
|
||||||
|
randomAngle: 120
|
||||||
|
rescanTime: 0.5
|
||||||
|
escapeTime: 10
|
||||||
|
isRespawn: 1
|
||||||
|
respawnTime: 5
|
||||||
|
randomDirectionChange: 1
|
||||||
|
directionChangeInterval: 3
|
||||||
|
minDirectionChangeInterval: 1
|
||||||
|
maxDirectionChangeInterval: 3
|
||||||
|
escapeMode: 1
|
||||||
|
randomZigzag: 1
|
||||||
|
zigzagAmplitude: 0.5
|
||||||
|
zigzagFrequency: 1
|
||||||
|
minZigzagAmplitude: 0.1
|
||||||
|
maxZigzagAmplitude: 2
|
||||||
|
minZigzagFrequency: 0.1
|
||||||
|
maxZigzagFrequency: 2
|
||||||
|
hitColliders:
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
targetLayer:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 512
|
||||||
|
--- !u!65 &793815086
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 793815083}
|
||||||
|
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!54 &793815087
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 793815083}
|
||||||
|
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: 0
|
||||||
|
m_IsKinematic: 0
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 112
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!23 &793815088
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 793815083}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!33 &793815089
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 793815083}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
--- !u!1001 &795209795
|
--- !u!1001 &795209795
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -10614,113 +11142,6 @@ RectTransform:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 1446558449}
|
m_PrefabInstance: {fileID: 1446558449}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &1464480066
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1464480070}
|
|
||||||
- component: {fileID: 1464480069}
|
|
||||||
- component: {fileID: 1464480068}
|
|
||||||
- component: {fileID: 1464480067}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Fish
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!136 &1464480067
|
|
||||||
CapsuleCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1464480066}
|
|
||||||
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: 2
|
|
||||||
m_Radius: 0.5
|
|
||||||
m_Height: 2
|
|
||||||
m_Direction: 1
|
|
||||||
m_Center: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &1464480068
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1464480066}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 1
|
|
||||||
m_ReceiveShadows: 1
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &1464480069
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1464480066}
|
|
||||||
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
--- !u!4 &1464480070
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1464480066}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
|
||||||
m_LocalPosition: {x: -50.93, y: -18.53, z: 5.39}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
|
|
||||||
--- !u!1 &1485085414
|
--- !u!1 &1485085414
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 3
|
m_ObjectHideFlags: 3
|
||||||
@ -10746,8 +11167,8 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1485085414}
|
m_GameObject: {fileID: 1485085414}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0.38023633, y: 0.61874115, z: -0.4629656, w: 0.50817573}
|
m_LocalRotation: {x: 0.38023835, y: 0.618739, z: -0.46296394, w: 0.5081785}
|
||||||
m_LocalPosition: {x: -0.00051498413, y: 0, z: -0.0025787354}
|
m_LocalPosition: {x: -0.00059890747, y: 0, z: -0.0030136108}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
@ -13540,6 +13961,231 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &1812177369
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1812177370}
|
||||||
|
- component: {fileID: 1812177375}
|
||||||
|
- component: {fileID: 1812177374}
|
||||||
|
- component: {fileID: 1812177373}
|
||||||
|
- component: {fileID: 1812177372}
|
||||||
|
- component: {fileID: 1812177371}
|
||||||
|
m_Layer: 15
|
||||||
|
m_Name: Fish
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1812177370
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1812177369}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -82.67, y: -10.24, z: 19.24}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 2}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1825636406}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &1812177371
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1812177369}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a0f3e1c9930c204498f3a86452337290, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
autoInit: 1
|
||||||
|
isDrawGizmos: 1
|
||||||
|
viewRadius: 20
|
||||||
|
moveSpd: 500
|
||||||
|
rotationSpeed: 10
|
||||||
|
isRandomAngle: 0
|
||||||
|
randomAngle: 120
|
||||||
|
rescanTime: 0.5
|
||||||
|
escapeTime: 10
|
||||||
|
isRespawn: 1
|
||||||
|
respawnTime: 5
|
||||||
|
randomDirectionChange: 0
|
||||||
|
directionChangeInterval: 3
|
||||||
|
minDirectionChangeInterval: 1
|
||||||
|
maxDirectionChangeInterval: 3
|
||||||
|
escapeMode: 0
|
||||||
|
randomZigzag: 0
|
||||||
|
zigzagAmplitude: 0.5
|
||||||
|
zigzagFrequency: 1
|
||||||
|
minZigzagAmplitude: 0.1
|
||||||
|
maxZigzagAmplitude: 2
|
||||||
|
minZigzagFrequency: 0.1
|
||||||
|
maxZigzagFrequency: 2
|
||||||
|
hitColliders:
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
|
targetLayer:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 512
|
||||||
|
--- !u!65 &1812177372
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1812177369}
|
||||||
|
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!54 &1812177373
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1812177369}
|
||||||
|
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: 0
|
||||||
|
m_IsKinematic: 0
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 112
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!23 &1812177374
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1812177369}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!33 &1812177375
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1812177369}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!1 &1825636405
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1825636406}
|
||||||
|
- component: {fileID: 1825636407}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Fishes
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1825636406
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1825636405}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1812177370}
|
||||||
|
- {fileID: 570047448}
|
||||||
|
- {fileID: 793815084}
|
||||||
|
- {fileID: 453479154}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &1825636407
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1825636405}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 67eb8043df0bfce42aa24c9ec130227a, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_persistent: 0
|
||||||
--- !u!1001 &1841847360
|
--- !u!1001 &1841847360
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -16397,7 +17043,7 @@ SceneRoots:
|
|||||||
- {fileID: 476261175}
|
- {fileID: 476261175}
|
||||||
- {fileID: 357776295}
|
- {fileID: 357776295}
|
||||||
- {fileID: 200595900}
|
- {fileID: 200595900}
|
||||||
- {fileID: 1464480070}
|
- {fileID: 1825636406}
|
||||||
- {fileID: 1574668128}
|
- {fileID: 1574668128}
|
||||||
- {fileID: 1771297325}
|
- {fileID: 1771297325}
|
||||||
- {fileID: 280786784}
|
- {fileID: 280786784}
|
||||||
|
323
BlueWater/Assets/02.Scripts/Fish.cs
Normal file
323
BlueWater/Assets/02.Scripts/Fish.cs
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
// ReSharper disable once CheckNamespace
|
||||||
|
namespace BlueWaterProject
|
||||||
|
{
|
||||||
|
public enum EscapeMode
|
||||||
|
{
|
||||||
|
NONE = -1,
|
||||||
|
STRAIGHT,
|
||||||
|
ZIGZAG,
|
||||||
|
TOWARDS
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Fish : MonoBehaviour
|
||||||
|
{
|
||||||
|
// 초기화 방식
|
||||||
|
[Title("초기화 방식")]
|
||||||
|
[SerializeField] private bool autoInit = true;
|
||||||
|
|
||||||
|
// 물고기의 기본 설정
|
||||||
|
[Title("물고기의 기본 설정")]
|
||||||
|
[SerializeField] private bool isDrawGizmos = true;
|
||||||
|
|
||||||
|
[Tooltip("타겟 인식 범위")]
|
||||||
|
[SerializeField] private float viewRadius = 10f;
|
||||||
|
|
||||||
|
[Tooltip("이동속도")]
|
||||||
|
[SerializeField] private float moveSpd = 500f;
|
||||||
|
|
||||||
|
[Tooltip("회전속도")]
|
||||||
|
[SerializeField] private float rotationSpeed = 10f;
|
||||||
|
|
||||||
|
[Tooltip("랜덤 방향으로 도주 여부")]
|
||||||
|
[SerializeField] private bool isRandomAngle = true;
|
||||||
|
|
||||||
|
[ShowIf("@isRandomAngle")]
|
||||||
|
[Tooltip("도망가는 방향의 랜덤 각도")]
|
||||||
|
[SerializeField] private float randomAngle = 180f;
|
||||||
|
|
||||||
|
[Tooltip("타겟을 재검색하는 시간")]
|
||||||
|
[SerializeField] private float rescanTime = 0.5f;
|
||||||
|
|
||||||
|
[Tooltip("도망가는 시간")]
|
||||||
|
[SerializeField] private float escapeTime = 10f;
|
||||||
|
|
||||||
|
[Tooltip("리스폰 여부")]
|
||||||
|
[SerializeField] private bool isRespawn = true;
|
||||||
|
|
||||||
|
[ShowIf("@isRespawn == true")]
|
||||||
|
[Tooltip("리스폰되는데 걸리는 시간")]
|
||||||
|
[SerializeField] private float respawnTime = 5f;
|
||||||
|
|
||||||
|
[Tooltip("도망치면서 랜덤 방향 전환 여부")]
|
||||||
|
[SerializeField] private bool randomDirectionChange;
|
||||||
|
|
||||||
|
[ShowIf("@!randomDirectionChange")]
|
||||||
|
[Tooltip("도망치면서 방향 전환하는데 걸리는 시간")]
|
||||||
|
[SerializeField] private float directionChangeInterval = 1f;
|
||||||
|
|
||||||
|
[ShowIf("@randomDirectionChange")]
|
||||||
|
[Tooltip("도망치면서 방향 전환하는데 걸리는 랜덤 최소 시간")]
|
||||||
|
[SerializeField] private float minDirectionChangeInterval = 0.1f;
|
||||||
|
|
||||||
|
[ShowIf("@randomDirectionChange")]
|
||||||
|
[Tooltip("도망치면서 방향 전환하는데 걸리는 랜덤 최대 시간")]
|
||||||
|
[SerializeField] private float maxDirectionChangeInterval = 1f;
|
||||||
|
|
||||||
|
[Tooltip("도주 방식")]
|
||||||
|
[SerializeField] private EscapeMode escapeMode = EscapeMode.STRAIGHT;
|
||||||
|
|
||||||
|
// ZIGZAG
|
||||||
|
[Title("ZIGZAG")]
|
||||||
|
[ShowIf("@escapeMode == EscapeMode.ZIGZAG")]
|
||||||
|
[Tooltip("흔들림의 정도")]
|
||||||
|
[SerializeField] private bool randomZigzag;
|
||||||
|
|
||||||
|
[ShowIf("@escapeMode == EscapeMode.ZIGZAG && !randomZigzag")]
|
||||||
|
[Tooltip("흔들림의 정도")]
|
||||||
|
[SerializeField] private float zigzagAmplitude = 1f;
|
||||||
|
|
||||||
|
[ShowIf("@escapeMode == EscapeMode.ZIGZAG && !randomZigzag")]
|
||||||
|
[Tooltip("흔들림의 주기")]
|
||||||
|
[SerializeField] private float zigzagFrequency = 1f;
|
||||||
|
|
||||||
|
[ShowIf("@escapeMode == EscapeMode.ZIGZAG && randomZigzag")]
|
||||||
|
[Tooltip("흔들림의 정도 랜덤 최솟값")]
|
||||||
|
[SerializeField] private float minZigzagAmplitude = 0.1f;
|
||||||
|
|
||||||
|
[ShowIf("@escapeMode == EscapeMode.ZIGZAG && randomZigzag")]
|
||||||
|
[Tooltip("흔들림의 정도 랜덤 최댓값")]
|
||||||
|
[SerializeField] private float maxZigzagAmplitude = 1f;
|
||||||
|
|
||||||
|
[Space]
|
||||||
|
[ShowIf("@escapeMode == EscapeMode.ZIGZAG && randomZigzag")]
|
||||||
|
[Tooltip("흔들림의 주기 랜덤 최솟값")]
|
||||||
|
[SerializeField] private float minZigzagFrequency = 0.1f;
|
||||||
|
|
||||||
|
[ShowIf("@escapeMode == EscapeMode.ZIGZAG && randomZigzag")]
|
||||||
|
[Tooltip("흔들림의 주기 랜덤 최댓값")]
|
||||||
|
[SerializeField] private float maxZigzagFrequency = 1f;
|
||||||
|
|
||||||
|
// 디버깅
|
||||||
|
[Title("디버깅")]
|
||||||
|
[SerializeField] private Collider[] hitColliders = new Collider[MAX_HIT_NUM];
|
||||||
|
[SerializeField] private LayerMask targetLayer;
|
||||||
|
|
||||||
|
private Rigidbody rb;
|
||||||
|
private Coroutine findTargetCoroutine;
|
||||||
|
private Coroutine escapeCoroutine;
|
||||||
|
private WaitForSeconds findCoroutineTime;
|
||||||
|
private Vector3 spawnPos;
|
||||||
|
|
||||||
|
private const int MAX_HIT_NUM = 3;
|
||||||
|
|
||||||
|
private void OnValidate()
|
||||||
|
{
|
||||||
|
findCoroutineTime = new WaitForSeconds(rescanTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDrawGizmosSelected()
|
||||||
|
{
|
||||||
|
if (!isDrawGizmos) return;
|
||||||
|
|
||||||
|
Gizmos.color = Color.red;
|
||||||
|
Gizmos.DrawWireSphere(transform.position, viewRadius);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Button("셋팅 초기화")]
|
||||||
|
private void Init()
|
||||||
|
{
|
||||||
|
rb = GetComponent<Rigidbody>();
|
||||||
|
|
||||||
|
targetLayer = LayerMask.GetMask("Player");
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Preset
|
||||||
|
|
||||||
|
[HorizontalGroup("Split")]
|
||||||
|
[Button("프리셋 1번")]
|
||||||
|
private void Preset1()
|
||||||
|
{
|
||||||
|
isDrawGizmos = true;
|
||||||
|
viewRadius = 20f;
|
||||||
|
moveSpd = 500f;
|
||||||
|
rotationSpeed = 10f;
|
||||||
|
isRandomAngle = false;
|
||||||
|
rescanTime = 0.5f;
|
||||||
|
escapeTime = 10f;
|
||||||
|
isRespawn = true;
|
||||||
|
respawnTime = 5f;
|
||||||
|
randomDirectionChange = false;
|
||||||
|
directionChangeInterval = 3f;
|
||||||
|
escapeMode = EscapeMode.STRAIGHT;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HorizontalGroup("Split")]
|
||||||
|
[Button("프리셋 2번")]
|
||||||
|
private void Preset2()
|
||||||
|
{
|
||||||
|
isDrawGizmos = true;
|
||||||
|
viewRadius = 20f;
|
||||||
|
moveSpd = 500f;
|
||||||
|
rotationSpeed = 10f;
|
||||||
|
isRandomAngle = true;
|
||||||
|
randomAngle = 120f;
|
||||||
|
rescanTime = 0.5f;
|
||||||
|
escapeTime = 10f;
|
||||||
|
isRespawn = true;
|
||||||
|
respawnTime = 5f;
|
||||||
|
randomDirectionChange = true;
|
||||||
|
minDirectionChangeInterval = 1f;
|
||||||
|
maxDirectionChangeInterval = 3f;
|
||||||
|
directionChangeInterval = 3f;
|
||||||
|
escapeMode = EscapeMode.ZIGZAG;
|
||||||
|
randomZigzag = false;
|
||||||
|
zigzagAmplitude = 0.5f;
|
||||||
|
zigzagFrequency = 1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HorizontalGroup("Split")]
|
||||||
|
[Button("프리셋 3번")]
|
||||||
|
private void Preset3()
|
||||||
|
{
|
||||||
|
isDrawGizmos = true;
|
||||||
|
viewRadius = 20f;
|
||||||
|
moveSpd = 500f;
|
||||||
|
rotationSpeed = 10f;
|
||||||
|
isRandomAngle = true;
|
||||||
|
randomAngle = 120f;
|
||||||
|
rescanTime = 0.5f;
|
||||||
|
escapeTime = 10f;
|
||||||
|
isRespawn = true;
|
||||||
|
respawnTime = 5f;
|
||||||
|
randomDirectionChange = true;
|
||||||
|
minDirectionChangeInterval = 1f;
|
||||||
|
maxDirectionChangeInterval = 3f;
|
||||||
|
directionChangeInterval = 3f;
|
||||||
|
escapeMode = EscapeMode.ZIGZAG;
|
||||||
|
randomZigzag = true;
|
||||||
|
minZigzagAmplitude = 0.1f;
|
||||||
|
maxZigzagAmplitude = 2f;
|
||||||
|
minZigzagFrequency = 0.1f;
|
||||||
|
maxZigzagFrequency = 2f;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (autoInit)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
hitColliders = new Collider[MAX_HIT_NUM];
|
||||||
|
findCoroutineTime = new WaitForSeconds(rescanTime);
|
||||||
|
|
||||||
|
if (findTargetCoroutine != null) return;
|
||||||
|
|
||||||
|
findTargetCoroutine = StartCoroutine(FindTargetCoroutine());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
spawnPos = transform.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator FindTargetCoroutine()
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
var size = Physics.OverlapSphereNonAlloc(transform.position, viewRadius, hitColliders, targetLayer);
|
||||||
|
for (var i = 0; i < size; i++)
|
||||||
|
{
|
||||||
|
var hitCollider = hitColliders[i];
|
||||||
|
if (hitCollider == null || !hitCollider.CompareTag("ShipPlayer")) continue;
|
||||||
|
|
||||||
|
findTargetCoroutine = null;
|
||||||
|
escapeCoroutine = StartCoroutine(EscapeCoroutine(hitCollider));
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
yield return findCoroutineTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator EscapeCoroutine(Collider targetCollider)
|
||||||
|
{
|
||||||
|
var currentDirectionChangeInterval = randomDirectionChange ?
|
||||||
|
UnityEngine.Random.Range(minDirectionChangeInterval, maxDirectionChangeInterval)
|
||||||
|
: directionChangeInterval;
|
||||||
|
var rotatedEscapeDirection = CalculateEscapeDirection(targetCollider.transform.position);
|
||||||
|
|
||||||
|
var time = 0f;
|
||||||
|
var directionChangeTime = 0f;
|
||||||
|
while (time < escapeTime)
|
||||||
|
{
|
||||||
|
time += Time.deltaTime;
|
||||||
|
directionChangeTime += Time.deltaTime;
|
||||||
|
|
||||||
|
if (directionChangeTime >= currentDirectionChangeInterval)
|
||||||
|
{
|
||||||
|
rotatedEscapeDirection = CalculateEscapeDirection(targetCollider.transform.position);
|
||||||
|
directionChangeTime = 0f;
|
||||||
|
currentDirectionChangeInterval = randomDirectionChange ?
|
||||||
|
UnityEngine.Random.Range(minDirectionChangeInterval, maxDirectionChangeInterval)
|
||||||
|
: directionChangeInterval;
|
||||||
|
|
||||||
|
if (escapeMode == EscapeMode.ZIGZAG && randomZigzag)
|
||||||
|
{
|
||||||
|
zigzagFrequency = UnityEngine.Random.Range(minZigzagFrequency, maxZigzagFrequency);
|
||||||
|
zigzagAmplitude = UnityEngine.Random.Range(minZigzagAmplitude, maxZigzagAmplitude);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var newDirection = escapeMode switch
|
||||||
|
{
|
||||||
|
EscapeMode.NONE => throw new ArgumentOutOfRangeException(),
|
||||||
|
EscapeMode.STRAIGHT => rotatedEscapeDirection,
|
||||||
|
EscapeMode.ZIGZAG => rotatedEscapeDirection +
|
||||||
|
new Vector3(Mathf.Sin(Time.time * zigzagFrequency) * zigzagAmplitude,0,
|
||||||
|
Mathf.Sin(Time.time * zigzagFrequency) * zigzagAmplitude),
|
||||||
|
EscapeMode.TOWARDS => -rotatedEscapeDirection,
|
||||||
|
_ => throw new ArgumentOutOfRangeException()
|
||||||
|
};
|
||||||
|
|
||||||
|
rb.velocity = newDirection.normalized * (moveSpd * Time.deltaTime);
|
||||||
|
var targetRotation = Quaternion.LookRotation(newDirection);
|
||||||
|
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, rotationSpeed * Time.deltaTime);
|
||||||
|
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
rb.velocity = Vector3.zero;
|
||||||
|
escapeCoroutine = null;
|
||||||
|
|
||||||
|
if (isRespawn)
|
||||||
|
{
|
||||||
|
FishManager.Inst.RespawnFish(gameObject, respawnTime, spawnPos);
|
||||||
|
}
|
||||||
|
gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Vector3 CalculateEscapeDirection(Vector3 targetPos)
|
||||||
|
{
|
||||||
|
var escapeDirection = (transform.position - targetPos).normalized;
|
||||||
|
escapeDirection.y = 0;
|
||||||
|
|
||||||
|
if (!isRandomAngle) return escapeDirection;
|
||||||
|
|
||||||
|
var randomRotationAngle = UnityEngine.Random.Range(-randomAngle * 0.5f, randomAngle * 0.5f);
|
||||||
|
var rotation = Quaternion.Euler(0, randomRotationAngle, 0);
|
||||||
|
return rotation * escapeDirection;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
11
BlueWater/Assets/02.Scripts/Fish.cs.meta
Normal file
11
BlueWater/Assets/02.Scripts/Fish.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a0f3e1c9930c204498f3a86452337290
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
22
BlueWater/Assets/02.Scripts/FishManager.cs
Normal file
22
BlueWater/Assets/02.Scripts/FishManager.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
// ReSharper disable once CheckNamespace
|
||||||
|
namespace BlueWaterProject
|
||||||
|
{
|
||||||
|
public class FishManager : Singleton<FishManager>
|
||||||
|
{
|
||||||
|
public void RespawnFish(GameObject fish, float delay, Vector3 respawnPos)
|
||||||
|
{
|
||||||
|
StartCoroutine(RespawnFishCoroutine(fish, delay, respawnPos));
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator RespawnFishCoroutine(GameObject fish, float delay, Vector3 respawnPos)
|
||||||
|
{
|
||||||
|
yield return new WaitForSeconds(delay);
|
||||||
|
|
||||||
|
fish.transform.position = respawnPos;
|
||||||
|
fish.SetActive(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
BlueWater/Assets/02.Scripts/FishManager.cs.meta
Normal file
11
BlueWater/Assets/02.Scripts/FishManager.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 67eb8043df0bfce42aa24c9ec130227a
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -17,7 +17,7 @@ PhysicsManager:
|
|||||||
m_EnableAdaptiveForce: 0
|
m_EnableAdaptiveForce: 0
|
||||||
m_ClothInterCollisionDistance: 0.1
|
m_ClothInterCollisionDistance: 0.1
|
||||||
m_ClothInterCollisionStiffness: 0.2
|
m_ClothInterCollisionStiffness: 0.2
|
||||||
m_LayerCollisionMatrix: 040000001000000001000000502622003a262282100000000800000000000000000000001826220218262000000000000000000018262000000000000000000000000000180200000000000000000000000000001826000200000000000000000000000010022000000000000000000000000000000000000000000010000000
|
m_LayerCollisionMatrix: 04000000100000000100000050a622003a262282100000000800000000000000000000001826220218262000000000000000000018262000000000000800000200000000180200000000000000000000000000001826000200000000000000000000000010822000000000000000000000000000000000000000000010000000
|
||||||
m_SimulationMode: 0
|
m_SimulationMode: 0
|
||||||
m_AutoSyncTransforms: 0
|
m_AutoSyncTransforms: 0
|
||||||
m_ReuseCollisionCallbacks: 0
|
m_ReuseCollisionCallbacks: 0
|
||||||
|
@ -37,7 +37,7 @@ TagManager:
|
|||||||
-
|
-
|
||||||
- Enemy
|
- Enemy
|
||||||
-
|
-
|
||||||
-
|
- Fish
|
||||||
-
|
-
|
||||||
- Npc
|
- Npc
|
||||||
-
|
-
|
||||||
|
Loading…
Reference in New Issue
Block a user