feat(Connect Distance): 添加了玩家最大可连接距离的逻辑
This commit is contained in:
@@ -330,6 +330,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
IsEnableConnecting: 1
|
IsEnableConnecting: 1
|
||||||
raycaster: {fileID: 8217262775185484522}
|
raycaster: {fileID: 8217262775185484522}
|
||||||
|
maxConnectDistance: 10.5
|
||||||
--- !u!1 &3610935294554348573
|
--- !u!1 &3610935294554348573
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@@ -310,6 +310,74 @@ MonoBehaviour:
|
|||||||
m_LightCookieSize: {x: 1, y: 1}
|
m_LightCookieSize: {x: 1, y: 1}
|
||||||
m_LightCookieOffset: {x: 0, y: 0}
|
m_LightCookieOffset: {x: 0, y: 0}
|
||||||
m_SoftShadowQuality: 1
|
m_SoftShadowQuality: 1
|
||||||
|
--- !u!1001 &473911345
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2052340463965227198, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Button (2)
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: ddd89e93db279184daa80d86bd4e770f, type: 3}
|
||||||
--- !u!1001 &769057572
|
--- !u!1001 &769057572
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -378,6 +446,74 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 9e2e93bf07726014bac5a458c32e697f, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 9e2e93bf07726014bac5a458c32e697f, type: 3}
|
||||||
|
--- !u!1001 &865274353
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 1.6
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2052340463965227198, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Button (1)
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: ddd89e93db279184daa80d86bd4e770f, type: 3}
|
||||||
--- !u!1001 &993640446
|
--- !u!1001 &993640446
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -688,6 +824,74 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 781c629235eee4f4eb34f1e763aa7f67, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 781c629235eee4f4eb34f1e763aa7f67, type: 3}
|
||||||
|
--- !u!1001 &1751629950
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 1.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 77361986880837193, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2729643726423589850, guid: b3e24e2df98d14e4ebc08cc68c071afa,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Door (3)
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: b3e24e2df98d14e4ebc08cc68c071afa, type: 3}
|
||||||
--- !u!1001 &1948851238
|
--- !u!1001 &1948851238
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1002,17 +1206,17 @@ PrefabInstance:
|
|||||||
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: -5
|
value: 5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 1
|
value: 1.3
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
value: -5
|
value: 10
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
- target: {fileID: 502199709937918930, guid: ddd89e93db279184daa80d86bd4e770f,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -1277,9 +1481,12 @@ SceneRoots:
|
|||||||
- {fileID: 7020889523296792185}
|
- {fileID: 7020889523296792185}
|
||||||
- {fileID: 2021089518}
|
- {fileID: 2021089518}
|
||||||
- {fileID: 2088331975902746738}
|
- {fileID: 2088331975902746738}
|
||||||
|
- {fileID: 1751629950}
|
||||||
- {fileID: 1948851238}
|
- {fileID: 1948851238}
|
||||||
- {fileID: 993640446}
|
- {fileID: 993640446}
|
||||||
- {fileID: 1781028406820323425}
|
- {fileID: 1781028406820323425}
|
||||||
- {fileID: 366996911271636373}
|
- {fileID: 366996911271636373}
|
||||||
- {fileID: 6191742170513974480}
|
- {fileID: 6191742170513974480}
|
||||||
|
- {fileID: 473911345}
|
||||||
|
- {fileID: 865274353}
|
||||||
- {fileID: 6350903300567888677}
|
- {fileID: 6350903300567888677}
|
||||||
|
@@ -11,6 +11,7 @@ namespace Script.Gameplay.Player
|
|||||||
{
|
{
|
||||||
public bool IsEnableConnecting = true; // 是否启用连接功能
|
public bool IsEnableConnecting = true; // 是否启用连接功能
|
||||||
[SerializeField] private FirstPersonRaycaster raycaster; // 第一人称射线检测器
|
[SerializeField] private FirstPersonRaycaster raycaster; // 第一人称射线检测器
|
||||||
|
[SerializeField] private float maxConnectDistance = 10f; // 最大连接距离
|
||||||
|
|
||||||
private IConnectable currentTarget; // 当前注视的可连接对象
|
private IConnectable currentTarget; // 当前注视的可连接对象
|
||||||
private IConnectable previousGazedTarget; // 上一次注视的 IConnectable(用于触发进入/离开)
|
private IConnectable previousGazedTarget; // 上一次注视的 IConnectable(用于触发进入/离开)
|
||||||
@@ -111,6 +112,14 @@ namespace Script.Gameplay.Player
|
|||||||
if(!IsEnableConnecting) return;
|
if(!IsEnableConnecting) return;
|
||||||
if (outTarget != null && inputTarget != null && outTarget != inputTarget)
|
if (outTarget != null && inputTarget != null && outTarget != inputTarget)
|
||||||
{
|
{
|
||||||
|
//计算距离
|
||||||
|
float distance = Vector3.Distance(outTarget.GetPosition(), inputTarget.GetPosition());
|
||||||
|
if (distance > maxConnectDistance)
|
||||||
|
{
|
||||||
|
Debug.Log("Cannot create connection: targets are too far apart.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 创建连接线
|
||||||
ConnectionLine connectionLine = ConnectionLineManager.Instance.GenerateConnectionLine(outTarget, inputTarget);
|
ConnectionLine connectionLine = ConnectionLineManager.Instance.GenerateConnectionLine(outTarget, inputTarget);
|
||||||
outTarget.OutputConnectionLine = connectionLine;
|
outTarget.OutputConnectionLine = connectionLine;
|
||||||
inputTarget.InputConnectionLine = connectionLine;
|
inputTarget.InputConnectionLine = connectionLine;
|
||||||
|
Reference in New Issue
Block a user