From aacf09b2b203886cef322f1d5e0a660c112da9e1 Mon Sep 17 00:00:00 2001 From: CortexCore <2630229280@qq.com> Date: Tue, 16 Apr 2024 04:39:26 +0800 Subject: [PATCH] 1 --- .../Prefabs/AI/AI Shooter Variant.prefab | 23 +- Assets/Artists/Prefabs/AI/Zombie.prefab | 358 +++- .../Medical Container Variant.prefab | 29 +- Assets/Artists/Prefabs/Physics Zombie.prefab | 43 +- Assets/Artists/Prefabs/Player.prefab | 24 + Assets/Artists/Prefabs/Rig/AI/Sensor.prefab | 45 +- Assets/Artists/Prefabs/Rig/AI/Tags.prefab | 133 ++ Assets/Artists/Scenes/Game/Prototype.unity | 1678 ++++++++++++++++- .../Game/Prototype/NavMesh-PathFinder.asset | Bin 54264 -> 55556 bytes .../Scripts/AI/BITFALL.AI.Runtime.asmdef | 3 +- .../Scripts/Entities/AI/AIRuntimeStates.cs | 194 ++ .../Artists/Scripts/Entities/AI/AIService.cs | 52 + .../AI/BITFALL.Entities.AI.Runtime.asmdef | 23 + .../Core/Character/EntityProxyCharacter.cs | 3 +- Assets/BITFALL/AI/AIMisc.cs | 6 + Assets/BITFALL/AI/AIStates.cs | 134 ++ Assets/BITFALL/AI/AITarget.cs | 11 + Assets/BITFALL/AI/BITFALL.AI.asmdef | 18 + Assets/BITKit/Core/Tag/ITag.cs | 1 + .../Scripts/Physics/PhysicsBasedAnimation.cs | 2 +- .../Unity/Scripts/Physics/Prop_Physics.cs | 3 +- .../Unity/Scripts/Sensor/AudioSensor.cs | 14 +- .../Unity/Scripts/Sensor/RangeSensor.cs | 13 +- .../Scripts/Sensor/Smart/SmartTargetSensor.cs | 272 +-- .../Sensor/Smart/SmartTargetSensorStates.cs | 30 + Assets/BITKit/Unity/Scripts/Tag/Tag.cs | 3 +- .../Sensor/SmartTargetDetectionNode.cs | 2 +- .../DictionaryReferenceScriptableObject.asset | 4 + 28 files changed, 2571 insertions(+), 550 deletions(-) create mode 100644 Assets/Artists/Prefabs/Rig/AI/Tags.prefab create mode 100644 Assets/Artists/Scripts/Entities/AI/AIRuntimeStates.cs create mode 100644 Assets/Artists/Scripts/Entities/AI/AIService.cs create mode 100644 Assets/Artists/Scripts/Entities/AI/BITFALL.Entities.AI.Runtime.asmdef create mode 100644 Assets/BITFALL/AI/AIMisc.cs create mode 100644 Assets/BITFALL/AI/AIStates.cs create mode 100644 Assets/BITFALL/AI/AITarget.cs create mode 100644 Assets/BITFALL/AI/BITFALL.AI.asmdef create mode 100644 Assets/BITKit/Unity/Scripts/Sensor/Smart/SmartTargetSensorStates.cs diff --git a/Assets/Artists/Prefabs/AI/AI Shooter Variant.prefab b/Assets/Artists/Prefabs/AI/AI Shooter Variant.prefab index 88afafb6b..1d660c1da 100644 --- a/Assets/Artists/Prefabs/AI/AI Shooter Variant.prefab +++ b/Assets/Artists/Prefabs/AI/AI Shooter Variant.prefab @@ -625,9 +625,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _parentBlackboard: {fileID: 0} - _serializedBlackboard: '{"_variables":{"Sensor":{"_value":1,"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, + _serializedBlackboard: '{"_variables":{"Sensor":{"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, BITKit.Sensor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Target":{"_name":"Target","_id":"7e434d61-d448-41a6-91d9-50c35408f293","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Transform, - UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Entity":{"_value":2,"_name":"Entity","_id":"9c6ef538-dedf-4070-9feb-a71566e239b8","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Entities.Entity, + UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Entity":{"_value":1,"_name":"Entity","_id":"9c6ef538-dedf-4070-9feb-a71566e239b8","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Entities.Entity, BITKit.Entities, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"HP":{"_name":"HP","_id":"e1629cd4-44b7-4721-ac3d-36818ff847db","$type":"NodeCanvas.Framework.Variable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"IsAlive":{"_name":"IsAlive","_id":"07bceed0-a2a2-4e96-b85e-0ece496626da","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"Basic @@ -637,14 +637,11 @@ MonoBehaviour: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}' _objectReferences: - {fileID: 0} - - {fileID: 5547163794359473138} - {fileID: 6002286783881882295} _serializedVariables: - - _json: '{"_value":1,"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, + - _json: '{"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, BITKit.Sensor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' - _references: - - {fileID: 0} - - {fileID: 5547163794359473138} + _references: [] - _json: '{"_name":"Target","_id":"7e434d61-d448-41a6-91d9-50c35408f293","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Transform, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' _references: [] @@ -948,18 +945,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2ad4d682518910847b19ed8106c0071a, type: 3} ---- !u!114 &5547163794359473138 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 9015502658869033244, guid: 2ad4d682518910847b19ed8106c0071a, - type: 3} - m_PrefabInstance: {fileID: 3595565691975903982} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7815632634318192345} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 33d6f52a9de8ea149ab70ac4e67a0c36, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!4 &7437684211249510939 stripped Transform: m_CorrespondingSourceObject: {fileID: 6256051358093332725, guid: 2ad4d682518910847b19ed8106c0071a, diff --git a/Assets/Artists/Prefabs/AI/Zombie.prefab b/Assets/Artists/Prefabs/AI/Zombie.prefab index 1f33f2e2a..706ed9e24 100644 --- a/Assets/Artists/Prefabs/AI/Zombie.prefab +++ b/Assets/Artists/Prefabs/AI/Zombie.prefab @@ -18,9 +18,6 @@ GameObject: - component: {fileID: 5020317200630596891} - component: {fileID: 7936474328313349173} - component: {fileID: 3691802904714930186} - - component: {fileID: 1663689908842247019} - - component: {fileID: 4359274159838455549} - - component: {fileID: 6659077818004947443} - component: {fileID: 5179535705297386567} - component: {fileID: 4204812059243969666} - component: {fileID: 591561399114057092} @@ -31,6 +28,7 @@ GameObject: - component: {fileID: 2332545226796783687} - component: {fileID: 5701445397685345264} - component: {fileID: 4192408521140958198} + - component: {fileID: 4873303856304307760} m_Layer: 6 m_Name: Zombie m_TagString: Untagged @@ -53,6 +51,7 @@ Transform: m_Children: - {fileID: 3509096854786611592} - {fileID: 6503844267943367046} + - {fileID: 8461637830315704982} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &8426729501548603387 @@ -113,7 +112,7 @@ MonoBehaviour: - rid: 33717727055315050 type: {class: DictionaryReference, ns: BITKit, asm: BITKit} data: - index: 682457707 + index: -1058870509 keyword: z --- !u!95 &673930142905110667 Animator: @@ -229,96 +228,6 @@ NavMeshAgent: m_BaseOffset: 0 m_WalkableMask: 4294967295 m_ObstacleAvoidanceType: 4 ---- !u!114 &1663689908842247019 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1610736432900663163} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: aad115aca74ce3c4891b3f6de0b4aae8, type: 3} - m_Name: - m_EditorClassIdentifier: - _serializedExposedParameters: [] - _boundGraphSerialization: - _boundGraphObjectReferences: [] - _boundGraphSource: - _version: 0 - _category: - _comments: - _translation: {x: 0, y: 0} - _zoomFactor: 1 - _firstActivation: 2 - _enableAction: 1 - _disableAction: 0 - _lockBoundGraphPrefabOverrides: 1 - _preInitializeSubGraphs: 0 - _updateMode: 0 - _graph: {fileID: 11400000, guid: b7391ad4ecc8f5a43a7742936d9d746c, type: 2} - _blackboard: {fileID: 4359274159838455549} ---- !u!114 &4359274159838455549 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1610736432900663163} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b98a6db0b653f764eac834f85857a9dd, type: 3} - m_Name: - m_EditorClassIdentifier: - _parentBlackboard: {fileID: 0} - _serializedBlackboard: '{"_variables":{"Sensor":{"_value":1,"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, - BITKit.Sensor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Target":{"_name":"Target","_id":"7e434d61-d448-41a6-91d9-50c35408f293","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Transform, - UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"AttackAction":{"_name":"AttackAction","_id":"44829776-9918-4b67-9b7d-bd016fbe659f","$type":"NodeCanvas.Framework.Variable`1[[BITKit.MonoAction, - BITKit, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Entity":{"_value":2,"_name":"Entity","_id":"9c6ef538-dedf-4070-9feb-a71566e239b8","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Entities.Entity, - BITKit.Entities, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"IsAlive":{"_name":"IsAlive","_id":"583d9c15-3c5b-4ebc-9e6f-589f21505616","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean, - mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"HP":{"_name":"HP","_id":"e1629cd4-44b7-4721-ac3d-36818ff847db","$type":"NodeCanvas.Framework.Variable`1[[System.Int32, - mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}' - _objectReferences: - - {fileID: 0} - - {fileID: 8182690404236474479} - - {fileID: 1765543596226114749} - _serializedVariables: - - _json: '{"_value":1,"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, - BITKit.Sensor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' - _references: - - {fileID: 0} - - {fileID: 8182690404236474479} - - _json: '{"_name":"Target","_id":"7e434d61-d448-41a6-91d9-50c35408f293","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Transform, - UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' - _references: [] - - _json: '{"_name":"AttackAction","_id":"44829776-9918-4b67-9b7d-bd016fbe659f","$type":"NodeCanvas.Framework.Variable`1[[BITKit.MonoAction, - BITKit, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' - _references: [] - - _json: '{"_value":1,"_name":"Entity","_id":"9c6ef538-dedf-4070-9feb-a71566e239b8","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Entities.Entity, - BITKit.Entities, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' - _references: - - {fileID: 0} - - {fileID: 1765543596226114749} - - _json: '{"_name":"IsAlive","_id":"583d9c15-3c5b-4ebc-9e6f-589f21505616","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean, - mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}' - _references: [] - - _json: '{"_name":"HP","_id":"e1629cd4-44b7-4721-ac3d-36818ff847db","$type":"NodeCanvas.Framework.Variable`1[[System.Int32, - mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}' - _references: [] ---- !u!114 &6659077818004947443 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1610736432900663163} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 77a2220c9a6ca8b479573c0f424a4d2c, type: 3} - m_Name: - m_EditorClassIdentifier: - behaviourTree: {fileID: 1663689908842247019} - blackboard: {fileID: 4359274159838455549} --- !u!114 &5179535705297386567 MonoBehaviour: m_ObjectHideFlags: 0 @@ -429,7 +338,7 @@ MonoBehaviour: - rid: 7707058052847370280 type: {class: SensorMonoProxy, ns: BITKit.Sensors, asm: BITKit.Sensor} data: - monoBehaviour: {fileID: 8182690404236474479} + monoBehaviour: {fileID: 0} --- !u!114 &6530587526832555870 MonoBehaviour: m_ObjectHideFlags: 0 @@ -628,6 +537,57 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 126 m_CollisionDetection: 0 +--- !u!114 &4873303856304307760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1610736432900663163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 078a770363d5628419717cb5d9185c51, type: 3} + m_Name: + m_EditorClassIdentifier: + stateMachine: + states: + - rid: 1450174819340386310 + - rid: 1450174819340386311 + - rid: 1450174819340386312 + _currentStateName: + debug: 0 + transitionOnNextFrame: 0 + ticker: + rid: 1450174819340386308 + agent: {fileID: 3691802904714930186} + rangeSensor: {fileID: 8443497955954441676} + audioSensor: {fileID: 4975421454249292524} + selfTag: {fileID: 2126668844316887849} + friendTag: {fileID: 7796253121890493493} + enemyTag: {fileID: 5294749784761799474} + references: + version: 2 + RefIds: + - rid: 1450174819340386308 + type: {class: GameTick, ns: BITKit, asm: BITKit} + data: + - rid: 1450174819340386310 + type: {class: Idle, ns: BITFALL.AI.States, asm: BITFALL.Entities.AI.Runtime} + data: + Service: {fileID: 0} + - rid: 1450174819340386311 + type: {class: Alert, ns: BITFALL.AI.States, asm: BITFALL.Entities.AI.Runtime} + data: + Service: {fileID: 0} + initialAlertTime: 5 + immediatelyDetectDistance: 5 + detectedWeight: 0 + - rid: 1450174819340386312 + type: {class: Combat, ns: BITFALL.AI.States, asm: BITFALL.Entities.AI.Runtime} + data: + Service: {fileID: 0} + lostTargetTime: 16 + currentLostTargetTime: 0 --- !u!1 &4091319875833546166 GameObject: m_ObjectHideFlags: 0 @@ -768,24 +728,214 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2ad4d682518910847b19ed8106c0071a, type: 3} ---- !u!4 &6503844267943367046 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 6256051358093332725, guid: 2ad4d682518910847b19ed8106c0071a, - type: 3} - m_PrefabInstance: {fileID: 906277369666945395} - m_PrefabAsset: {fileID: 0} ---- !u!114 &8182690404236474479 stripped +--- !u!114 &4975421454249292524 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 9015502658869033244, guid: 2ad4d682518910847b19ed8106c0071a, + m_CorrespondingSourceObject: {fileID: 5305100744181658527, guid: 2ad4d682518910847b19ed8106c0071a, type: 3} m_PrefabInstance: {fileID: 906277369666945395} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 33d6f52a9de8ea149ab70ac4e67a0c36, type: 3} + m_Script: {fileID: 11500000, guid: d7841c9177d83e54594af3d7a9ec4b08, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!4 &6503844267943367046 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6256051358093332725, guid: 2ad4d682518910847b19ed8106c0071a, + type: 3} + m_PrefabInstance: {fileID: 906277369666945395} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8443497955954441676 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8772707305530588351, guid: 2ad4d682518910847b19ed8106c0071a, + type: 3} + m_PrefabInstance: {fileID: 906277369666945395} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8f305912600022b4c824367828ddc333, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1693532935742515987 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 5964803017347144284} + m_Modifications: + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: reference.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[-2] + value: + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: reference.Array.data[0] + value: 1450174819340386318 + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386316] + value: BITKit BITKit.Reference + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386317] + value: BITKit BITKit.ReferenceScriptableObject + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386318] + value: BITKit BITKit.DictionaryReference + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386317].so + value: + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386316].value + value: + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386318].index + value: 1301705678 + objectReference: {fileID: 0} + - target: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386318].keyword + value: huma + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8051666175491085143, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: m_Name + value: Tags + objectReference: {fileID: 0} + - target: {fileID: 8913039084940381990, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: reference.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8913039084940381990, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[-2] + value: + objectReference: {fileID: 0} + - target: {fileID: 8913039084940381990, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: reference.Array.data[0] + value: 1450174819340386315 + objectReference: {fileID: 0} + - target: {fileID: 8913039084940381990, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386315] + value: BITKit BITKit.DictionaryReference + objectReference: {fileID: 0} + - target: {fileID: 8913039084940381990, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386315].index + value: -1058870509 + objectReference: {fileID: 0} + - target: {fileID: 8913039084940381990, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + propertyPath: managedReferences[1450174819340386315].keyword + value: zom + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b7f40e45b9f64fe4995e6a1b834d17d9, type: 3} +--- !u!114 &5294749784761799474 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6843811012753684513, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + m_PrefabInstance: {fileID: 1693532935742515987} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a39bc549257f2e94cbb86ae99c0107c4, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &7796253121890493493 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8913039084940381990, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + m_PrefabInstance: {fileID: 1693532935742515987} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a39bc549257f2e94cbb86ae99c0107c4, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &8461637830315704982 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7128465923029264773, guid: b7f40e45b9f64fe4995e6a1b834d17d9, + type: 3} + m_PrefabInstance: {fileID: 1693532935742515987} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1865042540434023482 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Artists/Prefabs/Loot/Container/Medical Container Variant.prefab b/Assets/Artists/Prefabs/Loot/Container/Medical Container Variant.prefab index 7b349b882..f62be02b2 100644 --- a/Assets/Artists/Prefabs/Loot/Container/Medical Container Variant.prefab +++ b/Assets/Artists/Prefabs/Loot/Container/Medical Container Variant.prefab @@ -78,6 +78,11 @@ PrefabInstance: propertyPath: rmsCount value: 6 objectReference: {fileID: 0} + - target: {fileID: 3613778988776262925, guid: 27719a3d454f29b4381adf6c7c1bd84d, + type: 3} + propertyPath: outlineWidth + value: 0.16 + objectReference: {fileID: 0} - target: {fileID: 5514379543162470980, guid: 27719a3d454f29b4381adf6c7c1bd84d, type: 3} propertyPath: m_Name @@ -99,18 +104,14 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 5514379543162470980, guid: 27719a3d454f29b4381adf6c7c1bd84d, type: 3} insertIndex: 6 - addedObject: {fileID: 8092395782639463146} - - targetCorrespondingSourceObject: {fileID: 5514379543162470980, guid: 27719a3d454f29b4381adf6c7c1bd84d, - type: 3} - insertIndex: 7 addedObject: {fileID: 4709101312187563039} - targetCorrespondingSourceObject: {fileID: 5514379543162470980, guid: 27719a3d454f29b4381adf6c7c1bd84d, type: 3} - insertIndex: 8 + insertIndex: 7 addedObject: {fileID: 768493181001795629} - targetCorrespondingSourceObject: {fileID: 5514379543162470980, guid: 27719a3d454f29b4381adf6c7c1bd84d, type: 3} - insertIndex: 9 + insertIndex: 8 addedObject: {fileID: 7499168752360152102} m_SourcePrefab: {fileID: 100100000, guid: 27719a3d454f29b4381adf6c7c1bd84d, type: 3} --- !u!54 &199638012735786757 stripped @@ -131,22 +132,6 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 6414151364918162970} m_PrefabAsset: {fileID: 0} ---- !u!114 &8092395782639463146 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1550547054305604702} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 52b4c3dc3ca60bb4cb422821e6d7ff38, type: 3} - m_Name: - m_EditorClassIdentifier: - spawnOnStart: 1 - lootDrop: {fileID: 11400000, guid: fde747998659fed4ab4b95496f9a9cbd, type: 2} - container: {fileID: 6099372863546542444} - count: 1 --- !u!95 &4709101312187563039 Animator: serializedVersion: 5 diff --git a/Assets/Artists/Prefabs/Physics Zombie.prefab b/Assets/Artists/Prefabs/Physics Zombie.prefab index d4b5b2fc1..b5acb776f 100644 --- a/Assets/Artists/Prefabs/Physics Zombie.prefab +++ b/Assets/Artists/Prefabs/Physics Zombie.prefab @@ -241,6 +241,9 @@ MonoBehaviour: physicsBasedAnimation: allow: 1 value: {fileID: 3862100421307477824} + aliveRigidbody: + allow: 0 + value: {fileID: 0} references: version: 2 RefIds: @@ -321,19 +324,8 @@ MonoBehaviour: - rid: 7707058030789525626 type: {class: Walk, ns: BITFALL.Movement.MotionBased.States, asm: BITFALL.Entities.Movement.Runtime} data: - _state: - _FadeDuration: 0.25 - _Events: - _NormalizedTimes: [] - _Callbacks: [] - _Names: [] - _Speed: 1 - _Animations: [] - _Speeds: [] - _SynchronizeChildren: - _Thresholds: [] - _DefaultParameter: 0 - _ExtrapolateSpeed: 1 + entryClips: [] + clips: [] - rid: 7707058030789525638 type: {class: IdleTurn, ns: BITFALL.Movement.MotionBased.States, asm: BITFALL.Entities.Movement.Runtime} data: @@ -393,22 +385,19 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _parentBlackboard: {fileID: 0} - _serializedBlackboard: '{"_variables":{"Sensor":{"_value":1,"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, + _serializedBlackboard: '{"_variables":{"Sensor":{"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, BITKit.Sensor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Target":{"_name":"Target","_id":"7e434d61-d448-41a6-91d9-50c35408f293","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Transform, - UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Entity":{"_value":2,"_name":"Entity","_id":"9c6ef538-dedf-4070-9feb-a71566e239b8","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Entities.Entity, + UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"Entity":{"_value":1,"_name":"Entity","_id":"9c6ef538-dedf-4070-9feb-a71566e239b8","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Entities.Entity, BITKit.Entities, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"IsAlive":{"_name":"IsAlive","_id":"583d9c15-3c5b-4ebc-9e6f-589f21505616","$type":"NodeCanvas.Framework.Variable`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"HP":{"_name":"HP","_id":"e1629cd4-44b7-4721-ac3d-36818ff847db","$type":"NodeCanvas.Framework.Variable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}}' _objectReferences: - {fileID: 0} - - {fileID: 7313871570116796115} - {fileID: 487596900774587583} _serializedVariables: - - _json: '{"_value":1,"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, + - _json: '{"_name":"Sensor","_id":"d648241e-321f-48dd-a4e3-d661ee461283","$type":"NodeCanvas.Framework.Variable`1[[BITKit.Sensors.SmartTargetSensor, BITKit.Sensor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' - _references: - - {fileID: 0} - - {fileID: 7313871570116796115} + _references: [] - _json: '{"_name":"Target","_id":"7e434d61-d448-41a6-91d9-50c35408f293","$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Transform, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}' _references: [] @@ -534,7 +523,7 @@ MonoBehaviour: - rid: 7707058052847370262 type: {class: SensorMonoProxy, ns: BITKit.Sensors, asm: BITKit.Sensor} data: - monoBehaviour: {fileID: 7313871570116796115} + monoBehaviour: {fileID: 0} --- !u!1001 &1773688828836030415 PrefabInstance: m_ObjectHideFlags: 0 @@ -644,18 +633,6 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1773688828836030415} m_PrefabAsset: {fileID: 0} ---- !u!114 &7313871570116796115 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 9015502658869033244, guid: 2ad4d682518910847b19ed8106c0071a, - type: 3} - m_PrefabInstance: {fileID: 1773688828836030415} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 33d6f52a9de8ea149ab70ac4e67a0c36, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1001 &4561683943698286367 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Artists/Prefabs/Player.prefab b/Assets/Artists/Prefabs/Player.prefab index 71eb60828..a3b93fb0d 100644 --- a/Assets/Artists/Prefabs/Player.prefab +++ b/Assets/Artists/Prefabs/Player.prefab @@ -1004,6 +1004,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4826102346843731735} + - component: {fileID: 6313379856987838926} - component: {fileID: 2634754629000604700} - component: {fileID: 6417910595033156401} - component: {fileID: 6002452162850529175} @@ -1088,6 +1089,29 @@ Transform: - {fileID: 5853897294963205446} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6313379856987838926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4826102346843731729} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a39bc549257f2e94cbb86ae99c0107c4, type: 3} + m_Name: + m_EditorClassIdentifier: + tags: [] + reference: + - rid: 1450174819340386319 + references: + version: 2 + RefIds: + - rid: 1450174819340386319 + type: {class: DictionaryReference, ns: BITKit, asm: BITKit} + data: + index: 1301705678 + keyword: ca --- !u!114 &2634754629000604700 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Artists/Prefabs/Rig/AI/Sensor.prefab b/Assets/Artists/Prefabs/Rig/AI/Sensor.prefab index a9c890f15..d2da1f555 100644 --- a/Assets/Artists/Prefabs/Rig/AI/Sensor.prefab +++ b/Assets/Artists/Prefabs/Rig/AI/Sensor.prefab @@ -44,7 +44,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d7841c9177d83e54594af3d7a9ec4b08, type: 3} m_Name: m_EditorClassIdentifier: + autoUpdate: 1 radius: 24 + ignoreTags: + allow: 0 + value: [] --- !u!1 &6742090447984940087 GameObject: m_ObjectHideFlags: 0 @@ -54,7 +58,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6256051358093332725} - - component: {fileID: 9015502658869033244} m_Layer: 0 m_Name: Sensor m_TagString: Untagged @@ -79,44 +82,6 @@ Transform: - {fileID: 6750927362237252721} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9015502658869033244 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6742090447984940087} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 33d6f52a9de8ea149ab70ac4e67a0c36, type: 3} - m_Name: - m_EditorClassIdentifier: - autoUpdate: 1 - ignoreTags: - allow: 0 - value: [] - optionalRetargetInterval: - allow: 1 - value: - Interval: 1 - lostTargetInterval: - allow: 1 - value: 16 - detectedTime: - allow: 1 - value: 0.5 - root: {fileID: 0} - sensor: - rid: 806583310205321480 - audioSensor: {fileID: 5305100744181658527} - updateCount: 0 - references: - version: 2 - RefIds: - - rid: 806583310205321480 - type: {class: UnitySensor, ns: BITKit.Sensors, asm: BITKit.Sensor} - data: - gameObject: {fileID: 9148787559049777921} --- !u!1 &9148787559049777921 GameObject: m_ObjectHideFlags: 0 @@ -164,7 +129,7 @@ MonoBehaviour: detectLayer: serializedVersion: 2 m_Bits: 64 - autoUpdate: 0 + autoUpdate: 1 ignoreColliders: - {fileID: 0} detected: [] diff --git a/Assets/Artists/Prefabs/Rig/AI/Tags.prefab b/Assets/Artists/Prefabs/Rig/AI/Tags.prefab new file mode 100644 index 000000000..00faf0259 --- /dev/null +++ b/Assets/Artists/Prefabs/Rig/AI/Tags.prefab @@ -0,0 +1,133 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1911735542554646388 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6322495096740132473} + - component: {fileID: 8913039084940381990} + m_Layer: 6 + m_Name: FriendTag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6322495096740132473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1911735542554646388} + 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: [] + m_Father: {fileID: 7128465923029264773} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8913039084940381990 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1911735542554646388} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a39bc549257f2e94cbb86ae99c0107c4, type: 3} + m_Name: + m_EditorClassIdentifier: + tags: [] + reference: [] + references: + version: 2 + RefIds: [] +--- !u!1 &2921918470595128776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5113332931155271858} + - component: {fileID: 6843811012753684513} + m_Layer: 6 + m_Name: EnemyTag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5113332931155271858 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2921918470595128776} + 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: [] + m_Father: {fileID: 7128465923029264773} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6843811012753684513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2921918470595128776} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a39bc549257f2e94cbb86ae99c0107c4, type: 3} + m_Name: + m_EditorClassIdentifier: + tags: [] + reference: [] + references: + version: 2 + RefIds: [] +--- !u!1 &8051666175491085143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7128465923029264773} + m_Layer: 6 + m_Name: Tags + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7128465923029264773 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8051666175491085143} + 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: 6322495096740132473} + - {fileID: 5113332931155271858} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Artists/Scenes/Game/Prototype.unity b/Assets/Artists/Scenes/Game/Prototype.unity index a104d0a84..253ba0db6 100644 --- a/Assets/Artists/Scenes/Game/Prototype.unity +++ b/Assets/Artists/Scenes/Game/Prototype.unity @@ -113254,7 +113254,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalPosition.x - value: -13.86 + value: 6.640008 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -113264,7 +113264,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalPosition.z - value: -9.96 + value: -28.459991 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -113279,7 +113279,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalRotation.y - value: -0 + value: -0.00000020861623 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -119411,6 +119411,171 @@ Transform: type: 3} m_PrefabInstance: {fileID: 432576031} m_PrefabAsset: {fileID: 0} +--- !u!43 &433306159 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh85784(Clone) + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 36 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 24 + localAABB: + m_Center: {x: 0.5, y: 0.5, z: 1} + m_Extent: {x: 0.5, y: 0.5, z: 1} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200010003000200040005000600050007000600080009000a0009000b000a000c000d000e000d000f000e00100011001200110013001200140015001600150017001600 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 24 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 48 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1344 + _typelessdata: 00000000000000000000004000000000000000000000803f000080bf0000000000000000000080bf0000000000000000774c3c3fda10063f0000803f000000000000004000000000000000000000803f000080bf0000000000000000000080bf000080bf00000000774c3c3f346b413f000000000000803f0000004000000000000000000000803f000080bf0000000000000000000080bf000000000000803f23f2003fda10063f0000803f0000803f0000004000000000000000000000803f000080bf0000000000000000000080bf000080bf0000803f23f2003f346b413f0000803f00000000000000400000803f000000000000000000000000000000000000803f000080bf000000400000000029f2003f912f8b3e0000803f00000000000000000000803f000000000000000000000000000000000000803f000080bf0000000000000000d5a6773f912f8b3e0000803f0000803f000000400000803f000000000000000000000000000000000000803f000080bf000000400000803f23f2003f21f2003f0000803f0000803f000000000000803f000000000000000000000000000000000000803f000080bf000000000000803fcfa6773f21f2003f0000803f00000000000000000000000000000000000080bf0000803f0000000000000000000080bf0000803f00000000306b413f346b413f0000000000000000000000000000000000000000000080bf0000803f0000000000000000000080bf0000000000000000306b413fda10063f0000803f0000803f000000000000000000000000000080bf0000803f0000000000000000000080bf0000803f0000803f84c57c3f346b413f000000000000803f000000000000000000000000000080bf0000803f0000000000000000000080bf000000000000803f84c57c3fda10063f000000000000000000000000000080bf00000000000000000000000000000000000080bf000080bf0000000000000000ced7a33cda10063f000000000000000000000040000080bf00000000000000000000000000000000000080bf000080bf000000c000000000d4a6f73eda10063f000000000000803f00000000000080bf00000000000000000000000000000000000080bf000080bf000000000000803f0bd7a33c336b413f000000000000803f00000040000080bf00000000000000000000000000000000000080bf000080bf000000c00000803fc8a6f73e336b413f000000000000803f00000040000000000000803f000000000000803f0000000000000000000080bf0000000000000040d5a6f73e0bd7a33c0000803f0000803f00000040000000000000803f000000000000803f0000000000000000000080bf0000803f00000040daa6f73e1cf2803e000000000000803f00000000000000000000803f000000000000803f0000000000000000000080bf00000000000000000bd7a33c4fd7a33c0000803f0000803f00000000000000000000803f000000000000803f0000000000000000000080bf0000803f0000000058d7a33c20f2803e00000000000000000000000000000000000080bf00000000000080bf0000000000000000000080bf0000000000000000d5a6f73e972f8b3e0000803f000000000000000000000000000080bf00000000000080bf0000000000000000000080bf000080bf00000000d5a6f73e21f2003f00000000000000000000004000000000000080bf00000000000080bf0000000000000000000080bf000000000000004013d7a33c912f8b3e0000803f000000000000004000000000000080bf00000000000080bf0000000000000000000080bf000080bf000000400bd7a33c1ef2003f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0.5, y: 0.5, z: 1} + m_Extent: {x: 0.5, y: 0.5, z: 1} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 18.603565 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: --- !u!1001 &434174700 PrefabInstance: m_ObjectHideFlags: 0 @@ -129258,7 +129423,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalPosition.x - value: -13.86 + value: 6.640008 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -129268,7 +129433,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalPosition.z - value: -4.81 + value: -23.309992 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -129283,7 +129448,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalRotation.y - value: -0 + value: -0.00000020861623 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -146333,6 +146498,21 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 787066827} m_Mesh: {fileID: -8400359712713505016, guid: 5442bb8da725b78419d6207034a3c2a0, type: 2} +--- !u!114 &792120131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 38a40404d9721ed4f984030fbce11d53, type: 3} + m_Name: + m_EditorClassIdentifier: + _snapMode: 0 + _snapHalfSpace: 0 + _projectionSettings: {fileID: 0} --- !u!1001 &792230265 PrefabInstance: m_ObjectHideFlags: 0 @@ -147778,7 +147958,7 @@ MonoBehaviour: _spawnGuide: {fileID: 822840713} _extensionPlane: _refOBBFace: 4 - _modularSnapSession: {fileID: 2032963013} + _modularSnapSession: {fileID: 1852575586} _mirrorGizmo: {fileID: 1375316191} --- !u!1001 &816064553 PrefabInstance: @@ -163202,7 +163382,7 @@ MonoBehaviour: _extensionPlane: _refOBBFace: 4 _heightPatternDirection: 0 - _modularSnapSession: {fileID: 1836032133} + _modularSnapSession: {fileID: 792120131} _mirrorGizmo: {fileID: 1048309914} --- !u!114 &986120495 MonoBehaviour: @@ -167627,7 +167807,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalPosition.x - value: -14.03 + value: 6.470008 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -167637,7 +167817,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalPosition.z - value: -0.07 + value: -18.569992 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -167652,7 +167832,7 @@ PrefabInstance: - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} propertyPath: m_LocalRotation.y - value: -0 + value: -0.00000020861623 objectReference: {fileID: 0} - target: {fileID: 2650330802449779101, guid: 49de140ea41b23442b0d59ec1db8220d, type: 3} @@ -185550,6 +185730,26 @@ LODGroup: type: 3} m_PrefabInstance: {fileID: 1251858991} m_PrefabAsset: {fileID: 0} +--- !u!114 &1253903281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49490255aaf1a2641a4c5771511bd253, type: 3} + m_Name: + m_EditorClassIdentifier: + _halfSpace: 1 + _alignAxis: 0 + _alignmentAxis: 1 + _invertAlignmentAxis: 0 + _projectAsUnit: 0 + _embedInSurface: 1 + _inFrontOffset: 0 + _behindOffset: 0 --- !u!1 &1254394463 stripped GameObject: m_CorrespondingSourceObject: {fileID: 8011296125250502391, guid: 22c543a201d947146a7c654abeb26d98, @@ -220492,6 +220692,358 @@ LODGroup: type: 3} m_PrefabInstance: {fileID: 1475352110} m_PrefabAsset: {fileID: 0} +--- !u!1 &1477978813 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1477978814} + - component: {fileID: 1477978819} + - component: {fileID: 1477978818} + - component: {fileID: 1477978817} + - component: {fileID: 1477978816} + - component: {fileID: 1477978815} + m_Layer: 0 + m_Name: Cube (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &1477978814 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477978813} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0.7071067, z: -0, w: 0.70710695} + m_LocalPosition: {x: -12.000001, y: 0, z: 1.0000005} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1671777019} + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!65 &1477978815 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477978813} + 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: 2} + m_Center: {x: 0.5, y: 0.5, z: 1} +--- !u!33 &1477978816 +MeshFilter: + m_ObjectHideFlags: 10 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477978813} + m_Mesh: {fileID: 433306159} +--- !u!23 &1477978817 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477978813} + 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: dbf2d2587ed57dc499d9196dab40ff06, 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: 2 + 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!114 &1477978818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477978813} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1ca002da428252441b92f28d83c8a65f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Shape: + rid: 749939982846918666 + m_Size: {x: 1, y: 1, z: 2} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_PivotLocation: 1 + m_PivotPosition: {x: 0, y: 0, z: 0} + m_UnmodifiedMeshVersion: 720 + m_ShapeBox: + m_Center: {x: 0.5, y: 0.5, z: 1} + m_Extent: {x: 0.5, y: 0.5, z: 1} + references: + version: 2 + RefIds: + - rid: 749939982846918666 + type: {class: Cube, ns: UnityEngine.ProBuilder.Shapes, asm: Unity.ProBuilder} + data: +--- !u!114 &1477978819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1477978813} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8233d90336aea43098adf6dbabd606a2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MeshFormatVersion: 2 + m_Faces: + - m_Indexes: 000000000100000002000000010000000300000002000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 040000000500000006000000050000000700000006000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 08000000090000000a000000090000000b0000000a000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 0c0000000d0000000e0000000d0000000f0000000e000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 100000001100000012000000110000001300000012000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 140000001500000016000000150000001700000016000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + m_SharedVertices: + - m_Vertices: 000000000d00000016000000 + - m_Vertices: 010000000400000017000000 + - m_Vertices: 020000000f00000010000000 + - m_Vertices: 030000000600000011000000 + - m_Vertices: 050000000800000015000000 + - m_Vertices: 070000000a00000013000000 + - m_Vertices: 090000000c00000014000000 + - m_Vertices: 0b0000000e00000012000000 + m_SharedTextures: [] + m_Positions: + - {x: 0, y: 0, z: 2} + - {x: 1, y: 0, z: 2} + - {x: 0, y: 1, z: 2} + - {x: 1, y: 1, z: 2} + - {x: 1, y: 0, z: 2} + - {x: 1, y: 0, z: 0} + - {x: 1, y: 1, z: 2} + - {x: 1, y: 1, z: 0} + - {x: 1, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 1, y: 1, z: 0} + - {x: 0, y: 1, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 2} + - {x: 0, y: 1, z: 0} + - {x: 0, y: 1, z: 2} + - {x: 0, y: 1, z: 2} + - {x: 1, y: 1, z: 2} + - {x: 0, y: 1, z: 0} + - {x: 1, y: 1, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 1, y: 0, z: 0} + - {x: 0, y: 0, z: 2} + - {x: 1, y: 0, z: 2} + m_Textures0: + - {x: 0, y: 0} + - {x: -1, y: 0} + - {x: 0, y: 1} + - {x: -1, y: 1} + - {x: 2, y: 0} + - {x: 0, y: 0} + - {x: 2, y: 1} + - {x: 0, y: 1} + - {x: 1, y: 0} + - {x: 0, y: 0} + - {x: 1, y: 1} + - {x: 0, y: 1} + - {x: 0, y: 0} + - {x: -2, y: 0} + - {x: 0, y: 1} + - {x: -2, y: 1} + - {x: 0, y: 2} + - {x: 1, y: 2} + - {x: 0, y: 0} + - {x: 1, y: 0} + - {x: 0, y: 0} + - {x: -1, y: 0} + - {x: 0, y: 2} + - {x: -1, y: 2} + m_Textures2: [] + m_Textures3: [] + m_Tangents: + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + m_Colors: [] + m_UnwrapParameters: + m_HardAngle: 88 + m_PackMargin: 20 + m_AngleError: 8 + m_AreaError: 15 + m_PreserveMeshAssetOnDestroy: 0 + assetGuid: + m_Mesh: {fileID: 433306159} + m_VersionIndex: 723 + m_IsSelectable: 1 + m_SelectedFaces: + m_SelectedEdges: [] + m_SelectedVertices: --- !u!1001 &1479090127 PrefabInstance: m_ObjectHideFlags: 0 @@ -226035,6 +226587,358 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: a751561613388284c9d7ac13bd6b1a03, type: 3} +--- !u!1 &1542433019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1542433020} + - component: {fileID: 1542433025} + - component: {fileID: 1542433024} + - component: {fileID: 1542433023} + - component: {fileID: 1542433022} + - component: {fileID: 1542433021} + m_Layer: 0 + m_Name: Cube (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &1542433020 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542433019} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -13, y: 0, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1671777019} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1542433021 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542433019} + 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: 2, z: 5} + m_Center: {x: 0.5, y: 1, z: 2.5} +--- !u!33 &1542433022 +MeshFilter: + m_ObjectHideFlags: 10 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542433019} + m_Mesh: {fileID: 1815259022} +--- !u!23 &1542433023 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542433019} + 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: 9f7f67c56cef0634fbc4650989b1a41b, 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: 2 + 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!114 &1542433024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542433019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1ca002da428252441b92f28d83c8a65f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Shape: + rid: 749939982846918665 + m_Size: {x: 1, y: 2, z: 5} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_PivotLocation: 1 + m_PivotPosition: {x: 0, y: 0, z: 0} + m_UnmodifiedMeshVersion: 1252 + m_ShapeBox: + m_Center: {x: 0.5, y: 1, z: 2.5} + m_Extent: {x: 0.5, y: 1, z: 2.5} + references: + version: 2 + RefIds: + - rid: 749939982846918665 + type: {class: Cube, ns: UnityEngine.ProBuilder.Shapes, asm: Unity.ProBuilder} + data: +--- !u!114 &1542433025 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542433019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8233d90336aea43098adf6dbabd606a2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MeshFormatVersion: 2 + m_Faces: + - m_Indexes: 000000000100000002000000010000000300000002000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 040000000500000006000000050000000700000006000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 08000000090000000a000000090000000b0000000a000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 0c0000000d0000000e0000000d0000000f0000000e000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 100000001100000012000000110000001300000012000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 140000001500000016000000150000001700000016000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + m_SharedVertices: + - m_Vertices: 000000000d00000016000000 + - m_Vertices: 010000000400000017000000 + - m_Vertices: 020000000f00000010000000 + - m_Vertices: 030000000600000011000000 + - m_Vertices: 050000000800000015000000 + - m_Vertices: 070000000a00000013000000 + - m_Vertices: 090000000c00000014000000 + - m_Vertices: 0b0000000e00000012000000 + m_SharedTextures: [] + m_Positions: + - {x: 0, y: 0, z: 5} + - {x: 1, y: 0, z: 5} + - {x: 0, y: 2, z: 5} + - {x: 1, y: 2, z: 5} + - {x: 1, y: 0, z: 5} + - {x: 1, y: 0, z: 0} + - {x: 1, y: 2, z: 5} + - {x: 1, y: 2, z: 0} + - {x: 1, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 1, y: 2, z: 0} + - {x: 0, y: 2, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 5} + - {x: 0, y: 2, z: 0} + - {x: 0, y: 2, z: 5} + - {x: 0, y: 2, z: 5} + - {x: 1, y: 2, z: 5} + - {x: 0, y: 2, z: 0} + - {x: 1, y: 2, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 1, y: 0, z: 0} + - {x: 0, y: 0, z: 5} + - {x: 1, y: 0, z: 5} + m_Textures0: + - {x: 0, y: 0} + - {x: -1, y: 0} + - {x: 0, y: 2} + - {x: -1, y: 2} + - {x: 5, y: 0} + - {x: 0, y: 0} + - {x: 5, y: 2} + - {x: 0, y: 2} + - {x: 1, y: 0} + - {x: 0, y: 0} + - {x: 1, y: 2} + - {x: 0, y: 2} + - {x: 0, y: 0} + - {x: -5, y: 0} + - {x: 0, y: 2} + - {x: -5, y: 2} + - {x: 0, y: 5} + - {x: 1, y: 5} + - {x: 0, y: 0} + - {x: 1, y: 0} + - {x: 0, y: 0} + - {x: -1, y: 0} + - {x: 0, y: 5} + - {x: -1, y: 5} + m_Textures2: [] + m_Textures3: [] + m_Tangents: + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + m_Colors: [] + m_UnwrapParameters: + m_HardAngle: 88 + m_PackMargin: 20 + m_AngleError: 8 + m_AreaError: 15 + m_PreserveMeshAssetOnDestroy: 0 + assetGuid: + m_Mesh: {fileID: 1815259022} + m_VersionIndex: 1252 + m_IsSelectable: 1 + m_SelectedFaces: + m_SelectedEdges: [] + m_SelectedVertices: --- !u!1001 &1544432111 PrefabInstance: m_ObjectHideFlags: 0 @@ -226441,26 +227345,6 @@ MeshFilter: type: 3} m_PrefabInstance: {fileID: 1545704832} m_PrefabAsset: {fileID: 0} ---- !u!114 &1546075570 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 49490255aaf1a2641a4c5771511bd253, type: 3} - m_Name: - m_EditorClassIdentifier: - _halfSpace: 1 - _alignAxis: 0 - _alignmentAxis: 1 - _invertAlignmentAxis: 0 - _projectAsUnit: 0 - _embedInSurface: 1 - _inFrontOffset: 0 - _behindOffset: 0 --- !u!1001 &1547357710 PrefabInstance: m_ObjectHideFlags: 0 @@ -235073,8 +235957,11 @@ Transform: - {fileID: 1741416818} - {fileID: 1746696251} - {fileID: 1088581386} + - {fileID: 1978017144} - {fileID: 567279688} + - {fileID: 1542433020} - {fileID: 1854426442} + - {fileID: 1477978814} - {fileID: 1849087175} - {fileID: 1731688301} - {fileID: 1092517165} @@ -247021,6 +247908,171 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1014be0dd0033744aaaac7f3823d57f1, type: 3} +--- !u!43 &1815259022 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh73566(Clone) + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 36 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 24 + localAABB: + m_Center: {x: 0.5, y: 1, z: 2.5} + m_Extent: {x: 0.5, y: 1, z: 2.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200010003000200040005000600050007000600080009000a0009000b000a000c000d000e000d000f000e00100011001200110013001200140015001600150017001600 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 24 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 48 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1344 + _typelessdata: 00000000000000000000a04000000000000000000000803f000080bf0000000000000000000080bf000000000000000078fc7b3f0bd7a33c0000803f000000000000a04000000000000000000000803f000080bf0000000000000000000080bf000080bf0000000078fc7b3fdd9e1e3e00000000000000400000a04000000000000000000000803f000080bf0000000000000000000080bf000000000000004076ea363f0bd7a33c0000803f000000400000a04000000000000000000000803f000080bf0000000000000000000080bf000080bf0000004077ea363fdd9e1e3e0000803f000000000000a0400000803f000000000000000000000000000000000000803f000080bf0000a0400000000031d8a33cc619333e0000803f00000000000000000000803f000000000000000000000000000000000000803f000080bf0000000000000000bdcb313fc619333e0000803f000000400000a0400000803f000000000000000000000000000000000000803f000080bf0000a040000000400bd7a33ce6b0e33e0000803f00000040000000000000803f000000000000000000000000000000000000803f000080bf0000000000000040b4cb313fe6b0e33e0000803f00000000000000000000000000000000000080bf0000803f0000000000000000000080bf0000803f0000000076ea363fe19e9e3e0000000000000000000000000000000000000000000080bf0000803f0000000000000000000080bf000000000000000075ea363fc619333e0000803f00000040000000000000000000000000000080bf0000803f0000000000000000000080bf0000803f0000004078fc7b3fe19e9e3e0000000000000040000000000000000000000000000080bf0000803f0000000000000000000080bf000000000000004077fc7b3fc619333e000000000000000000000000000080bf00000000000000000000000000000000000080bf000080bf000000000000000031d8a33c57eeed3e00000000000000000000a040000080bf00000000000000000000000000000000000080bf000080bf0000a0c000000000bdcb313f57eeed3e000000000000004000000000000080bf00000000000000000000000000000000000080bf000080bf00000000000000400bd7a33c2d093c3f00000000000000400000a040000080bf00000000000000000000000000000000000080bf000080bf0000a0c000000040b4cb313f2d093c3f00000000000000400000a040000000000000803f000000000000803f0000000000000000000080bf000000000000a040bdcb313f0bd7a33c0000803f000000400000a040000000000000803f000000000000803f0000000000000000000080bf0000803f0000a040bdcb313fde9e1e3e000000000000004000000000000000000000803f000000000000803f0000000000000000000080bf00000000000000000bd7a33c3fd7a33c0000803f0000004000000000000000000000803f000000000000803f0000000000000000000080bf0000803f0000000022d7a33ce49e1e3e00000000000000000000000000000000000080bf00000000000080bf0000000000000000000080bf0000000000000000bdcb313fe727413f0000803f000000000000000000000000000080bf00000000000080bf0000000000000000000080bf000080bf00000000bdcb313fe6b0633f00000000000000000000a04000000000000080bf00000000000080bf0000000000000000000080bf000000000000a0400bd7a33ce627413f0000803f000000000000a04000000000000080bf00000000000080bf0000000000000000000080bf000080bf0000a0400cd7a33ce5b0633f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0.5, y: 1, z: 2.5} + m_Extent: {x: 0.5, y: 1, z: 2.5} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 54.948666 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: --- !u!1 &1818706420 stripped GameObject: m_CorrespondingSourceObject: {fileID: 548659132045954967, guid: 22c543a201d947146a7c654abeb26d98, @@ -248261,21 +249313,6 @@ LODGroup: type: 3} m_PrefabInstance: {fileID: 1835120856} m_PrefabAsset: {fileID: 0} ---- !u!114 &1836032133 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 38a40404d9721ed4f984030fbce11d53, type: 3} - m_Name: - m_EditorClassIdentifier: - _snapMode: 0 - _snapHalfSpace: 0 - _projectionSettings: {fileID: 0} --- !u!1001 &1837504008 PrefabInstance: m_ObjectHideFlags: 0 @@ -249136,6 +250173,21 @@ MeshFilter: type: 3} m_PrefabInstance: {fileID: 1852304368} m_PrefabAsset: {fileID: 0} +--- !u!114 &1852575586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 38a40404d9721ed4f984030fbce11d53, type: 3} + m_Name: + m_EditorClassIdentifier: + _snapMode: 0 + _snapHalfSpace: 0 + _projectionSettings: {fileID: 0} --- !u!1 &1854426436 GameObject: m_ObjectHideFlags: 0 @@ -252218,7 +253270,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c8725edae6a1fd4408036dedaf0199f0, type: 3} m_Name: m_EditorClassIdentifier: - _projectionSettings: {fileID: 1546075570} + _projectionSettings: {fileID: 1253903281} _dragAndDropGuide: {fileID: 0} --- !u!1001 &1892447030 PrefabInstance: @@ -253287,6 +254339,171 @@ MeshFilter: type: 3} m_PrefabInstance: {fileID: 1900586775} m_PrefabAsset: {fileID: 0} +--- !u!43 &1902181158 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh78522(Clone) + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 36 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 24 + localAABB: + m_Center: {x: 2, y: 1.5, z: 3} + m_Extent: {x: 2, y: 1.5, z: 3} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200010003000200040005000600050007000600080009000a0009000b000a000c000d000e000d000f000e00100011001200110013001200140015001600150017001600 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 24 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 48 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1344 + _typelessdata: 00000000000000000000c04000000000000000000000803f000080bf0000000000000000000080bf0000000000000000f569023f68a78c3e00008040000000000000c04000000000000000000000803f000080bf0000000000000000000080bf000080c000000000a387523f68a78c3e00000000000040400000c04000000000000000000000803f000080bf0000000000000000000080bf0000000000004040f569023ff669023f00008040000040400000c04000000000000000000000803f000080bf0000000000000000000080bf000080c000004040a287523ff669023f00008040000000000000c0400000803f000000000000000000000000000000000000803f000080bf0000c04000000000d0d7a33c0bd7a33c0000804000000000000000000000803f000000000000000000000000000000000000803f000080bf00000000000000007e96fa3e0bd7a33c00008040000040400000c0400000803f000000000000000000000000000000000000803f000080bf0000c040000040400bd7a33cf769823e0000804000004040000000000000803f000000000000000000000000000000000000803f000080bf00000000000040407296fa3ef769823e0000804000000000000000000000000000000000000080bf0000803f0000000000000000000080bf0000804000000000f569023fae88073f0000000000000000000000000000000000000000000080bf0000803f0000000000000000000080bf0000000000000000a387523fae88073f0000804000004040000000000000000000000000000080bf0000803f0000000000000000000080bf0000804000004040f569023ff09e433f0000000000004040000000000000000000000000000080bf0000803f0000000000000000000080bf0000000000004040a287523ff09e433f000000000000000000000000000080bf00000000000000000000000000000000000080bf000080bf0000000000000000fe69023f0bd7a33c00000000000000000000c040000080bf00000000000000000000000000000000000080bf000080bf0000c0c0000000007e967a3f0bd7a33c000000000000404000000000000080bf00000000000000000000000000000000000080bf000080bf0000000000004040f869023ff769823e00000000000040400000c040000080bf00000000000000000000000000000000000080bf000080bf0000c0c00000404078967a3ff769823e00000000000040400000c040000000000000803f000000000000803f0000000000000000000080bf000000000000c0407696fa3e1c901b3f00008040000040400000c040000000000000803f000000000000803f0000000000000000000080bf000080400000c0407796fa3ecaad6b3f000000000000404000000000000000000000803f000000000000803f0000000000000000000080bf00000000000000000bd7a33c1b901b3f000080400000404000000000000000000000803f000000000000803f0000000000000000000080bf000080400000000017d7a33cc8ad6b3f00000000000000000000000000000000000080bf00000000000080bf0000000000000000000080bf00000000000000007696fa3e68a78c3e00008040000000000000000000000000000080bf00000000000080bf0000000000000000000080bf000080c0000000007996fa3e6271163f00000000000000000000c04000000000000080bf00000000000080bf0000000000000000000080bf000000000000c0400bd7a33c69a78c3e00008040000000000000c04000000000000080bf00000000000080bf0000000000000000000080bf000080c00000c04042d7a33c6271163f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 2, y: 1.5, z: 3} + m_Extent: {x: 2, y: 1.5, z: 3} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 163.36623 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: --- !u!1 &1903159113 stripped GameObject: m_CorrespondingSourceObject: {fileID: 4323917267885127344, guid: 22c543a201d947146a7c654abeb26d98, @@ -258715,6 +259932,358 @@ MeshFilter: type: 3} m_PrefabInstance: {fileID: 1977305586} m_PrefabAsset: {fileID: 0} +--- !u!1 &1978017143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1978017144} + - component: {fileID: 1978017149} + - component: {fileID: 1978017148} + - component: {fileID: 1978017147} + - component: {fileID: 1978017146} + - component: {fileID: 1978017145} + m_Layer: 0 + m_Name: Cube (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &1978017144 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978017143} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -17, y: 0, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1671777019} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1978017145 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978017143} + 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: 4, y: 3, z: 6} + m_Center: {x: 2, y: 1.5, z: 3} +--- !u!33 &1978017146 +MeshFilter: + m_ObjectHideFlags: 10 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978017143} + m_Mesh: {fileID: 1902181158} +--- !u!23 &1978017147 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978017143} + 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: dbf2d2587ed57dc499d9196dab40ff06, 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: 2 + 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!114 &1978017148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978017143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1ca002da428252441b92f28d83c8a65f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Shape: + rid: 749939982846918664 + m_Size: {x: 4, y: 3, z: 6} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_PivotLocation: 1 + m_PivotPosition: {x: 0, y: 0, z: 0} + m_UnmodifiedMeshVersion: 1832 + m_ShapeBox: + m_Center: {x: 2, y: 1.5, z: 3} + m_Extent: {x: 2, y: 1.5, z: 3} + references: + version: 2 + RefIds: + - rid: 749939982846918664 + type: {class: Cube, ns: UnityEngine.ProBuilder.Shapes, asm: Unity.ProBuilder} + data: +--- !u!114 &1978017149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978017143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8233d90336aea43098adf6dbabd606a2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MeshFormatVersion: 2 + m_Faces: + - m_Indexes: 000000000100000002000000010000000300000002000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 040000000500000006000000050000000700000006000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 08000000090000000a000000090000000b0000000a000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 0c0000000d0000000e0000000d0000000f0000000e000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 100000001100000012000000110000001300000012000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + - m_Indexes: 140000001500000016000000150000001700000016000000 + m_SmoothingGroup: 0 + m_Uv: + m_UseWorldSpace: 0 + m_FlipU: 0 + m_FlipV: 0 + m_SwapUV: 0 + m_Fill: 1 + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Rotation: 0 + m_Anchor: 9 + m_Material: {fileID: 0} + m_SubmeshIndex: 0 + m_ManualUV: 0 + elementGroup: -1 + m_TextureGroup: -1 + m_SharedVertices: + - m_Vertices: 000000000d00000016000000 + - m_Vertices: 010000000400000017000000 + - m_Vertices: 020000000f00000010000000 + - m_Vertices: 030000000600000011000000 + - m_Vertices: 050000000800000015000000 + - m_Vertices: 070000000a00000013000000 + - m_Vertices: 090000000c00000014000000 + - m_Vertices: 0b0000000e00000012000000 + m_SharedTextures: [] + m_Positions: + - {x: 0, y: 0, z: 6} + - {x: 4, y: 0, z: 6} + - {x: 0, y: 3, z: 6} + - {x: 4, y: 3, z: 6} + - {x: 4, y: 0, z: 6} + - {x: 4, y: 0, z: 0} + - {x: 4, y: 3, z: 6} + - {x: 4, y: 3, z: 0} + - {x: 4, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 4, y: 3, z: 0} + - {x: 0, y: 3, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 6} + - {x: 0, y: 3, z: 0} + - {x: 0, y: 3, z: 6} + - {x: 0, y: 3, z: 6} + - {x: 4, y: 3, z: 6} + - {x: 0, y: 3, z: 0} + - {x: 4, y: 3, z: 0} + - {x: 0, y: 0, z: 0} + - {x: 4, y: 0, z: 0} + - {x: 0, y: 0, z: 6} + - {x: 4, y: 0, z: 6} + m_Textures0: + - {x: 0, y: 0} + - {x: -4, y: 0} + - {x: 0, y: 3} + - {x: -4, y: 3} + - {x: 6, y: 0} + - {x: 0, y: 0} + - {x: 6, y: 3} + - {x: 0, y: 3} + - {x: 4, y: 0} + - {x: 0, y: 0} + - {x: 4, y: 3} + - {x: 0, y: 3} + - {x: 0, y: 0} + - {x: -6, y: 0} + - {x: 0, y: 3} + - {x: -6, y: 3} + - {x: 0, y: 6} + - {x: 4, y: 6} + - {x: 0, y: 0} + - {x: 4, y: 0} + - {x: 0, y: 0} + - {x: -4, y: 0} + - {x: 0, y: 6} + - {x: -4, y: 6} + m_Textures2: [] + m_Textures3: [] + m_Tangents: + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 0, y: 0, z: 1, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 0, y: 0, z: -1, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: 1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + - {x: -1, y: 0, z: 0, w: -1} + m_Colors: [] + m_UnwrapParameters: + m_HardAngle: 88 + m_PackMargin: 20 + m_AngleError: 8 + m_AreaError: 15 + m_PreserveMeshAssetOnDestroy: 0 + assetGuid: + m_Mesh: {fileID: 1902181158} + m_VersionIndex: 1844 + m_IsSelectable: 1 + m_SelectedFaces: + m_SelectedEdges: [] + m_SelectedVertices: --- !u!1001 &1978078915 PrefabInstance: m_ObjectHideFlags: 0 @@ -263935,21 +265504,6 @@ LODGroup: type: 3} m_PrefabInstance: {fileID: 2027869693} m_PrefabAsset: {fileID: 0} ---- !u!114 &2032963013 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 38a40404d9721ed4f984030fbce11d53, type: 3} - m_Name: - m_EditorClassIdentifier: - _snapMode: 0 - _snapHalfSpace: 0 - _projectionSettings: {fileID: 0} --- !u!1001 &2034077796 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Artists/Scenes/Game/Prototype/NavMesh-PathFinder.asset b/Assets/Artists/Scenes/Game/Prototype/NavMesh-PathFinder.asset index 31498a52cfbc61b6f556149533263b0b188c54db..c3e91644e8a855d354e1a419344d3930ffac2697 100644 GIT binary patch delta 12364 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 delta 11178 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 YU)fhtSH5*e#?_~;-P%y~$K5Ia2Vgx7i2wiq diff --git a/Assets/Artists/Scripts/AI/BITFALL.AI.Runtime.asmdef b/Assets/Artists/Scripts/AI/BITFALL.AI.Runtime.asmdef index d7007efff..85784a933 100644 --- a/Assets/Artists/Scripts/AI/BITFALL.AI.Runtime.asmdef +++ b/Assets/Artists/Scripts/AI/BITFALL.AI.Runtime.asmdef @@ -11,7 +11,8 @@ "GUID:1235ca61e7f433b408ed5a68767e7123", "GUID:508392158bd966c4d9c21e19661a441d", "GUID:f51ebe6a0ceec4240a699833d6309b23", - "GUID:2dbcdde5f5df6a343a36c62f12bd6fae" + "GUID:2dbcdde5f5df6a343a36c62f12bd6fae", + "GUID:705b66b7892e7524f912fd152f5d5251" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Artists/Scripts/Entities/AI/AIRuntimeStates.cs b/Assets/Artists/Scripts/Entities/AI/AIRuntimeStates.cs new file mode 100644 index 000000000..df7c023f0 --- /dev/null +++ b/Assets/Artists/Scripts/Entities/AI/AIRuntimeStates.cs @@ -0,0 +1,194 @@ +using System; +using System.Collections; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Data.Odbc; +using System.Linq; +using BITKit; +using BITKit.AI.States; +using BITKit.Entities; +using BITKit.StateMachine; +using UnityEngine; +using UnityEngine.AI; + +namespace BITFALL.AI.States +{ + public abstract class AIRuntimeState : AIState + { + [Inject,HideInInspector] public AIService Service; + private readonly ConcurrentDictionary _friends = new(); + private readonly ConcurrentDictionary _enemies = new(); + protected readonly CacheList detectedEnemies = new(); + public bool IsFriend(IEntity target) => _friends.GetOrAdd(target.Id, IsFriendInternal); + public bool IsEnemy(IEntity target) => _enemies.GetOrAdd(target.Id, IsEnemyInternal); + public override void OnStateUpdate(float deltaTime) + { + base.OnStateUpdate(deltaTime); + detectedEnemies.Clear(); + foreach (var x in Service.RangeSensor.Get()) + { + if (x.TryGetComponent(out var entity) is false) continue; + if (IsEnemy(entity) is false)continue; + detectedEnemies.Add(entity); + } + } + + private bool IsEnemyInternal(ulong id) + { + var target = UnityEntitiesService.Get(id); + var tags = target.As().GetComponent().GetTags(); + foreach (var x in Service.EnemyTag.GetTags()) + { + if (tags.Contains(x)) return true; + } + + return false; + } + + private bool IsFriendInternal(ulong id) + { + var target = UnityEntitiesService.Get(id); + var tags = target.As().GetComponent().GetTags(); + foreach (var x in Service.FriendTag.GetTags()) + { + if (tags.Contains(x)) return true; + } + + return false; + } + } + + [Serializable] + [CustomType(typeof(AI_Idle))] + public sealed class Idle : AIRuntimeState, AI_Idle + { + public override void OnStateEntry(IState old) + { + base.OnStateEntry(old); + Service.Agent.isStopped = true; + } + + public override void OnStateUpdate(float deltaTime) + { + base.OnStateUpdate(deltaTime); + //foreach (var x in Service.AudioSensor.Get().Union(Service.RangeSensor.Get())) + foreach (var entity in detectedEnemies) + { + Service.CombatTarget = entity; + Service.TransitionState(); + } + } + } + [Serializable] + [CustomType(typeof(AI_Idle))] + public sealed class Alert : AIRuntimeState, AI_Alert + { + public int AlertLevel { get; set; } + public float RemainingAlertTime { get; set; } + [SerializeField] private int initialAlertTime; + [SerializeField] private int immediatelyDetectDistance = 5; + [SerializeField,ReadOnly]private float detectedWeight; + public override void OnStateEntry(IState old) + { + base.OnStateEntry(old); + RemainingAlertTime = initialAlertTime; + detectedWeight = old switch + { + AI_Combat=>0.5f, + _ => 0 + }; + } + public override void OnStateUpdate(float deltaTime) + { + base.OnStateUpdate(deltaTime); + + if (detectedEnemies.Count is 0) + { + detectedWeight -= deltaTime; + } + else + { + foreach (var entity in detectedEnemies) + { + var distance= Vector3.Distance(Service.transform.position, entity.As().transform.position); + if(distance<=immediatelyDetectDistance) + { + Service.CombatTarget = entity; + Service.TransitionState(); + return; + } + detectedWeight += deltaTime; + if (detectedWeight >= 1) + { + Service.CombatTarget = entity; + Service.TransitionState(); + return; + } + } + } + + RemainingAlertTime -= deltaTime; + + if(RemainingAlertTime<=0) + { + Service.TransitionState(); + return; + } + } + } + [Serializable] + [CustomType(typeof(AI_Idle))] + public sealed class Combat : AIRuntimeState, AI_Combat + { + public AITarget CurrentTarget => _currentTarget; + private AITarget _currentTarget; + [SerializeField] private float lostTargetTime; + private readonly IntervalUpdate reTargetInterval = new(2); + [SerializeField,ReadOnly]private float currentLostTargetTime; + public override void OnStateEntry(IState old) + { + base.OnStateEntry(old); + currentLostTargetTime = lostTargetTime; + reTargetInterval.Reset(); + Service.CombatTarget.TryGetComponent(out _currentTarget); + Service.Agent.isStopped = false; + } + + public override void OnStateExit(IState old, IState newState) + { + base.OnStateExit(old, newState); + Service.RangeSensor.transform.localRotation = Quaternion.identity; + } + + public override void OnStateUpdate(float deltaTime) + { + base.OnStateUpdate(deltaTime); + Service.RangeSensor.transform.rotation = Service.transform.rotation; + if (reTargetInterval.AllowUpdate) + { + Service.CombatTarget = null; + } + if (Service.CombatTarget is not null) + { + var position = Service.CombatTarget.As().transform.position; + if (NavMesh.SamplePosition(position, out var hit, 1, NavMesh.AllAreas)) + { + Service.Agent.SetDestination(hit.position); + } + } + foreach (var entity in detectedEnemies) + { + currentLostTargetTime = lostTargetTime; + Service.CombatTarget = entity; + Service.CombatTarget.TryGetComponent(out _currentTarget); + return; + } + currentLostTargetTime-=deltaTime; + if(currentLostTargetTime<=0) + { + Service.TransitionState(); + } + } + } +} + diff --git a/Assets/Artists/Scripts/Entities/AI/AIService.cs b/Assets/Artists/Scripts/Entities/AI/AIService.cs new file mode 100644 index 000000000..00089d747 --- /dev/null +++ b/Assets/Artists/Scripts/Entities/AI/AIService.cs @@ -0,0 +1,52 @@ +using System.Collections; +using System.Collections.Generic; +using BITFALL.AI.States; +using BITKit; +using BITKit.AI.States; +using BITKit.Entities; +using BITKit.Sensors; +using UnityEngine; +using UnityEngine.AI; +using UnityEngine.PlayerLoop; + +namespace BITFALL.AI +{ + /// + /// AI服务 + /// + [CustomType(typeof(AIService))] + public class AIService : StateBasedBehavior + { + [SerializeReference,SubclassSelector] private ITicker ticker; + [SerializeField] private NavMeshAgent agent; + [SerializeField] private RangeSensor rangeSensor; + [SerializeField] private AudioSensor audioSensor; + [SerializeField] private Tag selfTag; + [SerializeField] private Tag friendTag; + [SerializeField] private Tag enemyTag; + + public IEntity CombatTarget { get; set; } + + public RangeSensor RangeSensor => rangeSensor; + public AudioSensor AudioSensor => audioSensor; + public NavMeshAgent Agent => agent; + public ITag SelfTag => selfTag; + public ITag FriendTag => friendTag; + public ITag EnemyTag => enemyTag; + public override void OnStart() + { + base.OnStart(); + ticker.Add(OnTick); + TransitionState(); + } + private void OnTick(float obj) + { + UpdateState(obj); + } + public override void OnDestroyComponent() + { + base.OnDestroyComponent(); + ticker.Remove(OnTick); + } + } +} diff --git a/Assets/Artists/Scripts/Entities/AI/BITFALL.Entities.AI.Runtime.asmdef b/Assets/Artists/Scripts/Entities/AI/BITFALL.Entities.AI.Runtime.asmdef new file mode 100644 index 000000000..d3576dab8 --- /dev/null +++ b/Assets/Artists/Scripts/Entities/AI/BITFALL.Entities.AI.Runtime.asmdef @@ -0,0 +1,23 @@ +{ + "name": "BITFALL.Entities.AI.Runtime", + "rootNamespace": "", + "references": [ + "GUID:14fe60d984bf9f84eac55c6ea033a8f4", + "GUID:709caf8d7fb6ef24bbba0ab9962a3ad0", + "GUID:7efac18f239530141802fb139776f333", + "GUID:d525ad6bd40672747bde77962f1c401e", + "GUID:49b49c76ee64f6b41bf28ef951cb0e50", + "GUID:705b66b7892e7524f912fd152f5d5251", + "GUID:8c4dd21966739024fbd72155091d199e", + "GUID:508392158bd966c4d9c21e19661a441d" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Artists/Scripts/Entities/Core/Character/EntityProxyCharacter.cs b/Assets/Artists/Scripts/Entities/Core/Character/EntityProxyCharacter.cs index 0790da75e..1d7835ab8 100644 --- a/Assets/Artists/Scripts/Entities/Core/Character/EntityProxyCharacter.cs +++ b/Assets/Artists/Scripts/Entities/Core/Character/EntityProxyCharacter.cs @@ -6,9 +6,8 @@ using UnityEngine; using BITKit; using BITKit.Animations; using BITKit.Entities; -using BITKit.Physics; -namespace BITFALL.Entites +namespace BITFALL.Entities { public class EntityProxyCharacter : EntityBehavior { diff --git a/Assets/BITFALL/AI/AIMisc.cs b/Assets/BITFALL/AI/AIMisc.cs new file mode 100644 index 000000000..d4863c9f8 --- /dev/null +++ b/Assets/BITFALL/AI/AIMisc.cs @@ -0,0 +1,6 @@ + +namespace BITFALL.AI +{ + public interface AIActionReason{} + +} diff --git a/Assets/BITFALL/AI/AIStates.cs b/Assets/BITFALL/AI/AIStates.cs new file mode 100644 index 000000000..f5dd95224 --- /dev/null +++ b/Assets/BITFALL/AI/AIStates.cs @@ -0,0 +1,134 @@ + +// ReSharper disable IdentifierTypo + +using System; +using BITFALL.AI; +using BITKit.StateMachine; +using Unity.Mathematics; + +namespace BITKit.AI.States +{ + //基础定义 + public interface AI_Base:IState + { + /// + /// 为什么进入这个状态 + /// + AIActionReason Reason { get; } + } + [Serializable] + public abstract class AIState:AI_Base + { + public bool Enabled { get; set; } + public AIActionReason Reason { get; set; } + public virtual void Initialize() + { + } + public virtual void OnStateEntry(IState old) + { + } + public virtual void OnStateUpdate(float deltaTime) + { + } + public virtual void OnStateExit(IState old, IState newState) + { + } + } + /// + /// 静止,无任何行为 + /// + public interface AI_Idle:AI_Base{} + /// + /// 巡逻,通常是哨兵AI才会有的状态 + /// + public interface AI_Patrol:AI_Base + { + /// + /// 巡逻点 + /// + float3[] PatrolPoints { get; } + } + /// + /// AI追踪,通常为丢失目标一定时间后 + /// + public interface AI_Track:AI_Base + { + /// + /// 当前目标 + /// + AITarget CurrentTarget { get; } + } + /// + /// AI警戒,此时还未发现敌人 + /// + public interface AI_Alert:AI_Base + { + /// + /// 当前警戒级别,如果最高则进入战斗状态 + /// + int AlertLevel { get; } + /// + /// 剩余警戒时间 + /// + float RemainingAlertTime { get; } + } + /// + /// 战斗状态,明确的敌人 + /// + public interface AI_Combat:AI_Base + { + /// + /// 当前目标 + /// + AITarget CurrentTarget { get; } + } + /// + /// 逃跑,通常是人类AI或者特殊感染者才有的状态 + /// + public interface AI_Flee:AI_Base + { + float3 NextPoint { get; } + } + /// + /// 通常只有感染者AI才会有的状态 + /// + public interface AI_Wander:AI_Base + { + /// + /// 下一个漫步的位置 + /// + float3 NextPoint { get; } + } + /// + /// 死亡,回收进AI池 + /// + public interface AI_Death:AI_Base + { + + } + /// + /// 濒死状态,如果一定时间内没有救助,则进入死亡状态 + /// + public interface AI_Dying:AI_Base + { + int RemainingHealthPoint { get; } + } + /// + /// 探索,通常是人类AI才会有的状态 + /// + public interface AI_Explore:AI_Base + { + } + /// + /// 行为,这是个口袋状态,任何特殊状态都可以放在这里 + /// + public interface AI_Action:AI_Base + { + } + /// + /// 休息状态,通常是人类AI在睡眠或者在逃跑成功后会有的状态 + /// + public interface AI_Rest:AI_Base + { + } +} diff --git a/Assets/BITFALL/AI/AITarget.cs b/Assets/BITFALL/AI/AITarget.cs new file mode 100644 index 000000000..e9de46b98 --- /dev/null +++ b/Assets/BITFALL/AI/AITarget.cs @@ -0,0 +1,11 @@ + +using Unity.Mathematics; + +namespace BITFALL.AI +{ + public interface AITarget + { + float3 Position { get; } + quaternion Rotation { get; } + } +} diff --git a/Assets/BITFALL/AI/BITFALL.AI.asmdef b/Assets/BITFALL/AI/BITFALL.AI.asmdef new file mode 100644 index 000000000..78163686e --- /dev/null +++ b/Assets/BITFALL/AI/BITFALL.AI.asmdef @@ -0,0 +1,18 @@ +{ + "name": "BITFALL.AI", + "rootNamespace": "", + "references": [ + "GUID:14fe60d984bf9f84eac55c6ea033a8f4", + "GUID:d8b63aba1907145bea998dd612889d6b", + "GUID:f51ebe6a0ceec4240a699833d6309b23" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": true +} \ No newline at end of file diff --git a/Assets/BITKit/Core/Tag/ITag.cs b/Assets/BITKit/Core/Tag/ITag.cs index 05c43a61f..9aca77bc5 100644 --- a/Assets/BITKit/Core/Tag/ITag.cs +++ b/Assets/BITKit/Core/Tag/ITag.cs @@ -2,6 +2,7 @@ namespace BITKit { public interface ITag { + int Hash { get; } string[] GetTags(); } } \ No newline at end of file diff --git a/Assets/BITKit/Unity/Scripts/Physics/PhysicsBasedAnimation.cs b/Assets/BITKit/Unity/Scripts/Physics/PhysicsBasedAnimation.cs index 43edc1226..7bf136db2 100644 --- a/Assets/BITKit/Unity/Scripts/Physics/PhysicsBasedAnimation.cs +++ b/Assets/BITKit/Unity/Scripts/Physics/PhysicsBasedAnimation.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using BITKit.Core.Tuple; using UnityEngine; -namespace BITKit.Physics +namespace BITKit { [Serializable] public class JointConfigure diff --git a/Assets/BITKit/Unity/Scripts/Physics/Prop_Physics.cs b/Assets/BITKit/Unity/Scripts/Physics/Prop_Physics.cs index 073526fa7..49e42699c 100644 --- a/Assets/BITKit/Unity/Scripts/Physics/Prop_Physics.cs +++ b/Assets/BITKit/Unity/Scripts/Physics/Prop_Physics.cs @@ -1,10 +1,9 @@ using System.Collections; using System.Collections.Generic; using BITKit.Events; -using UnityEditor; using UnityEngine; -namespace BITKit.Physics +namespace BITKit { public class Prop_Physics : MonoBehaviour { diff --git a/Assets/BITKit/Unity/Scripts/Sensor/AudioSensor.cs b/Assets/BITKit/Unity/Scripts/Sensor/AudioSensor.cs index 6283d89a5..5200a24f2 100644 --- a/Assets/BITKit/Unity/Scripts/Sensor/AudioSensor.cs +++ b/Assets/BITKit/Unity/Scripts/Sensor/AudioSensor.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using Cysharp.Threading.Tasks; @@ -15,9 +16,18 @@ namespace BITKit.Sensors public class AudioSensor : MonoBehaviour,ISensor { [Header(Constant.Header.Settings)] + [SerializeField] private bool autoUpdate; [SerializeField]private float radius; - [SerializeField] private Optional ignoreTags; private readonly CacheList cache = new(); + private void OnEnable() + { + Id = GetInstanceID(); + SensorQueue.Register(Id,this); + } + private void OnDisable() + { + SensorQueue.UnRegister(Id); + } public UniTask Execute(float delta) { var position = transform.position; @@ -26,7 +36,6 @@ namespace BITKit.Sensors { var distance = Vector3.Distance(position, x.Position); if(distance>radius) continue; - if(ignoreTags.Allow && x.Tag is { } tag1 && tag1.GetTags().Any(ignoreTags.Value.Contains)) continue; cache.Add(x.Transform); } return UniTask.CompletedTask; @@ -35,5 +44,6 @@ namespace BITKit.Sensors public IEnumerable Get() => cache.ValueArray; public bool IsValid(Collider _collider) => false; public float GetDistance() => radius; + public bool AutoUpdate=>autoUpdate; } } \ No newline at end of file diff --git a/Assets/BITKit/Unity/Scripts/Sensor/RangeSensor.cs b/Assets/BITKit/Unity/Scripts/Sensor/RangeSensor.cs index cbd53e64a..54262d4f3 100644 --- a/Assets/BITKit/Unity/Scripts/Sensor/RangeSensor.cs +++ b/Assets/BITKit/Unity/Scripts/Sensor/RangeSensor.cs @@ -7,6 +7,7 @@ using Cysharp.Threading.Tasks; using UnityEngine.Jobs; using UnityEngine.Pool; using UnityEngine.Profiling; +using Physics=UnityEngine.Physics; namespace BITKit.Sensors { @@ -35,12 +36,12 @@ namespace BITKit.Sensors } private readonly DoubleBuffer> _detectedDoubleBuffer = new(); - private IEnumerable _detectedBuffer; + private IEnumerable _detectedBuffer=Array.Empty(); public override UniTask Execute(float delta) { tempHashSet.Clear(); - var length = UnityEngine.Physics.OverlapSphereNonAlloc(Transform.position, radius, colliders, detectLayer); + var length = Physics.OverlapSphereNonAlloc(Transform.position, radius, colliders, detectLayer); Profiler.BeginSample("Filter Detected Colliders"); var _newDetected = from x in colliders.Take(length) where IsValid(x) select x.transform; Profiler.EndSample(); @@ -93,13 +94,7 @@ namespace BITKit.Sensors Debug.DrawLine(location, position, Color.green, 1); return true; case 1: - if (hits[0].collider == _collider) - { - Debug.DrawLine(location, hits[0].point, Color.blue, 1); - return true; - } - - break; + return hits[0].collider == _collider; default: var collider1 = _collider; if (hits.Take(length).Any(Predicate)) diff --git a/Assets/BITKit/Unity/Scripts/Sensor/Smart/SmartTargetSensor.cs b/Assets/BITKit/Unity/Scripts/Sensor/Smart/SmartTargetSensor.cs index 140161a1d..887466202 100644 --- a/Assets/BITKit/Unity/Scripts/Sensor/Smart/SmartTargetSensor.cs +++ b/Assets/BITKit/Unity/Scripts/Sensor/Smart/SmartTargetSensor.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; +using BITKit.Sensors.States; +using BITKit.StateMachine; using Cysharp.Threading.Tasks; #if UNITY_EDITOR using UnityEditor; @@ -16,270 +18,38 @@ using UnityEngine.UIElements; namespace BITKit.Sensors { + public interface ISmartTargetProperty{} + public interface ISmartTargetState:IState{} /// /// 智能目标传感器,根据条件,智能选择目标 /// - public class SmartTargetSensor :MonoBehaviour,ISensor + public class SmartTargetSensor :StateBasedMonoBehaviour,ISensor { - /// - /// 自动更新 - /// - [Header(Constant.Header.Settings)] - [SerializeField] private bool autoUpdate; - [SerializeField] private Optional ignoreTags; - [SerializeField] private Optional optionalRetargetInterval; - [SerializeField] private Optional lostTargetInterval; - [SerializeField] private Optional detectedTime; - [SerializeField] private Transform root; - /// - /// 主传感器 - /// - [Header(nameof(Sensor))] - [SerializeField,SerializeReference,SubclassSelector] private ISensor sensor; + [SerializeField] private float radius; + [SerializeField] private RangeSensor rangeSensor; [SerializeField] private AudioSensor audioSensor; - - [Header(Constant.Header.Debug)] - [SerializeReference, ReadOnly] private int updateCount; - - public IEnumerable Get() =>CurrentTarget is not null ? new[] { CurrentTarget }:Enumerable.Empty(); - public int Id { get;private set; } - bool ISensor.AutoUpdate => autoUpdate; - - internal StringBuilder reportBuilder; - internal readonly DoubleBuffer report=new(); - internal readonly IntervalUpdate lostTargetIntervalUpdate = new(); - - public bool IsValid(Collider _collider) - { - if (!_collider) return false; - if (ignoreTags.Allow) - { - if (_collider.TryGetComponent(out var iTags)) - { - var tags = iTags.GetTags(); - foreach (var x in ignoreTags.Value) - { - if (tags.Contains(x)) - { - return false; - } - } - } - } - return true; - } - public float GetDistance() => sensor.GetDistance(); - public Transform CurrentTarget { get; private set; } - public ISensorTarget SensorTarget { get; private set; } - public float TargetWeight - { - get => _targetWeight; - set => _targetWeight = Mathf.Clamp(value, 0, 1); - } - private float _targetWeight; - - private Vector3 _currentPosition; - - private CancellationTokenSource timeoutCancellationTokenSource=new(); - + public int Id { get; set; } + private readonly CacheList _detected=new(); private void OnEnable() { - lostTargetIntervalUpdate.Interval = lostTargetInterval; - SensorQueue.Register(Id=GetInstanceID(),this); + Id = GetInstanceID(); + SensorQueue.Register(Id,this); + } + private void Start() + { + TransitionState(); } private void OnDisable() { SensorQueue.UnRegister(Id); } - public async UniTask Execute(float delta) + public IEnumerable Get() => _detected.ValueArray; + public bool IsValid(Collider _collider) => false; + public float GetDistance() => radius; + public UniTask Execute(float delta) { - delta=Mathf.Clamp(delta,0.01f,2); - try - { - _currentPosition = transform.position; - updateCount++; - timeoutCancellationTokenSource?.Cancel(); - timeoutCancellationTokenSource = new CancellationTokenSource(); - await sensor.Execute(delta); - - if (audioSensor) - { - await audioSensor.Execute(delta); - } - - reportBuilder?.AppendLine($"-----BEGIN------{updateCount}"); - - Profiler.BeginSample("Release Detected Buffer"); - - if (audioSensor) - { - var heard = audioSensor.Get(); - if(heard.Any()) - { - CurrentTarget = heard.First(); - reportBuilder?.AppendLine($"Heard:{CurrentTarget.name}"); - reportBuilder?.AppendLine($"-----Complete------{updateCount}"); - return; - } - } - - var newDetected = sensor.Get(); - - - if (reportBuilder is not null) - { - reportBuilder.AppendLine($"Detected:{newDetected.Count()}"); - foreach (var x in newDetected) - { - reportBuilder.AppendLine(x.name); - } - reportBuilder.AppendLine(); - } - Profiler.EndSample(); - // ReSharper disable once PossibleMultipleEnumeration - if (newDetected.Contains(CurrentTarget)||newDetected.Contains(SensorTarget?.Transform)) - { - lostTargetIntervalUpdate.Reset(); - if (optionalRetargetInterval.Allow && optionalRetargetInterval.Value.AllowUpdate) - { - reportBuilder?.AppendLine("Retarget Interval Catch,Search New Target"); - } - else - { - reportBuilder?.AppendLine("Current Target Detected,Keep Target"); - reportBuilder?.AppendLine($"-----Complete------{updateCount}"); - return; - } - } - else if(lostTargetInterval.Allow && CurrentTarget is null) - { - if (lostTargetIntervalUpdate.AllowUpdateWithoutReset) - { - CurrentTarget = null; - reportBuilder?.AppendLine("Lost Target,Search New Target"); - } - else if(CurrentTarget is null ) - { - SensorTarget?.Detected(TargetWeight-=delta, this, root?root:this); - - if (TargetWeight <= 0) - { - SensorTarget = null; - } - reportBuilder?.AppendLine($"Lost Target,Forget After {lostTargetIntervalUpdate.Remaining}s"); - } - } - Profiler.BeginSample("Filter Detected"); - - foreach (var x in newDetected.OrderBy(KeySelector)) - { - if(IsValid(x.GetComponent()) is false)continue; - SensorTarget = x.GetComponent(); - if (detectedTime.Allow && CurrentTarget is null) - { - TargetWeight +=detectedTime.Value / delta; - SensorTarget?.Detected(TargetWeight, this, root?root:this); - reportBuilder?.AppendLine($"New Target See,Weight is:{TargetWeight}"); - } - if (detectedTime.Allow is false || TargetWeight >= 1 && CurrentTarget != x) - { - CurrentTarget = x; - SensorTarget?.Detected(1, this, root?root:this); - reportBuilder?.AppendLine($"New Target:{x.name},Is oder by distance"); - } - - break; - } - Profiler.EndSample(); - - reportBuilder?.AppendLine($"-----Complete------{updateCount}"); - - if(reportBuilder is not null) - { - report.Release(reportBuilder.ToString()); - reportBuilder.Clear(); - } - else - { - report.Clear(); - } - } - catch (Exception e) - { - BIT4Log.LogException(e); - } - - } - private float KeySelector(Transform x) - { - var distance = Vector3.Distance(_currentPosition, x.position); - reportBuilder?.AppendLine($"Distance:{distance}@{x.name}"); - return distance; - } - #if UNITY_EDITOR - private void OnDrawGizmosSelected() - { - try - { - if (!CurrentTarget) return; - Gizmos.DrawLine(transform.position,CurrentTarget.position); - } - catch (UnassignedReferenceException) - { - } - - } -#endif - } - #if UNITY_EDITOR - [CustomEditor(typeof(SmartTargetSensor))] - public class SmartTargetSensorInspector:BITInspector - { - private ObjectField _objectField; - private Label _reportLabel; - public override VisualElement CreateInspectorGUI() - { - FillDefaultInspector(); - - CreateSubTitle("Editor Debug Field"); - - _objectField = root.Create(); - - _objectField.objectType = typeof(Transform); - - _objectField.SetEnabled(false); - - _reportLabel = root.Create