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 31498a52c..c3e91644e 100644 Binary files a/Assets/Artists/Scenes/Game/Prototype/NavMesh-PathFinder.asset and b/Assets/Artists/Scenes/Game/Prototype/NavMesh-PathFinder.asset differ 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