From d37bb0ae35f99fa69ec34aad1c0aa981108f60c2 Mon Sep 17 00:00:00 2001 From: bzx <496597135@qq.com> Date: Wed, 24 Sep 2025 11:10:05 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E8=A1=A5=E5=85=85ai=E8=A1=8C?= =?UTF-8?q?=E4=B8=BA=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_DefendNJ/Prefabs/AI/Enemy/EnemyAi.asset | 52 +-- .../Prefabs/AI/PlayerAi/PlayerAI1.prefab | 372 ++++++++++++------ .../Prefabs/AI/PlayerAi/PlayerAi.asset | 70 ++-- Assets/_DefendNJ/Prefabs/GameManager.prefab | 5 +- .../Prefabs/Guns/AiGun/GunAiComponent.cs | 80 +--- Assets/_DefendNJ/Resources/Data.json | 2 +- Assets/_DefendNJ/Resources/ToyStory.xlsm | Bin 56217 -> 69962 bytes Assets/_DefendNJ/Scenes/Company1Floor.unity | 182 ++++++++- Assets/_DefendNJ/Scripts/AI/PlayerAI.cs | 19 +- Assets/_DefendNJ/Scripts/Behaviors/Actions.cs | 98 ++++- .../Scripts/Behaviors/Conditionals.cs | 12 + Assets/_DefendNJ/Scripts/Bullets/Bullet.cs | 7 +- .../Scripts/DefendEvent/DefendEvent.cs | 18 + .../Scripts/DefendEvent/StartEvent.cs | 2 +- .../_DefendNJ/Scripts/Enemys/Enemy/Enemy.cs | 8 +- .../_DefendNJ/Scripts/Enemys/SDRRMI/SDRRMI.cs | 4 +- Assets/_DefendNJ/Scripts/GameLocal.cs | 3 +- Assets/_DefendNJ/Scripts/Guns/Launcher.cs | 1 + Assets/_DefendNJ/Scripts/Manager.meta | 8 + .../Scripts/Manager/DefendEventManager.cs | 13 + .../Manager/DefendEventManager.cs.meta | 11 + .../Scripts/{ => Manager}/GameManager.cs | 85 ++-- .../Scripts/{ => Manager}/GameManager.cs.meta | 0 .../{ => Manager}/TrueGearEffectManager.cs | 0 .../TrueGearEffectManager.cs.meta | 0 25 files changed, 742 insertions(+), 310 deletions(-) create mode 100644 Assets/_DefendNJ/Scripts/Manager.meta create mode 100644 Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs create mode 100644 Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs.meta rename Assets/_DefendNJ/Scripts/{ => Manager}/GameManager.cs (91%) rename Assets/_DefendNJ/Scripts/{ => Manager}/GameManager.cs.meta (100%) rename Assets/_DefendNJ/Scripts/{ => Manager}/TrueGearEffectManager.cs (100%) rename Assets/_DefendNJ/Scripts/{ => Manager}/TrueGearEffectManager.cs.meta (100%) diff --git a/Assets/_DefendNJ/Prefabs/AI/Enemy/EnemyAi.asset b/Assets/_DefendNJ/Prefabs/AI/Enemy/EnemyAi.asset index 6bb557ac..ea0d1ee5 100644 --- a/Assets/_DefendNJ/Prefabs/AI/Enemy/EnemyAi.asset +++ b/Assets/_DefendNJ/Prefabs/AI/Enemy/EnemyAi.asset @@ -24,36 +24,36 @@ MonoBehaviour: Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-65.421875,175.918381)"},"ID":4,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1.5}},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(112.032707,192.174561)"},"ID":5,"Name":"Set Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1059.12329,294.3578)"},"ID":6,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckEnemyState","NodeData":{"Offset":"(-200,180)"},"ID":7,"Name":"Check Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}},{"Type":"Actions+EnemyMoveToward","NodeData":{"Offset":"(9.776367,182.616272)"},"ID":8,"Name":"Enemy - Move Toward","Instant":true,"SharedFloatdis":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0}},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(210,180)"},"ID":9,"Name":"Set + Move Toward","Instant":true,"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"}},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(210,180)"},"ID":9,"Name":"Set Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-502.691437,245.389816)"},"ID":10,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckEnemyState","NodeData":{"Offset":"(-160.227737,211.739136)"},"ID":11,"Name":"Check Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-0.289873123,207.3913)"},"ID":12,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1.5}},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(166.3356,207.225677)"},"ID":13,"Name":"Set Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(228.025848,156.320892)"},"ID":14,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-2.120367,170.030563)"},"ID":15,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"Conditionals+CheckEnemyState","NodeData":{"Offset":"(-257.778473,138.8891)"},"ID":16,"Name":"Check - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(273.043457,123.043457)","Comment":"\u653b\u51fb"},"ID":17,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+EnemyGetTarget","NodeData":{"Offset":"(-461.1302,176.174072)"},"ID":18,"Name":"Enemy - Get Target","Instant":true,"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"SinglemissOffset":3},{"Type":"Actions+EnemyAttack","NodeData":{"Offset":"(-302.096436,178.761368)"},"ID":19,"Name":"Enemy - Attack","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-133.478287,177.880417)"},"ID":20,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Actions+EnemyStopAttack","NodeData":{"Offset":"(89.7573853,178.3028)"},"ID":21,"Name":"Enemy - Stop Attack","Instant":true},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(286.0865,182.173889)"},"ID":22,"Name":"Set - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]}]}]}]},"DetachedTasks":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2965.1272,1720.00122)","Comment":"\u8fb9\u8d70\u8fb9\u5c04"},"ID":23,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-333.165771,176.051178)"},"ID":24,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMinAtkArea","NodeData":{"Offset":"(148.571472,0)"},"ID":25,"Name":"Enemy - In Min Atk Area","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-32.274147,177.602829)"},"ID":26,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.UnknownTask","NodeData":{"Offset":"(105.930588,183.632187)","Comment":"Unknown - Task. Right click and Replace to locate new task."},"ID":27,"Name":"Unknown + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(273.043457,123.043457)","Comment":"\u653b\u51fb"},"ID":17,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+EnemyGetTarget","NodeData":{"Offset":"(-522.105835,176.174072)"},"ID":18,"Name":"Enemy + Get Target","Instant":true,"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"SinglemissOffset":3},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-339.512115,190)"},"ID":19,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Actions+EnemyAttack","NodeData":{"Offset":"(-204.535477,190.956482)"},"ID":20,"Name":"Enemy + Attack","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-72.50268,190.075531)"},"ID":21,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Actions+EnemyStopAttack","NodeData":{"Offset":"(89.7573853,178.3028)"},"ID":22,"Name":"Enemy + Stop Attack","Instant":true},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(286.0865,182.173889)"},"ID":23,"Name":"Set + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]}]}]}]},"DetachedTasks":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2965.1272,1720.00122)","Comment":"\u8fb9\u8d70\u8fb9\u5c04"},"ID":24,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-333.165771,176.051178)"},"ID":25,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMinAtkArea","NodeData":{"Offset":"(148.571472,0)"},"ID":26,"Name":"Enemy + In Min Atk Area","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-32.274147,177.602829)"},"ID":27,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.UnknownTask","NodeData":{"Offset":"(105.930588,183.632187)","Comment":"Unknown + Task. Right click and Replace to locate new task."},"ID":28,"Name":"Unknown Enemy Move Forward","Instant":true,"StringJSONSerialization":"{\"Type\":\"Actions+EnemyMoveForward\",\"NodeData\":{\"Offset\":\"(105.930588,183.632187)\"},\"ID\":44,\"Name\":\"Enemy - Move Forward\",\"Instant\":true,\"SharedTransformtargetTransform\":{\"Type\":\"BehaviorDesigner.Runtime.SharedTransform\",\"Name\":null}}","List`1fieldNameHash":[],"List`1startIndex":[],"List`1dataPosition":[],"List`1unityObjects":[],"List`1byteData":[]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(248.5385,176.267776)"},"ID":28,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(372.646729,181.85994)","Comment":"\u5c04\u51fb\u4e00\u6b21\n"},"ID":29,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+EnemyStop","NodeData":{"Offset":"(-233.318756,197.858337)"},"ID":30,"Name":"Enemy - Stop","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(-84.78076,195.7113)"},"ID":31,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(68.4810638,204.700439)"},"ID":32,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(215.608154,197.5)"},"ID":33,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3625.138,1524.066)"},"ID":34,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1163.3335,1498.75012)","Comment":"\u6218\u6597\u8fc7\u7a0b\u4e2d\u76ee\u6807\u6b7b\u4ea1"},"ID":35,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-259.9843,158.074753)"},"ID":36,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyCheckTargetAlive","NodeData":{"Offset":"(150.726379,-0.892334)"},"ID":37,"Name":"Enemy - Check Target Alive","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(73.86024,156.139771)"},"ID":38,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(233.74971,161.5149)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":39,"Name":"Set - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3401.667,1526.24939)"},"ID":40,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(2727.67944,1546.10022)"},"ID":41,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(220.000427,1409.99988)","Comment":"\u4e22\u5931\u76ee\u6807"},"ID":42,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-229.588409,178.719025)"},"ID":43,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(197.0589,31.1764774)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":44,"Name":"Enemy - In Max Atk Area","Instant":true}]},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(222.618942,182.9729)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":45,"Name":"Set - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"Conditionals+CheckEnemyState","NodeData":{"Offset":"(-2010,800)","Comment":"\u51fa\u751f"},"ID":46,"Name":"Check - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2397.142,437.857483)"},"ID":47,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-293.6734,173.061935)"},"ID":48,"Name":"Check - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(103.045837,180.344666)"},"ID":49,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(-84.39362,180)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":50,"Name":"Enemy - In Max Atk Area","Instant":true},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(143.157959,200.5263)"},"ID":51,"Name":"Set - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":4}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(247.826111,1281.73779)","Comment":"\u6218\u6597\u8fc7\u7a0b\u4e2d\u672a\u77e5\u539f\u56e0\n\u8d85\u51fa\u53ef\u653b\u51fb\u8303\u56f4"},"ID":52,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-236.879791,170)"},"ID":53,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(222.200714,14.2857094)"},"ID":54,"Name":"Enemy - In Max Atk Area","Instant":true}]},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(250.974686,169.583374)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":55,"Name":"Set - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"Actions+EnemyGetTarget","NodeData":{"Offset":"(-200,880.4348)"},"ID":56,"Name":"Enemy + Move Forward\",\"Instant\":true,\"SharedTransformtargetTransform\":{\"Type\":\"BehaviorDesigner.Runtime.SharedTransform\",\"Name\":null}}","List`1fieldNameHash":[],"List`1startIndex":[],"List`1dataPosition":[],"List`1unityObjects":[],"List`1byteData":[]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(248.5385,176.267776)"},"ID":29,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(372.646729,181.85994)","Comment":"\u5c04\u51fb\u4e00\u6b21\n"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+EnemyStop","NodeData":{"Offset":"(-233.318756,197.858337)"},"ID":31,"Name":"Enemy + Stop","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(-84.78076,195.7113)"},"ID":32,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(68.4810638,204.700439)"},"ID":33,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(215.608154,197.5)"},"ID":34,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3625.138,1524.066)"},"ID":35,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1163.3335,1498.75012)","Comment":"\u6218\u6597\u8fc7\u7a0b\u4e2d\u76ee\u6807\u6b7b\u4ea1"},"ID":36,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-259.9843,158.074753)"},"ID":37,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyCheckTargetAlive","NodeData":{"Offset":"(150.726379,-0.892334)"},"ID":38,"Name":"Enemy + Check Target Alive","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(73.86024,156.139771)"},"ID":39,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(233.74971,161.5149)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":40,"Name":"Set + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3401.667,1526.24939)"},"ID":41,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(2727.67944,1546.10022)"},"ID":42,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(220.000427,1409.99988)","Comment":"\u4e22\u5931\u76ee\u6807"},"ID":43,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-229.588409,178.719025)"},"ID":44,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(197.0589,31.1764774)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":45,"Name":"Enemy + In Max Atk Area","Instant":true}]},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(222.618942,182.9729)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":46,"Name":"Set + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"Conditionals+CheckEnemyState","NodeData":{"Offset":"(-2010,800)","Comment":"\u51fa\u751f"},"ID":47,"Name":"Check + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2397.142,437.857483)"},"ID":48,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-293.6734,173.061935)"},"ID":49,"Name":"Check + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(103.045837,180.344666)"},"ID":50,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(-84.39362,180)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":51,"Name":"Enemy + In Max Atk Area","Instant":true},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(143.157959,200.5263)"},"ID":52,"Name":"Set + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":4}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(247.826111,1281.73779)","Comment":"\u6218\u6597\u8fc7\u7a0b\u4e2d\u672a\u77e5\u539f\u56e0\n\u8d85\u51fa\u53ef\u653b\u51fb\u8303\u56f4"},"ID":53,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-236.879791,170)"},"ID":54,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(222.200714,14.2857094)"},"ID":55,"Name":"Enemy + In Max Atk Area","Instant":true}]},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(250.974686,169.583374)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":56,"Name":"Set + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"Actions+EnemyGetTarget","NodeData":{"Offset":"(-407.317139,1075.55664)"},"ID":57,"Name":"Enemy Get Target","Instant":true,"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"SinglemissOffset":3}],"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"tempVec3","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"}]}' fieldSerializationData: typeName: [] diff --git a/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAI1.prefab b/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAI1.prefab index 2b12b6b8..58fc8b74 100644 --- a/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAI1.prefab +++ b/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAI1.prefab @@ -44,6 +44,9 @@ GameObject: - component: {fileID: 1834246880249971674} - component: {fileID: 3490696594376296032} - component: {fileID: 7192251330143086601} + - component: {fileID: 8976182512400632901} + - component: {fileID: 1854456911313191619} + - component: {fileID: -2629107296205377383} m_Layer: 0 m_Name: PlayerAI1 m_TagString: Untagged @@ -131,7 +134,7 @@ MonoBehaviour: parentIndex: startIndex: variableStartIndex: - JSONSerialization: '{"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"tempVec3","IsShared":true,"Vector3mValue":"(0,0,0)"}]}' + JSONSerialization: '{"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"tempVec3","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CountdownTime","IsShared":true,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"}]}' fieldSerializationData: typeName: [] fieldNameHash: @@ -170,6 +173,110 @@ MonoBehaviour: SpecialAtk2: 0 target: {fileID: 0} gun: {fileID: 3743597392773048110} +--- !u!114 &8976182512400632901 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 703214555157656016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 373b52eb9bf8c40f785bb6947a1aee66, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + drawGizmos: 1 + detailedGizmos: 0 + startEndModifier: + addPoints: 0 + exactStartPoint: 3 + exactEndPoint: 3 + useRaycasting: 0 + mask: + serializedVersion: 2 + m_Bits: 4294967295 + useGraphRaycasting: 0 + traversableTags: -1 + tagPenalties: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + graphMask: + value: -1 +--- !u!114 &1854456911313191619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 703214555157656016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 560112f876f5746c780eca0d404e7139, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + radiusBackingField: 0.5 + heightBackingField: 2 + centerBackingField: 1 + locked: 0 + lockWhenNotMoving: 0 + agentTimeHorizon: 2 + obstacleTimeHorizon: 0.5 + maxNeighbours: 10 + layer: 1 + collidesWith: -1 + wallAvoidForce: 1 + wallAvoidFalloff: 1 + priority: 0.5 + debug: 0 +--- !u!114 &-2629107296205377383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 703214555157656016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f6eb1402c17e84a9282a7f0f62eb584f, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + radius: 0.58 + height: 1.48 + canMove: 1 + maxSpeed: 1 + gravity: {x: NaN, y: NaN, z: NaN} + groundMask: + serializedVersion: 2 + m_Bits: 4294967295 + endReachedDistance: 0.2 + whenCloseToDestination: 0 + rvoDensityBehavior: + enabled: 1 + densityThreshold: 0.5 + returnAfterBeingPushedAway: 0 + progressAverage: 0 + lastJobDensityResult: 0 + centerOffsetCompatibility: NaN + repathRateCompatibility: NaN + canSearchCompability: 0 + orientation: 0 + enableRotation: 1 + autoRepath: + mode: 2 + period: 0.5 + sensitivity: 10 + maximumPeriod: 2 + visualizeSensitivity: 0 + targetCompatibility: {fileID: 0} + maxAcceleration: -2.5 + rotationSpeed: 360 + slowdownDistance: 0.6 + pickNextWaypointDist: 1.3 + alwaysDrawGizmos: 0 + slowWhenNotFacingTarget: 1 + preventMovingBackwards: 0 + constrainInsideGraph: 0 --- !u!1 &2274673127820136232 GameObject: m_ObjectHideFlags: 0 @@ -217,7 +324,7 @@ PrefabInstance: - target: {fileID: 11208973979479390, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000073477468 + value: -0.000010861026 objectReference: {fileID: 0} - target: {fileID: 11208973979479390, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -227,12 +334,12 @@ PrefabInstance: - target: {fileID: 136819590769658433, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000005470689 + value: -0.0000003041165 objectReference: {fileID: 0} - target: {fileID: 136819590769658433, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000005470689 + value: -0.0000003041165 objectReference: {fileID: 0} - target: {fileID: 136819590769658433, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -242,42 +349,42 @@ PrefabInstance: - target: {fileID: 262355879512368694, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000010941382 + value: 0.0000006082331 objectReference: {fileID: 0} - target: {fileID: 262355879512368694, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000021882763 + value: 0.0000012164662 objectReference: {fileID: 0} - target: {fileID: 262355879512368694, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -0.0000016412064 + value: -0.0000009123496 objectReference: {fileID: 0} - target: {fileID: 1082228134385091112, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 5.2172557e-13 + value: 2.900281e-13 objectReference: {fileID: 0} - target: {fileID: 1082228134385091112, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 2.7961528e-12 + value: 1.5543862e-12 objectReference: {fileID: 0} - target: {fileID: 1082228134385091112, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -8.3476065e-12 + value: -4.6404495e-12 objectReference: {fileID: 0} - target: {fileID: 1386608412718909200, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.000000563352 + value: 0.0000003131684 objectReference: {fileID: 0} - target: {fileID: 1386608412718909200, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000041371436 + value: 0.0000022998443 objectReference: {fileID: 0} - target: {fileID: 1386608412718909200, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -287,12 +394,12 @@ PrefabInstance: - target: {fileID: 1625437706063106634, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.04486447 + value: -0.044862855 objectReference: {fileID: 0} - target: {fileID: 1625437706063106634, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 10.487302 + value: 10.487304 objectReference: {fileID: 0} - target: {fileID: 1625437706063106634, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -302,12 +409,12 @@ PrefabInstance: - target: {fileID: 1743408037479395621, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.045603003 + value: -0.04560545 objectReference: {fileID: 0} - target: {fileID: 1743408037479395621, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 1.7970102 + value: 1.7970111 objectReference: {fileID: 0} - target: {fileID: 1743408037479395621, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -322,7 +429,7 @@ PrefabInstance: - target: {fileID: 1956320385531840004, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 89.999916 + value: 89.99993 objectReference: {fileID: 0} - target: {fileID: 1956320385531840004, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -332,87 +439,87 @@ PrefabInstance: - target: {fileID: 2125851149571180080, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 32.41213 + value: 32.081257 objectReference: {fileID: 0} - target: {fileID: 2125851149571180080, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -171.6823 + value: -171.63434 objectReference: {fileID: 0} - target: {fileID: 2125851149571180080, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -49.209072 + value: -49.235703 objectReference: {fileID: 0} - target: {fileID: 2458975266396327682, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 38.96503 + value: 39.85686 objectReference: {fileID: 0} - target: {fileID: 2458975266396327682, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 25.28528 + value: 25.990887 objectReference: {fileID: 0} - target: {fileID: 2458975266396327682, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: 27.712574 + value: 28.12439 objectReference: {fileID: 0} - target: {fileID: 2519980062542249470, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 30.760126 + value: 30.415257 objectReference: {fileID: 0} - target: {fileID: 2519980062542249470, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 8.801792 + value: 8.738604 objectReference: {fileID: 0} - target: {fileID: 2519980062542249470, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -1.9467416 + value: -1.9482105 objectReference: {fileID: 0} - target: {fileID: 2666914728976664373, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -2.025519 + value: -2.025516 objectReference: {fileID: 0} - target: {fileID: 2666914728976664373, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 24.685858 + value: 24.685854 objectReference: {fileID: 0} - target: {fileID: 2666914728976664373, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -7.368236 + value: -7.368238 objectReference: {fileID: 0} - target: {fileID: 2702914233331957598, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000027806536 + value: -0.0000015457701 objectReference: {fileID: 0} - target: {fileID: 2702914233331957598, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.000000966012 + value: -0.0000005370078 objectReference: {fileID: 0} - target: {fileID: 2702914233331957598, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -40.107044 + value: -40.10705 objectReference: {fileID: 0} - target: {fileID: 2858810109987646778, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.000000496608 + value: 0.00000027606518 objectReference: {fileID: 0} - target: {fileID: 2858810109987646778, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.00000022948807 + value: 0.00000012757285 objectReference: {fileID: 0} - target: {fileID: 2858810109987646778, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -422,17 +529,17 @@ PrefabInstance: - target: {fileID: 2915856867489656926, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -22.456657 + value: -22.968359 objectReference: {fileID: 0} - target: {fileID: 2915856867489656926, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -63.392162 + value: -63.50386 objectReference: {fileID: 0} - target: {fileID: 2915856867489656926, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: 79.83149 + value: 79.06444 objectReference: {fileID: 0} - target: {fileID: 3007144682418704070, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -452,12 +559,12 @@ PrefabInstance: - target: {fileID: 3040593872952708222, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000015416733 + value: -0.0000008570189 objectReference: {fileID: 0} - target: {fileID: 3040593872952708222, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000016465344 + value: 0.00000091531126 objectReference: {fileID: 0} - target: {fileID: 3040593872952708222, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -472,7 +579,7 @@ PrefabInstance: - target: {fileID: 3527089976263002346, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -1.4065591 + value: -1.4065574 objectReference: {fileID: 0} - target: {fileID: 3527089976263002346, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -487,42 +594,42 @@ PrefabInstance: - target: {fileID: 3734024063578711422, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000052410996 + value: 0.000015755268 objectReference: {fileID: 0} - target: {fileID: 3734024063578711422, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000012379038 + value: 0.000000039450697 objectReference: {fileID: 0} - target: {fileID: 3734024063578711422, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: 55.568317 + value: 56.500698 objectReference: {fileID: 0} - target: {fileID: 3803367244937817978, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000022642062 + value: -0.0000012586759 objectReference: {fileID: 0} - target: {fileID: 3803367244937817978, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000019815961 + value: -0.0000011015727 objectReference: {fileID: 0} - target: {fileID: 3803367244937817978, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: 41.191883 + value: 41.19189 objectReference: {fileID: 0} - target: {fileID: 3830814880293347466, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.00000019888238 + value: -0.0000001105591 objectReference: {fileID: 0} - target: {fileID: 3830814880293347466, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.00000018779464 + value: -0.000000104395376 objectReference: {fileID: 0} - target: {fileID: 3830814880293347466, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -532,17 +639,17 @@ PrefabInstance: - target: {fileID: 4055619277335711654, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.000001504439 + value: -0.00000083632017 objectReference: {fileID: 0} - target: {fileID: 4055619277335711654, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000025301933 + value: -0.0000014065389 objectReference: {fileID: 0} - target: {fileID: 4055619277335711654, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: 0.0000021882756 + value: 0.000001216466 objectReference: {fileID: 0} - target: {fileID: 4202886093341795446, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -552,12 +659,12 @@ PrefabInstance: - target: {fileID: 4316546956413373470, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000010941382 + value: 0.0000006082331 objectReference: {fileID: 0} - target: {fileID: 4316546956413373470, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.000002461809 + value: 0.0000013685244 objectReference: {fileID: 0} - target: {fileID: 4316546956413373470, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -567,27 +674,27 @@ PrefabInstance: - target: {fileID: 4328410758540975987, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 2.4039655 + value: 2.4039636 objectReference: {fileID: 0} - target: {fileID: 4328410758540975987, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -17.448069 + value: -17.448065 objectReference: {fileID: 0} - target: {fileID: 4328410758540975987, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -8.406518 + value: -8.406514 objectReference: {fileID: 0} - target: {fileID: 4413350172244509673, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000014614826 + value: 0.0000008124408 objectReference: {fileID: 0} - target: {fileID: 4413350172244509673, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000016286866 + value: -0.0000009053894 objectReference: {fileID: 0} - target: {fileID: 4413350172244509673, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -597,12 +704,12 @@ PrefabInstance: - target: {fileID: 4454134225422850050, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000013806426 + value: 0.00000076750143 objectReference: {fileID: 0} - target: {fileID: 4454134225422850050, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000020197801 + value: 0.0000011227993 objectReference: {fileID: 0} - target: {fileID: 4454134225422850050, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -612,17 +719,17 @@ PrefabInstance: - target: {fileID: 4682594450905640490, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.045120228 + value: 0.045120236 objectReference: {fileID: 0} - target: {fileID: 4682594450905640490, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 8.527458 + value: 8.527462 objectReference: {fileID: 0} - target: {fileID: 4682594450905640490, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -44.188915 + value: -44.188908 objectReference: {fileID: 0} - target: {fileID: 4775695727658691423, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -632,12 +739,12 @@ PrefabInstance: - target: {fileID: 5006363099083016090, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.04486447 + value: 0.044862855 objectReference: {fileID: 0} - target: {fileID: 5006363099083016090, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -10.487302 + value: -10.487304 objectReference: {fileID: 0} - target: {fileID: 5006363099083016090, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -652,7 +759,7 @@ PrefabInstance: - target: {fileID: 5012910794406904324, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 109.999794 + value: 109.99981 objectReference: {fileID: 0} - target: {fileID: 5012910794406904324, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -662,42 +769,42 @@ PrefabInstance: - target: {fileID: 5017083736398957588, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -12.498458 + value: -12.798047 objectReference: {fileID: 0} - target: {fileID: 5017083736398957588, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 155.5369 + value: 155.56429 objectReference: {fileID: 0} - target: {fileID: 5017083736398957588, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -44.150906 + value: -43.97714 objectReference: {fileID: 0} - target: {fileID: 5198001718532811507, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 1.6959163 + value: 1.4932476 objectReference: {fileID: 0} - target: {fileID: 5198001718532811507, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 37.64317 + value: 37.58664 objectReference: {fileID: 0} - target: {fileID: 5198001718532811507, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: 76.38795 + value: 76.47846 objectReference: {fileID: 0} - target: {fileID: 5568455768894215697, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 1.6749155e-23 + value: 9.310884e-24 objectReference: {fileID: 0} - target: {fileID: 5568455768894215697, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.00000013676727 + value: -0.00000007602914 objectReference: {fileID: 0} - target: {fileID: 5568455768894215697, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -707,12 +814,12 @@ PrefabInstance: - target: {fileID: 5945629548555179770, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000005184196 + value: -0.0000002881904 objectReference: {fileID: 0} - target: {fileID: 5945629548555179770, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000055984337 + value: 0.000009888583 objectReference: {fileID: 0} - target: {fileID: 5945629548555179770, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -722,7 +829,7 @@ PrefabInstance: - target: {fileID: 6135203724815355401, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.046998948 + value: 0.046998113 objectReference: {fileID: 0} - target: {fileID: 6135203724815355401, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -732,17 +839,17 @@ PrefabInstance: - target: {fileID: 6135203724815355401, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -48.03169 + value: -48.03168 objectReference: {fileID: 0} - target: {fileID: 6172949238494474805, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000021505175 + value: 0.0000011954764 objectReference: {fileID: 0} - target: {fileID: 6172949238494474805, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.00000040474777 + value: 0.00000022500004 objectReference: {fileID: 0} - target: {fileID: 6172949238494474805, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -752,12 +859,12 @@ PrefabInstance: - target: {fileID: 6324445408645842491, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000003505459 + value: 0.00000019486905 objectReference: {fileID: 0} - target: {fileID: 6324445408645842491, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.00000042000218 + value: 0.00000023347997 objectReference: {fileID: 0} - target: {fileID: 6324445408645842491, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -767,12 +874,17 @@ PrefabInstance: - target: {fileID: 6343369379285052078, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.00000070431645 + value: -0.00000039153076 objectReference: {fileID: 0} - target: {fileID: 6343369379285052078, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.000004258997 + value: 0.0000023675843 + objectReference: {fileID: 0} + - target: {fileID: 6343369379285052078, guid: f9ad2b6b6ad904f4c94f38515f46736b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -40.10705 objectReference: {fileID: 0} - target: {fileID: 6453762264389802649, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -807,7 +919,7 @@ PrefabInstance: - target: {fileID: 6854115787425013426, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000021882756 + value: -0.000001216466 objectReference: {fileID: 0} - target: {fileID: 6854115787425013426, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -822,27 +934,27 @@ PrefabInstance: - target: {fileID: 6953456331098229963, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000005470689 + value: -0.0000003041165 objectReference: {fileID: 0} - target: {fileID: 6953456331098229963, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000021882756 + value: -0.000001216466 objectReference: {fileID: 0} - target: {fileID: 6953456331098229963, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -0.0000010941378 + value: -0.000000608233 objectReference: {fileID: 0} - target: {fileID: 6957495944142370092, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.045601223 + value: 0.045604464 objectReference: {fileID: 0} - target: {fileID: 6957495944142370092, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -1.7970086 + value: -1.7970103 objectReference: {fileID: 0} - target: {fileID: 6957495944142370092, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -852,12 +964,12 @@ PrefabInstance: - target: {fileID: 7021316364712449637, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -6.699214e-23 + value: -3.7241044e-23 objectReference: {fileID: 0} - target: {fileID: 7021316364712449637, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000005470322 + value: -0.0000003040962 objectReference: {fileID: 0} - target: {fileID: 7021316364712449637, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -867,27 +979,27 @@ PrefabInstance: - target: {fileID: 7084947559317493940, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.00000088942716 + value: 0.00000049443406 objectReference: {fileID: 0} - target: {fileID: 7084947559317493940, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.00000065173737 + value: 0.00000036230193 objectReference: {fileID: 0} - target: {fileID: 7084947559317493940, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -46.642475 + value: -46.642483 objectReference: {fileID: 0} - target: {fileID: 7469437974718371451, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.00000073245644 + value: -0.00000040717384 objectReference: {fileID: 0} - target: {fileID: 7469437974718371451, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000008128005 + value: 0.0000004518372 objectReference: {fileID: 0} - target: {fileID: 7469437974718371451, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -897,27 +1009,27 @@ PrefabInstance: - target: {fileID: 7678185105659998856, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000003662283 + value: -0.00000020358691 objectReference: {fileID: 0} - target: {fileID: 7678185105659998856, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000004064004 + value: 0.00000022591863 objectReference: {fileID: 0} - target: {fileID: 7678185105659998856, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -47.97636 + value: -47.976353 objectReference: {fileID: 0} - target: {fileID: 7905082807338099124, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000017392434 + value: -0.0000009668485 objectReference: {fileID: 0} - target: {fileID: 7905082807338099124, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.000001436268 + value: -0.00000079842357 objectReference: {fileID: 0} - target: {fileID: 7905082807338099124, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -927,7 +1039,7 @@ PrefabInstance: - target: {fileID: 8013499979794930111, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.04700223 + value: -0.04699994 objectReference: {fileID: 0} - target: {fileID: 8013499979794930111, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -942,12 +1054,12 @@ PrefabInstance: - target: {fileID: 8018865451517937090, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000030901679 + value: 0.0000017178301 objectReference: {fileID: 0} - target: {fileID: 8018865451517937090, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.00000016720323 + value: -0.000000092948596 objectReference: {fileID: 0} - target: {fileID: 8018865451517937090, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -957,7 +1069,7 @@ PrefabInstance: - target: {fileID: 8027545003894264665, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 55.567158 + value: 55.567165 objectReference: {fileID: 0} - target: {fileID: 8027545003894264665, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -972,12 +1084,12 @@ PrefabInstance: - target: {fileID: 8041477441421081874, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.0000076214446 + value: 0.0000042367737 objectReference: {fileID: 0} - target: {fileID: 8041477441421081874, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.000006451197 + value: 0.000010362632 objectReference: {fileID: 0} - target: {fileID: 8041477441421081874, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -987,17 +1099,17 @@ PrefabInstance: - target: {fileID: 8048088608338814574, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 31.874268 + value: 31.616495 objectReference: {fileID: 0} - target: {fileID: 8048088608338814574, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.33350846 + value: -0.3444087 objectReference: {fileID: 0} - target: {fileID: 8048088608338814574, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -19.421848 + value: -19.315477 objectReference: {fileID: 0} - target: {fileID: 8063942736569224423, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1017,17 +1129,17 @@ PrefabInstance: - target: {fileID: 8119713370421871960, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -1.3246935e-14 + value: -7.363996e-15 objectReference: {fileID: 0} - target: {fileID: 8119713370421871960, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000005470691 + value: -0.00000030411655 objectReference: {fileID: 0} - target: {fileID: 8119713370421871960, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: -0.0000017779735 + value: -0.0000009883786 objectReference: {fileID: 0} - target: {fileID: 8205421908633921381, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1047,12 +1159,12 @@ PrefabInstance: - target: {fileID: 8356688789558866487, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.0000011029139 + value: -0.00000061311175 objectReference: {fileID: 0} - target: {fileID: 8356688789558866487, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.00000038609014 + value: 0.00000021462817 objectReference: {fileID: 0} - target: {fileID: 8356688789558866487, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1062,12 +1174,12 @@ PrefabInstance: - target: {fileID: 8564407713489393507, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.000001991702 + value: -0.0000011071909 objectReference: {fileID: 0} - target: {fileID: 8564407713489393507, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000014741516 + value: 0.0000008194837 objectReference: {fileID: 0} - target: {fileID: 8564407713489393507, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1077,12 +1189,12 @@ PrefabInstance: - target: {fileID: 8574914342830626004, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.000002555267 + value: 0.0000014204768 objectReference: {fileID: 0} - target: {fileID: 8574914342830626004, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -0.0000017457703 + value: -0.0000009704768 objectReference: {fileID: 0} - target: {fileID: 8574914342830626004, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1097,7 +1209,7 @@ PrefabInstance: - target: {fileID: 8603230480452157243, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000010941371 + value: 0.0000006082329 objectReference: {fileID: 0} - target: {fileID: 8603230480452157243, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1157,12 +1269,12 @@ PrefabInstance: - target: {fileID: 8687901323576573938, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: -0.04511968 + value: -0.04511993 objectReference: {fileID: 0} - target: {fileID: 8687901323576573938, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: -8.52746 + value: -8.527462 objectReference: {fileID: 0} - target: {fileID: 8687901323576573938, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1172,12 +1284,12 @@ PrefabInstance: - target: {fileID: 8722823488911958332, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0.000002188275 + value: 0.000001216466 objectReference: {fileID: 0} - target: {fileID: 8722823488911958332, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.0000021882756 + value: 0.000001216466 objectReference: {fileID: 0} - target: {fileID: 8722823488911958332, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1192,7 +1304,7 @@ PrefabInstance: - target: {fileID: 8831969266565682855, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0.000010840817 + value: 0.0000128028305 objectReference: {fileID: 0} - target: {fileID: 8831969266565682855, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1202,7 +1314,7 @@ PrefabInstance: - target: {fileID: 8874526548631445145, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 3.4979784 + value: 3.4979818 objectReference: {fileID: 0} - target: {fileID: 8874526548631445145, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1217,7 +1329,7 @@ PrefabInstance: - target: {fileID: 8899490426290922987, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 27.252722 + value: 27.252718 objectReference: {fileID: 0} - target: {fileID: 8899490426290922987, guid: f9ad2b6b6ad904f4c94f38515f46736b, type: 3} @@ -1303,8 +1415,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6da272df68002df4cbd48bfb8fa03132, type: 3} m_Name: m_EditorClassIdentifier: - playerAI: {fileID: 0} - bothSound: + playerAI: {fileID: 7192251330143086601} + bothSound: 1.2 dieSound: moveSound: attackSound: diff --git a/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAi.asset b/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAi.asset index 2c163a5c..24fb31b5 100644 --- a/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAi.asset +++ b/Assets/_DefendNJ/Prefabs/AI/PlayerAi/PlayerAi.asset @@ -20,40 +20,48 @@ MonoBehaviour: parentIndex: startIndex: variableStartIndex: - JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(213,54)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(2,179.571442)"},"ID":1,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1586.18555,299.953735)"},"ID":2,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-272.698242,180.291748)"},"ID":3,"Name":"Check - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-65.421875,175.918381)"},"ID":4,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1.5}},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(116.094688,179.682861)"},"ID":5,"Name":"Set - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1059.12329,294.3578)"},"ID":6,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-210,180)"},"ID":7,"Name":"Check + JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(213,54)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(2,179.571442)"},"ID":1,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1812.37646,264.239471)"},"ID":2,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-262.494171,180.291748)"},"ID":3,"Name":"Check + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-45.01371,186.122467)"},"ID":4,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1.5}},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(146.70694,179.682861)"},"ID":5,"Name":"Set + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1285.31421,258.643524)"},"ID":6,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-210,180)"},"ID":7,"Name":"Check Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}},{"Type":"Actions+PlayerAIMoveForward","NodeData":{"Offset":"(1.5791378,184.291138)"},"ID":8,"Name":"Player AI Move Forward","Instant":true,"SharedGameObjectTargetObj":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true}},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(187.567551,189.999863)"},"ID":9,"Name":"Set - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-547.87085,279.79657)"},"ID":10,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-79.79592,190.408173)"},"ID":11,"Name":"Check - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(109.445251,176.666992)"},"ID":12,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckEnemyCount","NodeData":{"Offset":"(-118.372093,151.6279)"},"ID":13,"Name":"Check - Enemy Count","Instant":true},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(158.5111,152.541763)"},"ID":14,"Name":"Set - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(228.025848,156.320892)"},"ID":15,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-2.120367,170.030563)"},"ID":16,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-221.4632,178.536682)"},"ID":17,"Name":"Check - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(219.302429,178.6052)"},"ID":18,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-508.4783,268.995483)","Comment":"\u6218\u6597\u8fc7\u7a0b\u4e2d\u672a\u77e5\u539f\u56e0\n\u8d85\u51fa\u53ef\u653b\u51fb\u8303\u56f4"},"ID":19,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-236.879791,170)"},"ID":20,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(222.200714,14.2857094)"},"ID":21,"Name":"Enemy - In Max Atk Area","Instant":true}]},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(250.974686,169.583374)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":22,"Name":"Set - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(203.2558,108.139526)","Comment":"\u653b\u51fb"},"ID":23,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+PlayerAIStopAttack","NodeData":{"Offset":"(-282.096924,191.58667)"},"ID":24,"Name":"Player - AI Stop Attack","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-133.48999,193.646362)"},"ID":25,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Actions+EnemyAttack","NodeData":{"Offset":"(23.9905472,189.630936)"},"ID":26,"Name":"Enemy - Attack","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(160,188.749985)"},"ID":27,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Actions+EnemyStopAttack","NodeData":{"Offset":"(307.148682,189.172363)"},"ID":28,"Name":"Enemy - Stop Attack","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(514.3523,186.803589)"},"ID":29,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3}}]}]}]}]}]},"DetachedTasks":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2965.1272,1720.00122)","Comment":"\u8fb9\u8d70\u8fb9\u5c04"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-333.165771,176.051178)"},"ID":31,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMinAtkArea","NodeData":{"Offset":"(148.571472,0)"},"ID":32,"Name":"Enemy - In Min Atk Area","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-32.274147,177.602829)"},"ID":33,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.UnknownTask","NodeData":{"Offset":"(105.930588,183.632187)","Comment":"Unknown - Task. Right click and Replace to locate new task."},"ID":34,"Name":"Unknown + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-716.666565,264.2857)"},"ID":10,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-210,180)"},"ID":11,"Name":"Check + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-10.9512854,188.095459)"},"ID":12,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1.5}},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(190,190)"},"ID":13,"Name":"Set + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-217.626373,167.19046)"},"ID":14,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(112.165314,227.173386)"},"ID":15,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-277.018768,178.536682)"},"ID":16,"Name":"Check + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"Actions+CountdownTimeAction","NodeData":{"Offset":"(-63.64968,173.990509)"},"ID":17,"Name":"Countdown + Time Action","Instant":true,"SharedFloatCountdownTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CountdownTime","IsShared":true,"SinglemValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(177.929337,171.31311)"},"ID":18,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-188.80513,150.962067)","Comment":"\u51fb\u6740\u653b\u51fb"},"ID":19,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckKillEnemyCountdownTime","NodeData":{"Offset":"(-151.395325,176.279175)"},"ID":20,"Name":"Check + Kill Enemy Countdown Time","Instant":true,"SharedFloatCountdownTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(66.6114044,166.002319)","Comment":"\u51fb\u6740\u653b\u51fb"},"ID":21,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+TeammateSupportKill","NodeData":{"Offset":"(-162.9005,187.65332)"},"ID":22,"Name":"Teammate + Support Kill","Instant":true,"SharedFloatCountdownTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0},"SharedGameObjectTarget":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true}},{"Type":"Actions+PlayerAIAttack","NodeData":{"Offset":"(36.3322258,185.429749)"},"ID":23,"Name":"Player + AI Attack","Instant":true,"SharedGameObjecttarget":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(203.333069,186.1912)"},"ID":24,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1.5}},{"Type":"Actions+PlayerAIStopAttack","NodeData":{"Offset":"(351.334381,188.286652)"},"ID":25,"Name":"Player + AI Stop Attack","Instant":true,"SharedGameObjecttarget":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"}},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(522.380554,186.1914)"},"ID":26,"Name":"Set + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(277.144836,156.840424)","Comment":"\u6b63\u5e38\u653b\u51fb"},"ID":27,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+TeammateFindTarget","NodeData":{"Offset":"(-111.487946,109.274414)"},"ID":28,"Name":"Teammate + Find Target","Instant":true,"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"SinglenormalHitMin":0.1,"SinglenormalHitMax":0.2},{"Type":"Actions+PlayerAIAttack","NodeData":{"Offset":"(62.0928345,117.441406)"},"ID":29,"Name":"Player + AI Attack","Instant":true,"SharedGameObjecttarget":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true},"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(198.8371,117.441406)"},"ID":30,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1.5}},{"Type":"Actions+PlayerAIStopAttack","NodeData":{"Offset":"(337.209534,117.441406)"},"ID":31,"Name":"Player + AI Stop Attack","Instant":true,"SharedGameObjecttarget":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true},"SharedVector3targetPos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"}},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(495.5818,117.441406)"},"ID":32,"Name":"Set + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]}]}]}]}]},"DetachedTasks":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2965.1272,1720.00122)","Comment":"\u8fb9\u8d70\u8fb9\u5c04"},"ID":33,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-333.165771,176.051178)"},"ID":34,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMinAtkArea","NodeData":{"Offset":"(148.571472,0)"},"ID":35,"Name":"Enemy + In Min Atk Area","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-32.274147,177.602829)"},"ID":36,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.UnknownTask","NodeData":{"Offset":"(105.930588,183.632187)","Comment":"Unknown + Task. Right click and Replace to locate new task."},"ID":37,"Name":"Unknown Enemy Move Forward","Instant":true,"StringJSONSerialization":"{\"Type\":\"Actions+EnemyMoveForward\",\"NodeData\":{\"Offset\":\"(105.930588,183.632187)\"},\"ID\":44,\"Name\":\"Enemy - Move Forward\",\"Instant\":true,\"SharedTransformtargetTransform\":{\"Type\":\"BehaviorDesigner.Runtime.SharedTransform\",\"Name\":null}}","List`1fieldNameHash":[],"List`1startIndex":[],"List`1dataPosition":[],"List`1unityObjects":[],"List`1byteData":[]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(248.5385,176.267776)"},"ID":35,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(372.646729,181.85994)","Comment":"\u5c04\u51fb\u4e00\u6b21\n"},"ID":36,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+EnemyStop","NodeData":{"Offset":"(-233.318756,197.858337)"},"ID":37,"Name":"Enemy - Stop","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(-84.78076,195.7113)"},"ID":38,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(68.4810638,204.700439)"},"ID":39,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(215.608154,197.5)"},"ID":40,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3625.138,1524.066)"},"ID":41,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1163.3335,1498.75012)","Comment":"\u6218\u6597\u8fc7\u7a0b\u4e2d\u76ee\u6807\u6b7b\u4ea1"},"ID":42,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-259.9843,158.074753)"},"ID":43,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyCheckTargetAlive","NodeData":{"Offset":"(150.726379,-0.892334)"},"ID":44,"Name":"Enemy - Check Target Alive","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(73.86024,156.139771)"},"ID":45,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(233.74971,161.5149)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":46,"Name":"Set - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3401.667,1526.24939)"},"ID":47,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(2727.67944,1546.10022)"},"ID":48,"Name":"Set - Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(220.000427,1409.99988)","Comment":"\u4e22\u5931\u76ee\u6807"},"ID":49,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-229.588409,178.719025)"},"ID":50,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(197.0589,31.1764774)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":51,"Name":"Enemy - In Max Atk Area","Instant":true}]},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(222.618942,182.9729)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":52,"Name":"Set - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"Conditionals+CheckEnemyState","NodeData":{"Offset":"(-2010,800)","Comment":"\u51fa\u751f"},"ID":53,"Name":"Check - Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2397.142,437.857483)"},"ID":54,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-293.6734,173.061935)"},"ID":55,"Name":"Check - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(103.045837,180.344666)"},"ID":56,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(-84.39362,180)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":57,"Name":"Enemy - In Max Atk Area","Instant":true},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(143.157959,200.5263)"},"ID":58,"Name":"Set - Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":4}}]}]}],"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"tempVec3","IsShared":true,"Vector3mValue":"(0,0,0)"}]}' + Move Forward\",\"Instant\":true,\"SharedTransformtargetTransform\":{\"Type\":\"BehaviorDesigner.Runtime.SharedTransform\",\"Name\":null}}","List`1fieldNameHash":[],"List`1startIndex":[],"List`1dataPosition":[],"List`1unityObjects":[],"List`1byteData":[]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(248.5385,176.267776)"},"ID":38,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(372.646729,181.85994)","Comment":"\u5c04\u51fb\u4e00\u6b21\n"},"ID":39,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Actions+EnemyStop","NodeData":{"Offset":"(-233.318756,197.858337)"},"ID":40,"Name":"Enemy + Stop","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(-84.78076,195.7113)"},"ID":41,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(68.4810638,204.700439)"},"ID":42,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(215.608154,197.5)"},"ID":43,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3625.138,1524.066)"},"ID":44,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1163.3335,1498.75012)","Comment":"\u6218\u6597\u8fc7\u7a0b\u4e2d\u76ee\u6807\u6b7b\u4ea1"},"ID":45,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-259.9843,158.074753)"},"ID":46,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyCheckTargetAlive","NodeData":{"Offset":"(150.726379,-0.892334)"},"ID":47,"Name":"Enemy + Check Target Alive","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(73.86024,156.139771)"},"ID":48,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(233.74971,161.5149)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":49,"Name":"Set + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(3401.667,1526.24939)"},"ID":50,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityAnimator.SetIntegerParameter","NodeData":{"Offset":"(2727.67944,1546.10022)"},"ID":51,"Name":"Set + Integer Parameter","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":null},"SharedStringparamaterName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"state"},"SharedIntintValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"BooleansetOnce":false},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1056.7467,1328.60437)","Comment":"\u4e22\u5931\u76ee\u6807"},"ID":52,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-229.588409,178.719025)"},"ID":53,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(197.0589,31.1764774)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":54,"Name":"Enemy + In Max Atk Area","Instant":true}]},{"Type":"Actions+SetEnemyState","NodeData":{"Offset":"(222.618942,182.9729)","Comment":"\u8f6c\u4e3a\u641c\u7d22"},"ID":55,"Name":"Set + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}}]},{"Type":"Conditionals+CheckEnemyState","NodeData":{"Offset":"(-2010,800)","Comment":"\u51fa\u751f"},"ID":56,"Name":"Check + Enemy State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2397.142,437.857483)"},"ID":57,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-293.6734,173.061935)"},"ID":58,"Name":"Check + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(103.045837,180.344666)"},"ID":59,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(-84.39362,180)","Comment":"\u5230\u8fbe\u53ef\u653b\u51fb\u8303\u56f4"},"ID":60,"Name":"Enemy + In Max Atk Area","Instant":true},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(143.157959,200.5263)"},"ID":61,"Name":"Set + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":4}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-369.0696,1610.2334)"},"ID":62,"Name":"Inverter","Instant":true,"Children":[{"Type":"Conditionals+EnemyInMaxAtkArea","NodeData":{"Offset":"(-242.9154,432.890167)"},"ID":63,"Name":"Enemy + In Max Atk Area","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-477.301849,1300.235)"},"ID":64,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckPlayerAiState","NodeData":{"Offset":"(-79.79592,190.408173)"},"ID":65,"Name":"Check + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(109.445251,176.666992)"},"ID":66,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Conditionals+CheckEnemyCount","NodeData":{"Offset":"(-118.372093,151.6279)"},"ID":67,"Name":"Check + Enemy Count","Instant":true},{"Type":"Actions+SetPlayerAiState","NodeData":{"Offset":"(158.5111,152.541763)"},"ID":68,"Name":"Set + Player Ai State","Instant":true,"SharedIntstate":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}}]}]}],"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"tempVec3","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CountdownTime","IsShared":true,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"targetPos","IsShared":true,"Vector3mValue":"(0,0,0)"}]}' fieldSerializationData: typeName: [] fieldNameHash: diff --git a/Assets/_DefendNJ/Prefabs/GameManager.prefab b/Assets/_DefendNJ/Prefabs/GameManager.prefab index 308b97d4..972024e6 100644 --- a/Assets/_DefendNJ/Prefabs/GameManager.prefab +++ b/Assets/_DefendNJ/Prefabs/GameManager.prefab @@ -79,11 +79,14 @@ MonoBehaviour: - {fileID: 5915293478984220714, guid: 37f4871eb712b0e4fa79652048bc6e04, type: 3} - {fileID: 6322816796660826881, guid: ce2ddf9be8796f64da31c9822d6de613, type: 3} - {fileID: 6829652512951162543, guid: c8a2486116ae5e545aa2625147140c47, type: 3} - playerAiPres: [] + playerAiPres: + - {fileID: 703214555157656016, guid: f2fa8bfc10709eb46ae433cc6467e47c, type: 3} + - {fileID: 703214555157656016, guid: f2fa8bfc10709eb46ae433cc6467e47c, type: 3} explosionPre: {fileID: 421158798670433174, guid: 2a3190b8f7b24074cb6d5a96244ce2a4, type: 3} EnemyUIPre: {fileID: 905399022738026712, guid: 5495a17eb1e04dc42b68347dae126e2f, type: 3} + gameMode: 1 curEnemyList: [] isStart: 0 roundIndex: 0 diff --git a/Assets/_DefendNJ/Prefabs/Guns/AiGun/GunAiComponent.cs b/Assets/_DefendNJ/Prefabs/Guns/AiGun/GunAiComponent.cs index 854dae24..f73650c1 100644 --- a/Assets/_DefendNJ/Prefabs/Guns/AiGun/GunAiComponent.cs +++ b/Assets/_DefendNJ/Prefabs/Guns/AiGun/GunAiComponent.cs @@ -7,83 +7,13 @@ public class GunAiComponent : Launcher { public override void Start() { - // 主机自身 - if (isServer && isClient && isOwned) - { - type = GunType.Pistol; - GunInfo gunInfo = GameManager.Ins.GunInfos[type]; - shootRate = gunInfo.ShootRate; - recoil = gunInfo.Recoil; - if (hand == HandType.Left) - { - MRInput.Ins.RegisterHoldPressLeftTrigger(ClickLeftTrigger); - } - else if (hand == HandType.Right) - { - MRInput.Ins.RegisterHoldPressRightTrigger(ClickRrightTrigger); - } - } - // 主机其他 - else if (isServer && isClient) - { - type = GunType.Pistol; - GunInfo gunInfo = GameManager.Ins.GunInfos[type]; - shootRate = gunInfo.ShootRate; - recoil = gunInfo.Recoil; - } - // 从机自身 - else if (isClient && isOwned) - { - if (hand == HandType.Left) - { - MRInput.Ins.RegisterHoldPressLeftTrigger(ClickLeftTrigger); - } - else if (hand == HandType.Right) - { - MRInput.Ins.RegisterHoldPressRightTrigger(ClickRrightTrigger); - } - } + } - public void Update() + public void AiShoot() { - if (!isOwned) - { - return; - } - - // 左手 - if (hand == HandType.Left) - { - transform.position = GameLocal.Ins.self.LeftHand.position; - transform.rotation = GameLocal.Ins.self.LeftHand.rotation; - } - // 右手 - else if (hand == HandType.Right) - { - transform.position = GameLocal.Ins.self.RightHand.position; - transform.rotation = GameLocal.Ins.self.RightHand.rotation; - } - - } - - [Client] - public void ClickLeftTrigger() - { - //Debug.Log("点击左trigger"); - if(gameObject.activeSelf) - CmdShoot(); - } - - [Client] - public void ClickRrightTrigger() - { - CmdShoot(); - } - - [Command] - public void CmdShoot() - { - Shoot(); + SpawnBullet(-1, (bulletPoint.position + bulletPoint.forward * 1f) - bulletPoint.position); + SpawnShell(); + SpawnMuzzle(); } } diff --git a/Assets/_DefendNJ/Resources/Data.json b/Assets/_DefendNJ/Resources/Data.json index 3ac888e6..4206f4a2 100644 --- a/Assets/_DefendNJ/Resources/Data.json +++ b/Assets/_DefendNJ/Resources/Data.json @@ -1 +1 @@ -{"AiInfo":{"Columns":["ID","Type","CN_Name","HitRate","FiringRate","FiringWaitTime","FiringTarget1","FiringTarget2"],"Values":[[ 0, 0,"\u73A9\u5BB6\uFF08\u706B\u7BAD\u70AE\uFF09",-1, 2, 0,-1,-1],[ 1, 0,"\u961F\u53CBA",-1, 1, 2,-1,-1],[ 2, 0,"\u961F\u53CBB",-1, 1.5, 0,-1,-1],[ 3, 1,"\u666E\u901A\u654C\u5175","[15,25]", 1.5, 0,"[60,20,20]","[45.45.10]"],[ 4, 1,"\u72D9\u51FB\u654C\u5175","[30,40]", 2, 0,"[60,20,20]","[45.45.10]"],[ 5, 1,"\u8FEB\u51FB\u70AE\u654C\u5175","[20,30]", 4, 0,"[60,20,20]","[45.45.10]"],[ 6, 1,"\u673A\u67AA\u654C\u5175","[10,20]", 1, 2,"[60,20,20]","[45.45.10]"],[ 7, 1,"\u51B2\u950B\u67AA\u654C\u5175","[10,20]", 1, 1,"[60,20,20]","[45.45.10]"],[ 8, 1,"\u624B\u69B4\u5F39\u654C\u5175","[5,15]", 3, 0,"[60,20,20]","[45.45.10]"],[ 9, 1,"\u751F\u5316\u654C\u5175","[5,15]", 3, 0,"[60,20,20]","[45.45.10]"],[ 10, 1,"\u5766\u514B","[5,10]", 5, 0,"[60,20,20]","[45.45.10]"],[ 11, 1,"\u6307\u6325\u5B98","[5,10]", 10, 0,"[60,20,20]","[45.45.10]"]]},"RoundInfo":{"Columns":["ID","Belong","EnemyTypes"],"Values":[[ 0, 0,"[3,3,3,3,3,3,3,3,3]"],[ 1, 1,"[3,4,3,3,4,3,3,4,3]"],[ 2, 2,"[3,5,3,3,5,3,3,5,3]"],[ 3, 3,"[3,6,3,3,6,3,3,6,3]"],[ 4, 4,"[3,7,3,3,7,3,3,7,3]"],[ 5, 5,"[3,8,7,3,8,7,3,8,7]"],[ 6, 6,"[3,9,7,3,9,7,3,9,7]"],[ 7, 7,"[7,7,7,7,10,7,7,7,7]"],[ 8, 8,"[6,7,6,7,11,6,7,6,7]"]]},"TitleInfo":{"Columns":["ID","Id","TitleName"],"Values":[[ 1, 0,"\u521D\u9732\u950B\u8292"],[ 2, 1,"\u5C0F\u83DC\u4E00\u789F"],[ 3, 2,"\u719F\u624B"],[ 4, 3,"\u75DB\u5E76\u5FEB\u4E50\u7740"],[ 5, 4,"\u4E0D\u6B7B\u4F20\u8BF4"],[ 6, 5,"\u4E00\u9A91\u7EDD\u5C18"],[ 7, 6,"\u6700\u5F3A\u5B88\u62A4\u8005"],[ 8, 7,"\u72EC\u5B64\u6C42\u8D25"],[ 9, 8,"\u4F5B\u7CFB\u73A9\u5BB6"],[ 10, 9,"\u5348\u65F6\u5DF2\u5230"],[ 11, 10,"\u795E\u67AA\u624B"],[ 12, 11,"\u5F39\u65E0\u865A\u53D1"],[ 13, 12,"\u56E2\u961F\u62A4\u76FE"],[ 14, 13,"\u6211\u53EBMT"],[ 15, 14,"\u94A2\u94C1\u4E4B\u8EAF"],[ 16, 15,"\u9053\u5177\u5927\u5E08"],[ 17, 16,"\u884C\u8D70\u7684\u4ED3\u5E93"],[ 18, 17,"\u6C38\u4E0D\u505C\u6B47"]]}} +{"AiInfo":{"Columns":["ID","Type","CN_Name","HitRate","FiringRate","FiringWaitTime","FiringTarget1","FiringTarget2"],"Values":[[ 0, 0,"\u73A9\u5BB6\uFF08\u706B\u7BAD\u70AE\uFF09",-1, 2, 0,-1,-1],[ 1, 0,"\u961F\u53CBA",-1, 1, 2,-1,-1],[ 2, 0,"\u961F\u53CBB",-1, 1.5, 0,-1,-1],[ 3, 1,"\u666E\u901A\u654C\u5175","[15,25]", 1.5, 0,"[60,20,20]","[45,45,10]"],[ 4, 1,"\u72D9\u51FB\u654C\u5175","[30,40]", 2, 0,"[60,20,20]","[45,45,10]"],[ 5, 1,"\u8FEB\u51FB\u70AE\u654C\u5175","[20,30]", 4, 0,"[60,20,20]","[45,45,10]"],[ 6, 1,"\u673A\u67AA\u654C\u5175","[10,20]", 1, 2,"[60,20,20]","[45,45,10]"],[ 7, 1,"\u51B2\u950B\u67AA\u654C\u5175","[10,20]", 1, 1,"[60,20,20]","[45,45,10]"],[ 8, 1,"\u624B\u69B4\u5F39\u654C\u5175","[5,15]", 3, 0,"[60,20,20]","[45,45,10]"],[ 9, 1,"\u751F\u5316\u654C\u5175","[5,15]", 3, 0,"[60,20,20]","[45,45,10]"],[ 10, 1,"\u5766\u514B","[5,10]", 5, 0,"[60,20,20]","[45,45,10]"],[ 11, 1,"\u6307\u6325\u5B98","[5,10]", 10, 0,"[60,20,20]","[45,45,10]"]]},"RoundInfo":{"Columns":["ID","Belong","EnemyTypes"],"Values":[[ 0, 0,"[3,3,3,3,3,3,3,3,3]"],[ 1, 1,"[3,4,3,3,4,3,3,4,3]"],[ 2, 2,"[3,5,3,3,5,3,3,5,3]"],[ 3, 3,"[3,6,3,3,6,3,3,6,3]"],[ 4, 4,"[3,7,3,3,7,3,3,7,3]"],[ 5, 5,"[3,8,7,3,8,7,3,8,7]"],[ 6, 6,"[3,9,7,3,9,7,3,9,7]"],[ 7, 7,"[7,7,7,7,10,7,7,7,7]"],[ 8, 8,"[6,7,6,7,11,6,7,6,7]"]]},"TitleInfo":{"Columns":["ID","Id","TitleName"],"Values":[[ 1, 0,"\u521D\u9732\u950B\u8292"],[ 2, 1,"\u5C0F\u83DC\u4E00\u789F"],[ 3, 2,"\u719F\u624B"],[ 4, 3,"\u75DB\u5E76\u5FEB\u4E50\u7740"],[ 5, 4,"\u4E0D\u6B7B\u4F20\u8BF4"],[ 6, 5,"\u4E00\u9A91\u7EDD\u5C18"],[ 7, 6,"\u6700\u5F3A\u5B88\u62A4\u8005"],[ 8, 7,"\u72EC\u5B64\u6C42\u8D25"],[ 9, 8,"\u4F5B\u7CFB\u73A9\u5BB6"],[ 10, 9,"\u5348\u65F6\u5DF2\u5230"],[ 11, 10,"\u795E\u67AA\u624B"],[ 12, 11,"\u5F39\u65E0\u865A\u53D1"],[ 13, 12,"\u56E2\u961F\u62A4\u76FE"],[ 14, 13,"\u6211\u53EBMT"],[ 15, 14,"\u94A2\u94C1\u4E4B\u8EAF"],[ 16, 15,"\u9053\u5177\u5927\u5E08"],[ 17, 16,"\u884C\u8D70\u7684\u4ED3\u5E93"],[ 18, 17,"\u6C38\u4E0D\u505C\u6B47"]]}} diff --git a/Assets/_DefendNJ/Resources/ToyStory.xlsm b/Assets/_DefendNJ/Resources/ToyStory.xlsm index b302c6a87eccaa3352d6f73ddb223d111be233cd..b3a0a6c9834ba5ed226d3bc26355985cdb8a490b 100644 GIT binary patch delta 55955 zcmYg%V{o8Nub*J*tTuk+Stw;8=GWf8ynlUZQC}_e&^m>b>~MWSk!DShPP*D?XAZdUM4cRIq?#}NGstY))vW35lELNvq9LP(4UBF48Ysr>aWo=95PsJkYGC0m>$Pd?yWNNQcod}{i`lmLEeBQChxh_ z`doD$r-aRtgN`m(Z$jZ~1y263)BE%>_eIu>kn5BLO_$9*mmH!;F3u|u{-(u_xCn0F z%RV29LN%E_s*vs{+M$E2XCz6iCPiq267)o75sfE{`6tj-im&P?g+j1^7!+I-2mG}} zh5_dcRhHWWN3*-+fvC)2!FUXR$1${EL36VXeFkz5RTi>Cji7bAuIN|bDu*f&0}+HY zck-0{9?0RXf#?>>2&+4Q-yizBSKS=~8hq76wgZvSc({c|89!%Cd){r=7u6#qF{pA! z%h2TBv&3duZpv|$@pi-ah?S#HTX58#i~?RA)mh!mA5%Mzq+LVuH<}8I7sKA-FFN6k zY&dF7S-1tXsh_ElkTE5tjU2_MgNOEhOQ6NJYRdb6XH%AXozg}C=;_*x#zm`aBu`e5 z$hf0s0ljeX;<7E5hZr!l2xUoglQ8jWK@St^y0%vmr@g`!Xq^yj{8TI3Wo>rz>b6cR zQ(XmukB7&mH~lSNxGRu_)-zlIXz){1zTw}aH;12X^uFz1uc7?DUyqk#Za7>9r&>ds zvmQ@}mq%BhpQktghs9lnEZI@%?8g)T$ID@I^aa~@1D_CWC%c2`W-21Na_9 zGJS-kx-iwk2wQQ=0uFgq!M+OD`aqgC^xwfesJ8|LmkJ7~ptznF(~ew?JLEqZb>?fL z7_3`DFeqY<@;Oeu!t=5{c_CnfIeg8QtkN6UdTIlR)gN?$DKJ*@iBnI9b{&iOrxLBe zIgOWPi?5|Y_3PKEk(l&^Iy`o0d=wV~nsgJMrJ=A*t&iS$3WVy2C^){TX3p;HyFFwCJ@GwCtkZvtZ#iz_w z1E+E@P2LKuJ`hMC{Ek*v40`|tu2Vt?a-9%|N(PL@q%)vysGsr^UV){M$^;0BEkub; zn5nqDYH$yJr)Dc^yi-~Lt{OZ@mDt7!chCH;IFDZO>pXd+f8eIF=`3*e8b*PtDXU(4 zCg*4K>yg8vVoIL|K&jT@>ZSq+2l0V2CGQ{Gqu^XUL@dI;5rH~eDVX3Yn{mxgr z^LZJw!1}>OxUs|!12IKB5wp&E4U_0CgA8OLYK)*+zY116e{)(ZtOKKWyl20xgcdmu zaYr_0U)TAX_B`;pm4!4Adz2!*-=0{Z6`k=^wLk9s%Q0O(K7*0bv773(li=&%%EW%x z9e;s?5~T$J$^et$)+BYY(F@NLftRVjO$goaKAe?;#JRc+dHqE&wRMH{0jqsr5&mkvwQxec*ESlEV#yKO;cz$_F~-b{sskS&#N(!;0{tz7 z@%K8OygeCb6Ip%E?=JUm-;L=f3#VB;8PrB%P}~S@xY{31kmLi4i0TTh)P=gX52}DTrL3 zfsyA3MsJt3K`tlPOdqJZnfqot+Kd1}fp-Luk1X!CCs6dOV~$JqZ^d&1s(m(F>oYgL zpNQYSeSLlVkNioQv0Y<;69vew-_m}{t=8Lv$}}3knSLP^fIQB_%TC(>0RLEo^=&+Q zUNZ4<2l;_;D!Q%?phwqq>dcK7F{KZnXTOb`M4nyE4K;i{n6a(wR;^@A+FgB>jXik3 zG+)#$B&?W)?w*ftWqLIiVN`wqT?kbJw`U48Q*PpvcxD5%iAId;O4LcLO}J>%leE!B zEB4ZVH5%7vDU*(7YR?&g7@8$XnoO_k2S7aOFu1re!W6O{4fapLZPF*(porB^$qJ1e zQt<&$GE3BdTvZx{c)1!GGQ;*e(#^>W_cmQvcJopQ>(MYZ4;$&}OM7a_Na;8D+}ULb z=J=+EG^|VTKv!mB;U)eP=-3V?Nat!9Y1ZbB_+QK5?Srld_Zk5FMp02RtaDtutVxFr zjRiXile13)$~32&03>2yA+`Z+X~=Q=;I!aT$;kmI9@+%TeH(dvOLXvsnFz!cCv=t* zr28~E&B8ZpN!I0r#3f9g<5HLA3>KN=Qt>1~!U8JPs>B|rYUj<~*3o)i%*kZZj7dCu zp#|E7Z!VIo{U-ox1oIFACSA7u;WJY)RyCp$ydhQYkD?|XP^aYYb1h&p7CK44zO@!$ z_rhTlfor#^(I`}sOnlQ4W(_J05=+^i{Wh7vSb6Am#Z7L`EV zwg0Pct~}lX;n5EzE!~v3nl3d=Ks*j<0CIF@+0Ozq*qrSV+#;s2KKfK?7-++w2&|NYxHH~0hw z1T27=&fUg3iX_j_++`#(e%XIgWVmUzT5Y-i?P zKiU=~(>p3S+MAy+_G?0Xm_RUx0l4*x1*j}&MI2Q%*ZnXEXZa4LLg}q1-E_w8G)+ZdHKuc zSWRfdoGG7%3+K7$I{neG_aj|GiXp#(P8ZH({m@(c6O^986zrt&QxTJ?FN7eNU>glc z+)PGJMJ&IEN#BGXgGjMU*2EWy%jcJTO7$cAjF&;47Sed|0%knXoNot22*o~AsZx5_ z>6;*fmi`KL-}?;2?U=^!{XPgm>iUu43*%dBw-~o{s&>|~px2?nJi4ShowEkOTr?MTW^O)od(MpLj3-&)C`rXUW*x`$`3QLSqRGOqz znN<5kF_BQp)>#xb{+G94ydYWhs~HN+NGLHKqU;S-6)vI7vz>e7-ZhMYkX)t3GRIRw zae$%pHZAo@lOnZjhZrslTGbZ21YcQ&QAW7T)8+q{Z8u-KDXO96HGwU-?Zm?}Obi zpVL|!6j9eq3rjV*%w#=`^ea`Yf~DmD0LKC%m>c16n1Zwl6|LaQsHICdBG+nxoZTqe zz7V+F!7qAFbOdY_^&|xc^d?im0W9qhcr2mlBPc=MUkbXKLIYUbi(DBsrpy0qx#Od# z)Xh}CHhz~D^6icPO*0u>^Aa+!1kU4*I%1=cTa#BV@q#YHEbTinOepxkYMy^3V zA}!>4>}KLjw$;$_t4B|)kbVn5r-veDFl&m5aSRoVXw>+fqNq9EBx*hV`6zrvjU5*u(}pFQ&j2VO~p=I2C7#^Ks7KFXd$#f%~yo5YVA1Gapnbi2rY z5$|ZrcryZjn=BB)ESUQ}y8a-*dZ^QeeUg;iA1@eN3M zin4O4?8ti!sx$qoQwGdx?Afk+Pw_s-GrY{Ro?&?#mH%dPCuvO_dwO?X(YSFQ;V;ec zf7Ag<{LeY0-$mGu>Nz=J>E$5212`@Y_2hZJ%u?zkYSr&O%)yAS4$uzWGAnEt4v_WZ-|MN{d2ac_qMj{b<<#P^|D#|?rMR>%`Y5tek zRtM=CIPz3!AxnlH&pdito2QNQS(wNo@CTH5MN{!_lQRH)IVI6vVneRX^Z> z*pPxAaZ=iMvqZ1w>;}JFuLE+rmV>GoqJrCSMgk|m9UiyPthKf@YhK+Bxg$euUt-;Q zUOQxJC)2>Hdtr;BMpZFw$or|VW{%mytu($0dW=XJ{M?M!H&QVGak6F-sX+qi#|1G2mW ztcz(^FtnlRh6yVAawo=(VezQ?v5so>1FLMhsRcpnxFmLgcm#&?eU|dq+_J%o(pH4) zJn>(}+a2s*2MA)2<#MiM)zg5XRJxVGDOgbc_-Za*!b!iH1Pxe=F3AVkqEWWyVf+G; z4sQHk7EXS{#`@F_PmUPY(JTddPCexP)JP0|BoJ+BU1%={=o_=yc=&f>se|9?zkZlRQUc z)XL>yf47Ce`>MC&Bj6%v_X=75{Ha^<*@VXZSe(`Mzwi5N7E?$VjwEt$h2DP&Yd=As z2Md68*FH!+$cUQqm%QGb@d6&Zc!vS4LWUs-AnVk$FxA_M!6% zsEI`*s{vc{c=ULDesSXSIqLHMa{I75G6DAAMDyjl++T3S7G3Igm_At;r-q%jX}gO) zFIeF|U5P#{jf{lynZI4%ed&M2+Hc!TpZJfn5x2x05-J`##T^n=h-*c%5S%a-2o-=! zU=Vr4Mf^r5){Rn$s)ss3E|89s`h6QmC*BHrB2_RTp-x0ASQ{r5=Ph9>AstsK)(SwB z;+BG1V$C*4ED_O)mx+`Km5JSwED$abR|sf@JM+#`72y0n{cS6v6@8Cikp6p-a3e}2 z6MkDScHVD3tRBG7v?gr4wJmo4u z26MRqPDk2vz}AE4=w-Ha5JI+Ee3=lFnxrja+}8kq5qgu1p2o9hM!`%c@K(=B8<;vT zkj`7UTFk%X%d_@*f^iHstiB3>C^de}#Y~!h-DB0&0E=#PZ%0n6{8zr~^z)x5bD$C{ zkMa!#h|`bqT@r7F1jCJAX2ABP09W=uAa@6Bwx@g%b{Uh13G?o4`TXa zde(ELlPCV}Iv$70zKefs!V=0L7Taa1soI17`}4((ppcsp_ioXDU)bH^(&&y3i$LDXhG3;SpI6R|d`b*Uc=~&Tr_Crk$W1LAot9FK zw)WBA(`VUe)pPwM97+(un8j>{LZIL_sOtg!fs{j6>~;8lQGRFbt|mma@AN{gu6M{N zy1(_njzdy((@GfvP$r;Gz&y`2$)5TSlIRrJ&a-rU6DOoQB@LG-;ZEb@Gnp@*8?n%q zUxixZ#@4b!bOF;aerps*GQW(VaBCXa+uZ2veSb$}4^k?6F#PK9?dn?G(ouIZF5G!& zCE2tIS7>`#4pB%3xY6j2Eo4H3E#*rptY+d5 zO`7xh*Ei9aZrNNh={*}MykKw^pU8KIHM|cV?cMUmpbGoWdPk1+k{hmTLb6o2Ht{Cb zuJn$|HsU43_byXxRNO?@@-6ePtsPh}u8#R{hYQ$JuF{8hg13$#-zf`%V+ilwr57;& zW~>3EL1A9N(&zDLS;SZ8XB?oV?femT6x$dI0wWBu!q;(EA1U>?G39*`PLO=S&U<^J z4k#=>Z*?Am+d_PjwrRM|F+WkXxZF&IXNL1@9wa=v(E&nLjys=0liJw9mP!V7Hxxkf ztH$Tbd$^0lE1530EPXQjbXpB2ewOdac6S5%8x0^WF9R1xUXq$s$K``KcIwy<>0+u} zw`r+p91(EhI5}wUmt(iEr1BHTEw;_+EDR$x(|24a!g6{8^Otj3mlaVFn*9zD9R3=k zwQhJ9&he%5S;3}f=pC#L>aFl{lV(8zqH6J0*HPU zeH`(Wg@JkLOn%Bor<+ZJ-)1{8^U7pNN>*l;lmD2bD<(**y#c=;EZ5gR z*%Sq#c?rZE*FGEUa;g%Ag<%kPq6kD7`qq&Ur|K3lD^CB>M`GusW)O9}6Ud$%y%PQS zlSu#ublVi83+K6)~+TTju@Z?^@-nc9DSi5mh1ATMWOI8_b&*(6*a0)zj zMAn|`=Uze8r*;9?Ad==)U|W#OJ_4u0{03Wd;CY|fS+pRj=td?%|+=a zuJ4i7*9qEP(-_z1UR5+Vq%BsOa_y}&YyOl@+hMHThautahjr#qv+Y0@eLU}EBrq~7Rkc2IN|!0dm~EODs_LS*;G^0d3)Kb{uvGpnPMPW8){|LN z_*dE?z4SKj=lYD}H=l0oc=Z^b>JSwM=u%eFVQedjhDBVOinz^mnp&@ieT@S%R+4_I z3h`L|BEqvGGa{u*kp>x|9?73f&?BYXcamfrZ>tLs=MC0=wUq+r6$7tUWbp);Lacsj zL4C4(Ylwuwc=Z;PqrK$li5#(ei&627YZCrNKc)d_fZ$~VuY04 z9=FR4%wMDR2EizNm02FdaxrDMdDA=AdT-R<4o&9RJ=7l&8$i9kFiA?bt&I^{r|UzDYauhQeJeSr1eSb|e+CvZ*F=aVPuvh! z(N}BDqWrn1QFd~ixbiJa%8{xhphFn(27gGWfhbs+WsG^%aQpV5>BoP0a^ty<>bs`l zdi-elej6b`I>umd`k0)|rVXdG=<#fi%7Z8B<@prq|J&PIXvE`LSzB#T9gQGQ^TVyw zMQPSLaPpv#8z}$A5psUC|HWv%9mTO~`kPvyZNj4CJFsrI557e6Ou##DM3!>}_tW~X zK*L#&@*{UT-G|N`8qfQtrMIzmc~_2asLL;id$Y4K#Xm%q;GfQXpIi+YG?Wyxe_i?| zuWBSci^pap>ED#?4MGPDJoxw?iIfPOu4iJItm&b))B(RPUh`b)^w^1?6fZwdZq05| zU0_;IwQ01!&#kO1Ns6j}H_W^}$fBtlqBy`A8L6s~Y;`^Gt~}xT>mAuzZk)4Z(;Q$e zKPJM;?=hBSM?Z>`>^DR^NH7SZd4HI6rT8bod)-0KGZ~{na{{wvB9%;6?~kGNRWR8! zzqj1XK|PS5<9Q_BqT|ZMzvdfhv?#ehkxr%?_)|E2wA)-Ks*B#Tb#j-z_QJ_SaTbQK zd4gBI%?CsN35RX8dV}wLxpu>Ds&*qFubwr4i>L1VpFN`NHzN4cp|AN@#+9x0R|j98 ziv}u#j5{;Q*rXRld*j?2ygl|be9j`4B#aFkLjaD>;xPYi#h(psoc=qI3OL4xh2k>Z zMc}VyD^Ecx*pmCU*iEL9pfuyR3TC;iNqeXdl@T66#N?E+^!J0v^Y+ndSYv_1m=CVj7Rk!t8ZOA{%f~uZnMG zV|5qiUAypOE0ex*tHPJQ2)P;O=C)j#TZW*HH7?*XYgw-pz zJ3pnAlig{Zu6MkBcQ8i}Zeg>^IZ%1L0cSDKzXw=6@BNy${G9Mrcl7kHVXUqoAD7}- z8+OH6@(*5w#rjx6hp7)Fh9KzSN0OkmE>{} zSMIYR4-=e0D|nw;uYrtiHWSl8$Bb z0|_~ymp9%ok`Q+aa_vr^eKjSAfNCYTWih^E<(LP>kt41;GyM@|%cy@4b4?F;-B;XuK;f?y6W5D66KAdLPH6;t!fMnvrx)m3$MAnxIbIZht$`#dWhA zZPgTIoyBCV!E8Os{MdRUjqSK0vpKToSxz`ltS#ZX1>5I*RXI*mHgQV(fOC1+Ta%~I z=b$tzjiRVhQ8l^8JaZt|`1%h^+}~;CCFa`FBWF^n83c zU(eR0kpvSOTORE0JzNl*g{>0G1WG|83p~*TTruA_Ce-k2ddeCMlbt!o}_{TR@pTRC5b zE$7eU1*z~trH;dr%K_!+Af?G0OG6drqC2tccaj;d{Pehg67BgPT zI+gzjSkS`ed=40WQtbTZJi|?l4|5A*l6i*8GoCw-kj6!zs=Wjd>%&k(FaB@A`UBlY zHO#*7MsWLpZyA)NmuGHuH!EdG;wMk6*%Q?>b~jvN>xM&b$U1=H1(5@yIC>pc`q!9V zWk)(}s1u7!jc5my{;#roM49G}rhFtAL0t8+xpc{^Pr-yg0b%(op9H2)7jAJ=2RE&KN(t9zbgyc+s1vHYV1`;)JAQGu_qSytqmVTC=Y$* zFEA+kqy*Q8cAp1{bmRJ+?XsHk^9^Cx=MX)M0<;sWiO_I>KyJ-tE0pX!H!DNQea5X< zqngBy^93lvW0c2>*1IVVuZ}lnHY}8;Meqi#K9r}w(R?=qm|?CU*NY7vljnXNnggL| zGFZ`6DIdJ>&4Le0Q!UiDO~2)OwFsaB&29m|>bw_BL(#ixFaV~y$U|izJVVJ`f#33w zCEaGFIhs0!#cPCgThcr{K(d&?9_*cV3PS|-69DU`fTHH&jGlMpr83;X=8&D|;g`j9 zG$a^k^ZE_zQX8!NlPvkW;lhw!Z!bk44P+-l_2r)8uG6roz>W z3`mmCJ!Yf&q6fPzT97Ki8x-}Hi%M@^Y#@yM1`cugtGmpBAwdV6TUqRX+aE!q1UC7= zq`w^~&0BM~1v#HMfi`L<=s&m_fvAOQ>r&PA`5uyijlMBV7uvH!Z&|D?soDUg9IpiP z06OaPi9^IsITs6k7E4>76Fz*^7b|~k1&?+=dCuFYA8Ov16mWdi6>|vfkix#SR`g30 zj@P*&JCw@WJ?D0K2HCUPa(MMV56Hlxr!=My=|{fNhp{JtCH)>1;?7(U+QhD|^7MEu zR7%1#a(9|p`ZGigS>~QmA%t5G)KF&c{rL+|QMm*#FK%}g5*g00)IEl&uL|QK=xrN=2A0RGuC1wauE)3byPJ?E%K%CS z!Ng)1`|Kc5T>hflx~{$$S71ox1NF#K{6i1h|AaCJI#EKSy=7OO!Lm}>L!)sdj^g+y zj>9%{P$o;@7u(4nkMEg*eho43rU%6_it4e@?YL`j+}jD}i?NJo&Kx+1*u$ZW3zfeI zOf~C?pxcpu0WfVT_|c6OH@hi zeD)kNdaITYc*f)u=wT^|-ib|Q5bUyARqtJr!!{%-jrTu%W=VFdv&_Lwyj@v&=skzQ zjUJE5Xd{n06!v#sJ;?Lq>ft#WL!u}2-nlno6ATrPWm|fKiLcJ`_tn@3?pp#?o4Buk z;dsYgbj`N?1JYLq*jb_9`CaRr*h-oKat+drX2Q0;@XVfPunURijk3)M;sv8&4!-1Q zs2ubWRJ>BvzXaVL1cuNonP}=VfsFo1k!x`JFEy1e1|rj$ZH1y`Ibtcg({C#yyr-09 zcUtkJvrR`46}>Nl+(+=->yf?na#54gd;|ss%bY>w$FlDMTYdo^V?R@z5lU+7hm2!t z^Zgpihg5tQ#q`TedFifa7v=ue_FmBas1N6~3;*YiB>kR(7RdvmbsEDTfHsu*36Te; zqKAkzXt^bKTB81235b7kJ$zYhfz7bsnxrV=8G*|*+hxv0eIOe`y-S;3w;UI%ywrES zMk|yMe#15Z4f#XhFtzt1;6(rrdC|^!!e7s{Cd7)j*9>6CTW-8 z7;Y>{LgP4u*0ARYrn{BirJviQa!?dxm-+5lVOTe&=QfIbcfq}AMbVt04gWs#p7ful zj+l3>-m(hcUd%w+fz<&;NZ%Ca2v%b2gZ+Xbt0;iunDfBGY8)h%`;@0*m6(?pi4vOw zGtS08)UWic$P(-|b=$w4p5@$S#N=&B|1cRrgMA~|DrKnNLSaj z5KpogrF3Cofjj?1LS9?dtG$g2?;>W~@F6DTb+lBgXrT-FfnqOw)M8vN1VuOZ-){~_ zQX{~dn4f=iHcg>FK3KtI|h_ zlnC;qD?9ch*wv_Ma^w;S^D*|>6OQYFH64J8abVqN8#SbKqCk^bD_n!nhIK`|_rU8V z{u689&39)$c*!nB-{I>=XfOQSU{Nx>#Sb>aE#!+uELX_;f``WIPQ2X8tm+GW8@n)y zHsKTJX0YJ{*NI31_U$LGp)2j1Hp%zN zKEvQow`saJ-YvhN+@=v{71v$7dAEX~vE6t?H<`{zf)F7W3ZaqfLwE6Jn5u&+*x~}y zUi2Hs&qn*zkcP{CT0H1A%Jv?DHA|pxQ-M59DC?48yfz;uW+0=Iy|D(nefhhO=i0GT zoIZOXkWLyCB+v=H-L{kdTr?7AWLu1!tvl5(QaWSJ8!G-Xm@o~A$fsq(9%6K0*~W_; zagnhIxub(iM}`MYq|K9rAZkq6M)C(CTx|Fs&VU#f2Uo(Hv=^6WvTmBo4#>~lpTy@9_SS;@2pwD=yx5-j)l-H3kk0d$ z5D~4b#A9C_?^0ZgH7a4WWcHj_$vq}>x( z*kF`k4#j={tt#;pT11D&tR4Ml!w2VoS`Qh$cPyocswU6g?g8XP?&wIF|#HNg~aPPXIzl6z+1!xzQ_H2jC*4?YN zpS*6~z@9sxw9GK43~h`kvr>9ztJnhk!U)`WN|{_W@Q#nR>)#K$Z~IhcKVRDAr_Xu{ z20M8tpO?V4bUo@iSTimqg=m-DC}!XO=+){(=DgX|%v$4c$iVY9V>g)1^;+-cOr-|0 z{Frj>XqE@4EV-jM0OUpzS6PG5b;;azF$aF7aT4U_acgc9Y7`W89Gd`?a`jvJM*B8Z zg5zqPJY9V6%wAV5(y$9tzheIFO2h}*Ere^8jG}mFhsi*Gu(_ro@=9dGc2E()i)*UP2^NmFFr$N-cY2^=~2Fs{+1N@-ceG^Vb-JDEFYL+N&Ny z6^;tYc-2HiFr&}cMLOj4N}`MZk^S&|E>Yus;Qz37 zIt`1IB}^~kcCPV^pNok*3M~%_KjJvZ*T<8LC#5giTIhS_hbHBP@`xyFn$g#cslOr_ z-e?c&vIEPB_jay8g=QCP^uA1_3G*4!wvU9jLo@*(U))qyR)@h&VQqnuadk?1;pdt5 z`a(D?T_|^9gX;Dkg7@X>M}0Z0@?Y-9CY?2e?Zw%@*>bOPQm)(Eu>{Z19zmH56ohHY zjU9R44z!d1M(teaY$C$Hf(bQxqUO!$(2;I#qCeR@{e9*sXpS&b30vGZa%n+B9C&kD7DgWa1YWNWKJz$D0OT5QC1}?+9bG;htlW0qU32Sv| zd&)2j^Bc#@>3%v}2JDeGb4P5>US&B)CfC@rNxT57!JdXw{B*{+an}^DUVXGGW?jEX zM#wI-S94!=6IpBC2~4(K>c-@hXfS2E1y=+xv+A1y#s`-e;sa$C{)4oL>*9xrV-(Gf z!aiwK7Ky1hR)NG<29jg=h+=%0SJYR1Ley}dgT2hO2+IL_PqZT}m9OPnGfmSv5{FVi zRa)0o<$6EX55=#{xxF>(0Wq#A@&>G78#4DlsE$^x$5Rwd1;VzDkS{iSq)7|=9PE^U z#jGO^XqF>R|AwWVM%6O*Wy}@4yk`UR`U=ZS=2W(>1`qO)qX>5s=l)OVF+;yJqtKyK znZdRxIElO`^WoUNB;#KhiM*A3Yt4mx)ozZsz3yoJll*%Nj{R@n;p%z&IVDZSn^7+7 z1Lum|*XV-sC1p5LqbSIDr*M{f+KY&RKbT)Re5;v|ZWru0pq4A-=eD@gGf~pU&D;m- zEM)u_|GeIZl&}2R1qkj5Jd<=VHRMu|hai>$uoY9o zr&~V|^?mx1FBlqcB7M(?I9~XMohe^sraYRC6Xt^;$=}4e4@R>14L;3`zPtBF7b@vw z%pE@jbEfP#Wcr`TUQe(9N3K7;DyGn{+Q&ajcFbc*1)gcB51kM2&F2Ao8Jn{x zPrj(b%RFlx(TNAxZY^88@{jZRd)%|ZZ2L)iP;sP%0-)nRKei8hB-3n20=F{EC9#KQ zm>40^WD7!zA6V4p1YY33O+8koSyv&S@oUhF25Nxz3T4%8^pzyqn3ub_JFR1b4t+~}?W+%7_u zb2O}cq~~8b)i2pSOx+X*QUm1yqx6e43$yjJ`jgp+Mw|8OBaW;U_9VhP1cd>Xrk=14|^{UvvnR7IREC*|J%AtH|M=k-CFtVNZB`iO0tQg z1$t6ZF0e#=xvNaR3P&k_`x4BpXVWnT2h?Hdq8Dv>raQ&*Vm8SnJ4J4Dfj6r z9*fc&Og`Pf3$)x&{Xxy7(X_?I(KLEt`uB>8&%$Sm09c^rns3KA;~<7(bmS-sNdJ9B zF7oGFmJ;=eIgC9v$Qqa@NcUx!F(_)^t0`$vT!qf_kqQ%juEYv&uq8`lJ3IhW^{FK1#6*cpu=#l%+3mRp`Nwz-)Nv~61KSz* ze6T7ScZEF*)T03ZsYa3{^X%I{8IpI&HLlC65sLI#H7pO&2jVgwN0FiR$%gA#Teb|% zALe5fL8zE8<|{KKkmrU{d0$CL+LmDNS{k^?!gwOVcW~7lw%UjDSO`}{B@@Nk zX+PWNdh=7I;kY+F=W1vi^$@qBcB*NJ)p%3<`u!{R?92StLtuW$0)k24=HAm}td?%J z;^<3!eV3*_hds>W!1;rVzoV64^==&!;NqMn(_fZj%QX57Od$FfMxu(R4H$P9rLH45 zSoAE}_Y(46e<@e&$4SKt3WSf=s@z9j!|BBfHpRa}T_rK(`#J88DwoLK@jfE9s&RHT zz+!@TICE@m3|SdbZNI^?YAC^7o%9&VVSCM$Zp`%GzdlhDq{t%5!^CANH=Ex9;kQ`m z6oKUZCwU~cok|g785{4?Q&Y{M6k}aBA_`X=ECtKME;L4^Hro9}{#OIq`5pSqkIuNsV@#}%}L zJ6)dDZVbIEHn^gyuIwzl(sJU(4D&8sa1{cyXain71uU54O%YKK*Q$?G_3-__O? z=InX-b>Ijl<(mLE?cNH$jVze-)47XWHff($-u2B~zKu^I#XV1)EgSh@4BAb6w(AYo zn*}4pNq$_-<*=$oubY*}kGrL0jKj9E3-Q+hLv%OQ=u~=yTFh6{$ba?kznLa77qJdE z3KO>9FsY@ma@@!%oTp{?U?y?gEJKI!ekM_psKrg~p#t4pt^Bc1eH4WXjUz9Q}Ir^hOv5E%`8Ffeq^rTy_EmgYN zj3!Y>#hs(;e47|YJAcapo_Dsjrq1{38sVvLjh)PkNjNniI@4?!!CKPM$$N*HSKiy*W4|vY5QSjzmvJ1=&CShT(*MP3;WVH)=PS=a{GOzceV}I1ES}61s6cb zF4J@Gg^S%>QS92UsD0q~sjh9_{dhDDg^?eBQQIb;wnuKN?(`8MZR&c-PZEv)(qt zT!uR;oeA%}cQW*~gY_r$?Ve9D8eg-z+G}Ur+C830c|AYp>rCprY+lT}d>YQq{5e&7e&8lOuTX%6Qh`<3i~-}Y2ZiXE*zurcW7ROG{$yh^y@N;v{O@n<#5uhu(LSWlLS@Pp6sk zRT*{luW7Pi>QM(D#shV!A)5*5NfjUVYhAW&jx+wX*WClWU|XFlkMz|9no9c1?U|5- zOsC)bw*Y;`!^o%w!%{Ab0b?weWg_WDm1Bgr0bQ3qm5-r z3FGC%zN)-;zEAp9RV1IGZrijgzYVWe1E7C0csOXo3md!CgKK15V(Rh?sa|!IcuYW3@3rhr56-_{I#?sCcn>5#k26CGJGm`l z3NPa9M3;80-{Jk;tynd+(`K!ljnt?91d{)m#Xy&nL4~aRfPG)r{Y>!!@|t)7_)r@@U)Afa!P7Yp%By zdhGOSvS3-%_VqNltLQ;5r4*OqenmDg$n~T(H*&7_^^ALKt&pq9vNQH-ioXCbT=8QPUI5a65Y*0(KRGF%%z(;K~PUuIPwB~;G7L@qT` z*?CZBWbIA8CEn<&%bEqQSZs@!pgkA|y~bT>FE%|2bXd|ZQ^gAS(p23DlOY0*FYkD0 z4TGm(W+$F9mTazO2<%nB(9+x6X0rQ!PZ?zNsQBeL&(UX*$IH%Ngy%GP4;X9x9pjhO zs}-xH9+-(SxQ-=08um4-$S9$^ZJ`Eb+c0=j>qH#Ss&<4U^HTz-@i7B8mi)#cMBu&f z4bl4^(uvJ1Vw^`LVNhMIQoE(1cmjc@;(6m5FAI^bNndl{0g?-l^W9O*H`s^u=j@|5 z(%er>Yhrf6qc{cCFRS9d_Pe>gcB)M8-1ikbUA8>m!Y|Q!p10TBenp{g!d?td4CUi` zx>4uT%X*=oX;%?89Yp1x4%rOQL*o6c8d8T)ces10opo+!uA^drj|r3zqGb(YIi}{xk^^N!&j4oo6KRBGa8~}aecJupU`%m31pX=g*M|jgu z^YOx(c01txeA6amb6Cf`$^3Faj6Ba#z}5u9mtgV=|G8%4_z3^7nwE```BLBa=>o$} zW~U;$#9`^$)a!5_6Gh$Y@q8r?L;vmYl0Zw<6mnvz>*}rdb!UvP>+!9#lH1m6<*8x% z22rib<9`5FK&ij9>@QMJ`Fv0LKIXF@f1UWvrL8wrKgz!omptnG zdjB8qxP0V2slC2ejN;4VzPRs~abN#x0I`AYxbL;OzxNw%Ppi*<=mSUBziQp?o4dzc z>$}M(mg>IL|C!>4y)<#jgWC>0_~I*t-og`>zr6az_CKX} ze5v(=!{(s{*W~5TZJ)F8dmpS%jNH~9DtfuH35yTSdphjl2jT^7yM`XQ#N^h}B}tdN zrhI*8--_D0w`yu0pYv$nZ|8n%_u&#Ff8x1o-rKj`fBNyR7s{S0yVQK4thD($Z01x< z`1XeXDPdNZT~k(+iY2O=-}l-N@BcsSeG7b5)s^=?=ic00^5P~02%vHZj|AnBgg2tz zJiwrcQBYH*QwY0<31X`spO?`A2>(l^_ zV(rvmf3?!qG2j2cANQWz+`vVh{=VODzLV^G)>&umwby>Fz4zMt?A6 zhd!bIlGmC7&X|8M-7g9~W3H@sx@PvzzPd&oj$woGjP++#vb-#`JUr>Hp{oZ3VMQH}E< ze_GZ;*<4-|R;z;Z?Vu&*Y8~EJM;-3D-@Z6y#*`}?t*=&X@?5;U-jAsV>teS0SYqVN zEQDsqC|N)&LwBGbi?xelOo6iydRN?Ojk7#g*W^R+K+1Ix!&HN61b@S`cvrijY$2>FT?k=pA-J3$3D+< z;9{&Nbc%l)zGTOUC3kM!_Pge?s>?$nPtUjnl||C3bR0S35?oeS-@zG|?(?0xf0A2; znQjqSS0GLGU9?krCjb1xx;xqyJmm`)c_!C&hbyX9Hzct$$c?*sjxEx1BvYkOUx)pPxWns^j(kwfD`lTx#Zp-KqSh;&B zuW{h6wB(5yS$EI;#lED`hi1;ne}2gOPj_UY9C-8VmhM^9=F4-s|7>kJxY?bm5C*HRm%w2wM5`ESW(xp^sHpO}W( zhX;Bla%STa=Y|JAmYn2C?>x68t9e#W+q7aXo;XzYv&IG6_lA;w_TcpGf7S&_B{khp z%QcHHI+(g{?3-<$JCyOwb7zfiK7P~QTb{~(rl`Ql{M&5dZO)%vf8Ub7eW75F|F+k% zzt(xjs!J}Nn)K#TG4s;P#%?Q~zG3Xz@}s{UsNOPh#K9M;0&nb}WUnooc3_~oI5=&J z^ZNIxo)LvJ0ue|6>CvfX`eeN8B3+lb>=f6dza?VH{ia6F&4??us>vgO(v zN1fleb)@y_hekYZWqlk?M$M^>HBCv&YG>x%)REle&76>uUpRfkO?l4Mei)j&ZsTOa z`z?>uZ1X-lVpZ~6qSWs5Ze5>RWW69-MsM@I;GaCVeo4)(&DVF@f9>M9XI<5M>u+y(K;wX+dDIC&n1_Po1A$v{kpp^^flbk>Ks{ek@KUu{YlLim0x+s@v=MGx5L7} zursvElR41SmY)`EfBU@emQOaP-m>UNi~iU=D&xww;CJdCxo%nh*E|E=84YcV|6!eH z;C&95|O?aAr<;(r`CdNgTiQ&sbqelR2De~9(+vCP-3Hv@-yUOv#g z>fr1Vua$f`HTe>6%i5Og2cNvm``=k3rmyjSZ1iJdj_;xI{j+~~^|Iz!&jr6X;~Fdf zv0n}xv`5*c`vUg2?45@*eVan>E!+IuZ=bV2-_tkq5pUja|2n;R>8i>nx6Yd5`P|H+ zlz}wg=*L6Wf0op*mj&h(O$;9CDfCq}VN`hCD{U88C+BThCtLd|RrPOP*0T0Z-}2@5 z2A^++lM6$60G9IH4jRhS3UX&B&rUAJ7;)fFBPS+LOn&92g6tQn3)B14tfn{g()cOW zHQ_*M!*ikry(z4AFTr;X=QQ0m*Sg1-33Eef4vge|e@}M23lljyrOHO0Qq|pXbC#C| z^4+kIU)|XEZ_fH-NlWUQ+x}{K=ZW6c4UWA&G*4N^XSCD>yhmSjI!4sz6*nG{W^wVV zBaB(xx2g5tukz-#em`Oncce+&>Zqv~#v(3^Nn9A4xG+X>QMHLy@${6>I)0I7je$+v z{<1I@fAIp^!ePfsTf26z@Y5ddDJelwSi3g$Gtj;cRwqK&ukigtadQ}IiQfREPH#(_ ziVpfE6&EZYnrliOGQ&#R^~k4Wr5=6^>tsI3QcRZf4mL~ztC9?k=Q?8 zQBzi*zwH{R*>K=yoWZ9)B>BYj)Uvj(pd6H4e`KF~MSflNlzY#ev3<@A=l#OblRek8 zPYx$}Cb!KD7Pvs{^iaKmR#I@-~AVE ze_OhuIrwSo-lSN!WnvdxZce}MZgOHb)%`&&G&#y&nTG_xCOA6j3ePEJei zwnEm?&2qussrr`bH{ZHp%bS~v^N;1EzS{Dj)wm(8c~)t|LNu*+PW#W&<=*8j-kO`+ zGwY^1%bT}O9{ozzGu63iujhzmeUlqT9vq)v7F_lF%GSCT=ZWMgOFci$J8Jb_fB*Ej z;-h6-_kQE}D9?noS?kC5=e{t1m3Q;H^*-5a`{$a@^atj9GS|*)S-W=LK=tIc^VZJm ze&(+8+Q)e&oSZYzd7funap2lHh;GvUHKFT6%ee;O_+bAESo=hWg`f0s8uG``$^NYs5|dU#&f>MQNAcly9p&cLf<+kEr9 zuNDTaOFY{q{51cGfSnb1XZ3qyvc?n@Hr(^+CvF>iwe8froWAp1$JhLC=}WF`dT`5x zfMY+C?l@?+l>vDNEXY0A!hZax3$3P|+Hx$6>9|kYj%z0!_pi$sD9L#|fAjt(C;7XX zbMiu^z1F)8nN=Bc#L`)ruLs7Lv{|<#FU9!s3--q873Vvm6peiI+U4~-FzMBw_Q{(3 z;N+6Y{n;FPI-^z!J@Q;%i?86Ujb+_Soi#XPOOHL#LBQDaRNAT<&sT4KWTc#}ZngsF zt;BpZ=Hs5;6fAjr?a{QQe@(>?e=%#IH2Y)L-s`5^d}q>=%l0H)l`*k@Y`b@?=hD;!1tR2O_r`A85(m(Nu>qZsi z|E4R?{@ciT_T+clZ++PQ?8we@YL9t$IgfKC)&It8gb2vx{wnSxf3ZglzhTG>M$@8= zlLGo`TM&f{OQUe+by2w31)uyx6mQP7JIU{A^))Fk3SZ@d&5mU~F4`a_@wkw*%|-W! zS(Sh(vq$3iC!gsN`TgRyNhUl$7Lhq}N1WHqLu77r16W_zykBcma@{7O7 zWf~eEDK@~%=_QTNe~gCnm#io}PHwBA`Hyko$3@}S<+cKv4<;>yMy>{Pz2qnQvDa{X^`~nQ^0VdpkJ{%Fecxy^aW~@QFB}*vW&cM{2=K3y z`jBHuVwd%(&D{qNc=)_gQiOesLA0<2kbmU25H69pMUoX|f5lwnZi^I+=!!^3ep`JT z?YX%3+kA3M`D{`z{Nem;anj4p=ni=J{FJ>(#_9Ys_}OD~-@vM*C+&Zd^wE?!T}Y2h zUnbosXxJCPZw^k?F;@;I4jG3aTx^OAi9O;>Ic#zJ1@TgbF|s44mog+?rkn*M^-ke) za5FTC`%fu_1cCXsxM=2)Q?zDd)iRrFN#HmO|=0H;NO0+DTP1)xn7WZ|w zaUHHssn2PmoIfhQ>T`~dp0E1cA9jQU0?F>5Ee`mj0& zx1NsAViojOBZ0cR&mUei_*Ftr0W2Ug@#j4ePazOptgGBIoVa|mxKeD!8O&H4f#0*c zvJpNDJ=Z8D8va$FyW4WG#}Z<1Q&f&jOf;-dj*)x|A{f`b6P=r8tSYziZJVTmdi?2c(>z!X*< z`|An$an9bEWosLT+ez1mndiazEiRypC)??App@mv)okztH?P%}P&v4g<<~Vn=P7Jn z>#l_TX1W>@o}}g#I}?b3NzsMksLKYRPCon6F#eUFg(B0{s;DzvI?-#3muAMte^Hk$ zM4i^M52NVeeVFRJPGz;L4QaZ@HH?;TgSt4FyD1%}zaPn9yokcd^4MlW%hPJvDDQRI zoUWQ{-ol>~g?r{jVaugLce?OZRQdWUjG475R-ZE)>y z+u`nj`wZNja691cg8MAo-EjB7eGZORoX^8`!0m+Ni0(eP`{DSx9LFO(8D%%_UxK53 z;{iB+aPbxWZV&FAaC_k%gnJ0?t8ia~`#RjiaQoo?58OB4z6tj&xNpOKe+TZna17%S z+#iMe9^Cig9@F?A;JzP@p8)&_?qA>z!2K)SkKvwx>xS!rI|z3O?k8|R)&8Ht{V?3m z;C>Fr&+L8)_ba%k;hur(h5I$!vvAMBJrDPS_Wy6VAA$RKxEJAm3-=P-f580??q#?> zxTA2#;Euz+0{5SAufj2Ied>N|+Mi?}!Nk`ge=p|h!|Rt7AdKP9 zg0@j6u#y_5J}<(i9gA?b^D@{2N^siq9GvdF0Dm*FsbC4Vre7-0f-VLHp+$JhGo$C@ zSDggCNaAh>FZwFP(<0o-b*7{&ML6U&AGlJTrV|3wksuVnc|A`}m-6o$sXjVQBHde) zgt!+);K(3I#>kR3eoJa6OUB6~PdfL=wwa#FV^Vqsf1XtuMpL@LmC|9%-2B)>t+UY{ zDt|#ljsWB)??ht|?EslRr_ya6*()Ji(+xCbVj6I}Wes~m%JZ_vFRu5F5GWZ?-bP0H zjLs8KKakIdm&&ADK*!k3jFd;kmv5MRh9;4mWFLpu8htmhU5w}08o+J-ObuwYQ(y&U z8B4WPf83w4SHjOmn=0fMpM}(k&a;rYd-fzC!~5{5qRZwe@{ihNqq-|s#VRqI?6BTU zD4Y+D+GKsMQ9L$AH6abM$qmLDJ|1Z9Uq{C6K5^8god)|D{G`=;#M0*lpQsVmC!*tR zA3iFVR|baN(%>8WtOp^{5!Q|P8W10%AtEaxB`=@0TU2_2al@!`$=EhT-eu@Bs%xFPMe}Yks?&91 zf4NwRuH}`0R^hoBdDo2m#K(Q;h!%aA{PPZymVpQ0n137~7#qC;ov>~+WQrX(ry1Vn*D6VVE6%epms|%e2!)1p(VJx z!*>}B5*Fcu*kAt{+;5Z_W71#QzbihNfBkz%DL9kx9M9M2#J0wGFfu{i-2i3x3SK-9 zZT5BKCQq{}L&~yR(|!B#O$V98gm=I_PFU7?lkD98l?C8e^?xe)^XtDW-gC|JpI-j_ zgvczAJe*RIZQ7hZbco@w*#iO*i#f5kU`ec*ww&RP9qGWo@VJ^oKVe>184 z2Zu%;|HTu(e}h@dnnpc<{&^&d7S7U9PwZs-W4*-&t;*vSOAQ02jIlc_;a}FzwL@xt zoC@a<3p?>WpjXF*K z|M*>%oB!9x??ded2W<8~Rm*uAe|rULm)mY&ig&rkMvLf`I-NDG+E@vZGQXl>H>{n&y|#w9j5d6g z$yU_09~@-o;7lb+xNRuyD|PKZk?#Y*k&k&#nD2S+cq3>X{hr&Glg4ame_-Ne1f*ek zDxBS>&V@GbJGDRZiWk3gVXdb>rft7wM)k%#G(60`fO54f{)U&bCPmZCEf?W)5d-qy z*11o{*GR{5%@Ft;E0^0}tPI0FSL$?%_dbC3?i9jHlvg5jeJ+0AvAgW;CL?fX)Oen5 zkl|`(JpbL%_I#)!!KMWE#b!F*tg02Sh|6oapscvk>J{v1FB_``1X@;+bw zE&@d{jQW$|2fKyhe@<75J-^O4HUq^n43LW8V-{psfxk6)nhYF13dJbAK@OWX$kF*S zJaH)tzV6o{IT-V;6K5E|3w+_I5~V;6>1zarGj0T@L;e>fNa4`PdhXq2^`weN#n@BiEqu)~Jcf3c;K$Dkv{c%&rPyW_&~ zU+0KVE6XO}EO9+5i^BV`ffcQz<|wcV;^XjPuR$HdJ43||eCW5)6*}5XKEta#%kP}CtX2_Xg%4{PYdR^fj0nD7StP_BG z11gVpX#=Apf4+ll*s3i@d<&baIoL;qzu&>v57pMKP=e+?w)2$ON9|@PoC;AKR6QGR zVU-WQyRuczJ6IX*i2d;YBfC^=8bn9IcX|7H1Gj;J;$V{+@Zy<#Lh`+`QuDb&KC=ZN z{gaUMFb>AzjJ?`=G*29qTkSD?(mS{_raAf!t)2Ghe{frAEo;IOzs)U;n_F_zb5l~n z+(|23fa%{wC5wudEyP^yoWcbQX3oWg@6wsY#YIao(_2_nJilnpf^gxYMTNJ2Y5~;b zf<+}Wi;7DzpF4N{qSBd*Fp*n`9k=Gq!wha&$%3-E%WiK=ufA06xOI16RU>xXYFJja z$=h6$fA(2?B39Mn$MW-TAddIEj{i~ZcrBx9*d7mtBdo+#0;~*p?W(cGtCpu@gZGwkN@cpK`MRY!eV((XcTe+W-m= zc4TaJR)u@&HwN(eKN4(pYfFzvoyFamtQ&Utf4tKi@3?8smUX56rWG4fa#q!BTIFx4 zYO=uzp0_B+POk(^xQS| ze{ebv5L(tCwzE8|wG0OCW2S3-KVetRGl!;2n~)0+Z6Oa1^s@w^W>7l>2)k)CJ|_;I zGC0~Vs|&|DEILHapIDO@!Vl8n;)9=e~5x{AZS4JMevU3*ZA@Heu@22rCqqqo=P{) zY&nG6{AuTbrd+|$Ks?}vH2yTEn;chy#)s{d!r7^lqT2=>B2A7H-h*Z4HZ z)~(@lL{Rnb+Wgs5(Anu%^x34(;b02*49s3|ww3T)tQz8cAmBg>=Dce)%&=M&e~g1{ z3*?a~q>(ZZZ)DK)8Hh`_=E-n-HJpvj@i|^J{5gI!d>jSiuuPvQP_Rssg&Loa<5Su1 zWqOWB8&pdeX~nqg&@|&krRdN!Hd>o5jc4BN*I|u^;r_7lE7ReG!e^&of5CnY%daEY zy>9d8FpfD2&ZcY}zcH<*h~1(X&K#x?=G0>aYAd2!5sgw;y~S#8QdpanIKs|EsZ3p{ST=^BMc^gJ{k9 zxtqG;*?&1;*00a<763gtQ}W^My{_>`eEx~sd&^y;8;)e$W1YVb+^G_Ff62hW48+S8 z1+dB%$rxUoBDEIYkB?e!rG$*N3m4DI8^PI2Ds*<(ODZE!C<4*qO@4{kd(G^g?%RyQ znzh}%b~(xhGmY3%$<2;PY0}W-)3M#p+pVBy21n`D3>Il(>FxHPOIwwB=g8SQMHP?! zf~+I9Y(I1tIhLQ1!=$XSe@(KVM!OKxVhsMwB9wa~YqVaJau|MYTkAIH?9ld?2EF&_ zRJ|bURXd2>BuPAZjXYh5S3f4_%-XG1cu=L$!Vq;a2Ak@N%5!3nO*2i~G$|kD32uK& zzVFfkr)hbD+uxS>-9zwAHp2`L!BwbI&kbW zgu}e$cb22^_k{%0f76eE5|QtMtPBs2`NRKN$rT2FRS%M2*qI~O08_Mk&X8`M3Cb1P zK4y^B%9P8{_MBnxM_sNi5&bA5>16H;i~_ z`;1}m@ymN^R-fI9L`OS$R`FX1KdQ{7Af7nFSjX>7`mPfG5=-|#+PjhH=t`Vcu3!M; zMpwJq3;rtIe^X_{0_AtNs~lUJ_OowDJ6Ryp_3#jUk;D&ehv!QC z&~|vf#1CzU7kVgr?GXM;RJeL!k7=J%v)-5OGrAQC<(pYp%;TF>eMyt;RLG={SG7~i z+e-$OACo>9{K>i0gOt$^~&&9+J*h%r)3|WKT&%1jbMEGXYB&K;BYcZ z&tBxvIa&HYw);0Sf4MF%N}n_=y^+t&kM)Ob)(ND22l!C$v+vCQD*HI>M^Lx1-KGv; z{Mpy1f1K>YOI~>I=1rLWITOyguywFs!slMu|A|tYbohJ7!BD#(GwnLG$rveUZ!s`! zGVZu=2#kSx1V?)k-}j+^%XF2WyMGj9fuYXVxg}03FMa`A~&)yYakG(`D;?>H>~s%1y^`3u5SwfQJ5K z>GDa}fE~>>zZ0NgnKg9e#pm<1ygN`P?zKq8#b0#CCRkrn#xf8f3_hCVn-(G+B%d?5oH;bQr@pUXjay7vq_ z2Ru&U9`gP%ZhiFQJ?YF9(mc&G`DfvayTzW1JweYJ*@{wETQET83{Hl@Psm?hAuV7n z!eRPN@D~6|ll5^2pmP1*UH&_PFNlNR4}4A>d@l=o9Q+C3PsAz5Fe{7RIQSgkfAP40G>x;=yHHN6;s~nzY_Sq7<{kxkLnPK53`_K)4BC%BWU^6951*0 zJAm(qgYN{sH4c71@S!+(@@3!Hf6bpT)6sl?!)Mx{)A48WfP#1EqQky};-G%nmP_P<>a`=Wt0Jo7FDIENmy=ZEYtI@iGFdN|lf-(R z8@uSDAQlm4$pKbj#PWf+SX7mGIX&{7k1NUvf}DB(6jeo}eWoJhJP`W=e}t)r3pC7p zsn9UL8>!SV>01fwIlN96+~tD13FBglo4K~`ICBTIm9oD`8Z?cfPs8f~_q*_w6ewoC z&jyP9%NV?$d>Vgi;p}MS<@fUc*e2cMSseL=NNhDJRRER7`%x)k3}9_R@FRszQik-M;CL> zowxE>dR z3@DhxBzbf-=WPiGe>DxgRk&zEF1XP}6L#S{TyUq0hGRR!zuN`(x@h`b_~stqzOL49Ay@3vV5o#sSPRHu0qCcF}N5NJ{Mjdf41n-=SEK!u;b{$8<{zNjn#)_7bITGT%lko566l|=2lHZc{tuAp7M0K z@EkYBOT)fl!>0;3FC@%O1x`y1a2*f5`MWeHtEv`S&gj zXQ3B{B?V*Jbc|R?IHu3$!=b1_iC62C z%C%pv4zJK~jtGj7=AVJNqgIVS2Wy;mX#5hae^cG(3ipH#murXm6^xxG#)wmZ&3YkB z`wr19OOSVdiT8U~;B`4+q#I1bVz-6^fID4qR}3GvDHnsL+eL$*Ww~O$2Q*Bv90jL2 zfEQ|*^`%nNFx*zcNH@w8)_Ar-y$Y6kwco}6l!hs%f2<0Z#VAL?X)GrN8fLhanns4D ze_{F!Ync7p4h74w_Gy@UpbN0k)!l$Orn0PFKxP&2aZowpqBC5Lawn)9!NWto|Ml+w zx@^^zE1&+!f%hN#Nq65*9(v;Sdifr#rPjqg!2OS&6|p?k$eSC2djfu09kSK|H<~%DAx&ne=z-j zNeLYBdz;emDEj)%n>OW%S7rE)_=CnsvZaCW#6h+ioEi z_v&PR9$`v`N(om0DoWB5Z^KnZ4cw!8cHc-&rU(UVMift%sy%xuZU) zz@7EJ9QR%Rpe*k^$XvkRG5JKj%WtEd+)w42_?=0ADb3}>9*C?9e?E^Ro<`0v|JK)5 zH95e&BuhDBxY&`UUU8)Mv+?}A@Wap5c1dtG^p~nVOxKrWKBgirFG04okh=rr)o4Yd zPZ|2{5o}beM(h1xKCO&D_^31+s*R)dWw5{4aG91qbQM9I&vPCT5C3&-Bm1eV3nW2ZqMygSY2tf07^Lb^7)^N|y_LNBTUM z-izi>2IS8}EL4FbU5lpQ5SKnMguXs5UDhBv>Q4@}qv2)`dQUxb0#q%KRpn$Fq(5GcbVxIe5&#~oZXgcQ!Z0<6o+^KTNm0g7BYXXepUVN%LSf52TMV|Zu z#KG^m=!-Gkf7T32hxmHnbpBO7*<#Ham0z<5@ymd=%aN@@MjZJW{<42 zd8efxoX@0pPD|f3M4sH!(zD!|eyk(Nf68g;Hz$vMe(x#13c50{cb*Y4J)@Cl=MSpyRwN%Cyy2I=XKqhe(ih9VyV4uX_urf$9aEs!2KQf?&nIC1 z;hmQ6q3!hyDesJ7<>mXoue_X9puC)EP^l1`zK)<&91X?l4fdzGl8*lSai`uqfjhtd ze|7}h2}jJ5zib1@U5x>ZW@5SJtcfF1BJE-d(uVxFk}ozq>RZmfP;Z2BXMN%-!d+hW zHVyqy{dp#NVy!aU5!-ho{G#RQ&j^pRQT$4rGgQ0$TtlkH0i3;k$IEqJ?|2>g%Qao^ zcsU#Uj+g7cxU+jM+#0yqaDKQnxD>c_f4C9&Ml=i9JW-^}$6)$(pxN+$+4~moD2ih77zY^O7jWIH`?yO2s}~=upx!0B>&pF|s_vQ2F!*;}zyJ6Bzx_8*s!p9c-F*&H4U!+JAy|H#R$i8L`vq~Dw4be1EhG6jk;@Hg>6d(OCG1a`Yy#kP zpHmTbkEbxz#a+bD3FsH6k^zcneVv5AB#Bg5X@sssJxtff1+UZk`zh8EUN7=gFU7f_ zr- zU5Jv%_u>7ul223rpsW(Ke-ORU$yOy{myaDT%4ab0AwC#AKrL~ib&Dk0k%q2?T0(T& zH2UdjFwqYo!^dAQY>V5h^gR7EoVAQ$Dvz3u*t7+=W~-W`Xz7+PEk}e;w0!zs%Iem9VGLc$}%|<53@j`aZN2+MI4fD^`BY zKj=H_3`Aw1U11ToKhfJU!qT!vYmFGc`d2OVCJldEib-ESe<^Plh?T(2xd<6v!pL7l zjat~q>bS#*_?RJ?e^c;WqkugK^FGt<`%E|R#~t{PjguykQJ?8neWsiB6*eG!etvCD zeS^xT&z$Ejo?fujEG<@L21gUcwFNbmY+p`%Ol(GpC-1t#{5jI_sEk~9e1?10Ecb$Y zGsa5s$$2Fu#f9#fu`Fd{#<=+8nRAPaACfcFsO0hS$ukO-e+jZ`O`gD=S|I3k;8}Ir zs+w~5x|d45e)z_C&B5|+o#m@g>l^OzOP9?KyjN41C7D$oqC0RjK1OPqL}ApcYL-p* zHA?YKo0M23dWss$?o+HK?2O-E>u2hl1HsKa$7?cu8X6#F}NQlBHzlONEV-s~R@UGh2>alaw{Hw!2|Dg1bx8 zq*QZ7WtZ}c6-`xhYS&jZ-&|`dTOpP47~@~nG`xEAf5E7(#Px%(o#l$|o^xxR&%xqf zD|K6&&psxZyV%`>U9;^qF6*WlLtl$8K!Eh$#oO)OG=1{BlkJHf>7*(r zM!(|}1e=DfkQSJ2yZng8s8zZBq4vjDFe^hb}dE=(&lo`JL zx7KfoZkIhNox?__n2sX8T9s;YssVqODZr(xI;v;&($`}@WS&7?m%9h3r_-kG@m72M zg-vYHfb62l7ph`TZ`ByY)di+Akk z=?xCwN{7dkRTnqY*U{LZRvki=p8CZ{37$dIx4m!o zUNO&`P<{QZF2#LKp|^bbtLiBQ(p&Am=7BL&4@_y^;u`mK^7B(ZGEGr`SFL;qX9O{c zf0wE9Wv@z=wXuISeQLHZzWy@LP17wEm8Nl!<+atmHQwJ}b==mHTz2)%v2{}#esg@P zU0v#IlPaX#{bUboXv=ur{JZG!^6@BFv9F@R(QyA-^)JpSyK~Ff z*WuO2ZN5SNYJ}?9{G{|N*0j1xy-H4s>py*Z#r=uuWc6)lTk0tLxzsGrvR3nje^ctz zxZUQ-=I;C6?srVy5}lydn%|DeHqY|aRcCw4^J;7{+1{AZ_GA0Uy{;Ji1JAbfa--E3?8Y{EaeCdhy&vrT=XxO0cG96E+DC?E}zxXz1s@ooUX2%md z&JIoAVfNc^ueYm(e*fqrv%FQFf16jAtzTo4;sbRfD_%+2pRE@7Z1v^-s#8ZMO|efZ zZ+l$rDbJ5@yHTC=+2`zUmO1_N8=J2rj8tFEiJe^7 zSk)k}Gp%h?3-Lfl@@5x$o759<`J+y+h+fY`(^q?~Fqv<>u@1tRfBCqG8|}V2kRV6R zlae++pbRXojjOF|ax{%1scpr=6Sx=NiTtjr)sRT)UD0Zjb(j#~*wl09M9^aDYA`gE z7^RiP7B|*n2|1+XZeOX`W-}i>AcO23Qtz|9Yqql}Jn}f5uXK4Kb2klVwXZrFA^AI# z-<;%*l?T`pZu&!Ff8NZ867jGyyH~YmT9XbJn$`S*xwe=F$yPDQM$^^d^VZC@)eK6U zxoUEC^_+yRr>-qY96fVY@5(Y?>94vr&heJ5jXz-V#IHJFIq=|Bk6!(L@+~Ycf9h4^ z8n29fUtX&EMr7tM_ushA!ESZfM=ZBH^Zw*DXH7Mwe?^b`T|(B4zNiajS-IE!hkPup zVr#pyWAo4NyzpDoU~jv0ApXVp)~lb1dMxU~<#Ag!Y}wGYG3CymF8{2&b;E^+H}ouh z_P&m|R`0Xd-jJ|My6{}TR&UCn2M3Q?GG@uymd3Q!-N|hw2Y&wI;O?E%YXZZV!!Ar| zOt+=Ye=IDW+oRMzp{mctPx)H|J2pqXZ}`OAlW8NYezVl_!_oFEwZyM(u8%I1d?k`< zFLX)iwR^f!?HS4tn=QYf?2c;3R?~Y)UiqZ;n3CUHTvK^Wsgq9(Z|@kYTo})`jNU3e zE|)k;9M?KlZ9l)%vD7ikq1FvAQ0CsdWq9U2f5X|pQTB0Jr78A?vv^8szvJk-)Gy6W zdCeSEemCRkiKfCE`j=SL&&TIkD!ip{EwywXywP&sv>dtCa@sOd9lsM#WQUO4gV_7= z*_T$Ao!)Dc(1oQzRf}oLQ#K@kkAz^|3HJbq!C7PNu63u)ZBUZcNlrGRxa*4tGakA; ze?I1ZmO1m}n}vnv+jbuta%@QPu{WRjpul=8^{;Bmkea~W1F0RUNiTH|rg4|LD)r3Z zYvr}6cc#uf0;Q}Z)$7meSCX23_qmc(*Ha~_qk3leZe8P;nmRQ#H&x2r>0j{5vN7vl z{O#EGtGgD}?~%qr9j(WP3M-=Ot>Ny*e+sHPSE}@cQJRlXWManx9Zjjzq?Q#@i^m06 z2fckg5`9{8mv-KW^D{_yBRz`r5YoL!KSa6@X$w*d()~!Jxj%sPAW}2ZHl!aR(Nnn} zBR!1t6C~QjK7zCfsTHXWsU2wt(oUqGBK-{MF{Ga(?LvAS=?SDKk;v*xH15&Pe;qjQ zMtTb(Jt*j zk={r80O`Mx&L9yTAL0B761{iwf2juh4Ck|2{!(Aid>eQ(_f;nrt;Q_Lv>L*bWT&J! zR7g+NT_Z0u4I=63t4WlWn-)s1%5T$xW?yE#9t)b)KHJB%g`$41PjyIRtb^r#c6@N5 ztd(w%lw}a#h<1TRaAs|Tny$pfs`4I|u0)MgbE0Dtr&nwmLTlpM<{#cQf2K(pa#u8L zm5Fs~CsZr@B>RJ-rSyO{E7|Ry)n!<5*t&ofzE+{l(I$w|E@(#Kg3zoC(3T7HQr=~S z25x$Z=A}F-AdSG&W`BL14-;u~!@9A7<|Rdio3Nw2b>N)YMooswO(XTN%PmTmFLV=-OH=DD5q)1(n) z)~i#~y-|D9q`~=jAGAVW*-+Q@aF0w2cu%FfM=FI5=M8L}jon!0ew9$9%>$XMORlm5T9h=J$JVb&M#= zZE90S6phb^Vk|A3*3Kq2v42yNd#F@^&B9fG?C&kky)A0O^c~R?CU`9q3ftM0kK5%d z$C<3t+S;pJ*3ukxPHoGZbuMMjm;O~nHxG$crf8nfZh5*hweIXn?^W)R(Qa32r@OxVMn`!@YL7BJ!{lanjLpfr!mV~s zR&#Q%oN7KLmn5c@e-+aa?~InrqjFR$mZo#23FF6)9Wg%LoNiv`OL8t+b=NKZW}n*R z7^jZo>T&bfJKl?lr-%^RfRbB~n7}7m6$0 z84W#b<*Bk3+Z6SxuhMp#yQ40gP3auWQfDhUu_q=zImKiB`_wC{dhYC=sy^HlbFN@( z%m*XtDt~cLX@A}sX_jki{Q2Y8fB0B=N@k8Vhy6UgE@tQvMrNh*L`Pv8w<*=7I+Cuq z<^3qwlFr1`ns(YpbgKNtx1X8Zre`G6&y>M_Z}JpR!kk|ue{s_MYqR~P`L^+?=TtWP zLRPHEfdAxDaSo)b$l{|sX;qTu>NcKWG}LQ=n(a=CjM6}5j3L~0h)N?X(QuuWv8+8cgi+PGg9vF+ z!7_0y6vx`cV6o)QzCtf+Uc)(Qwa(J6==jc?V}ICdJR0L6IS$X8D&;}Aw3SDsJ8Px~ zP*d4qnKZgec{2WbMl?pcM({|u2?yb} zU~GnPf5veSFiUu5^xbjOFd^K%u&h_gm;mfkiRgVn?!ezlnfM}VI*&KQ^_tF`<6!80 znSZzFFg$e7z0})3;_W$ajt{m?a7kde-$Fh#65!i8z;U~9N3WUuUQpz}?Km6DCE{8s zU=p-n@};p~p}RMm$Lx=KfF9W)Mqg^mn99(P^X4H~3+~ zX#b~aGsriv@So)y4Q`D#u<$!#qc7`=n2Y5YBqbhZVkUf>kxbRoOz^PX^bLwe4S(dX z$9Bp4+YO_?%aHFeJ!3mixAfY z9!2`1jyRgjA`S72fVr5r5!{iKU)-QDP|*MP=PAN~b_61Z*6OLyRDLj02oDlAPrvZS zaJqs8m>-e+e>?aqB|!=F4`gg8OPFb;r!`sE7W&3}3`)OCVgC01zm4h$$$#ny>Ishv z7770Sz+B*}%(mNw|8Kne0sr6kfd}v#AITGVC}!g~$9oK3eHfSpKL&k6yhs1sPHla0 zX-o}2YpUFuMsYp3o{(NoM{x1(lQ#$7e{&R+Hf7iTFnRC|~%HL?fX~^GV$lq_s=j4aVcNySG z2AaKw{JAR)bQ;@b$Ty{h%6JWJY%=6eEHTjRHSna&K)=t>#tH+xDwIF5!jLzVNiviv z(u&x$vmWWZC3Gv#(LPKsLwVy7$*LgUN@Q$^ri<%3iUq&LPUmwBL4PZImhU0^?k8#J z(!Oja&XqFN`v3Qz|8MO-#SZ$AoP5#l82cb?=U<6$6!pFD3rd`;mG6u{Fw;&~!akXN z)K|*uP)6TblhxoBz7yWYua-!(H~!j8d-fz&B9V8;R(^%>iBY!2LcSf7@y6Kzvx4z< zi$XpfOC<8(=rIW!#D7QF(NnF2jY<<9Dn(@~Wm5IU4*hYl|Hkm_yW>v@w&{@k3AZI& z%5u=pXgS~|jh2H{18-E+8nU3Y%0-}MznT2py~FS8yZ^r}Xu%Nsf1UqZFRH`H|Lh=d z1%AOH-JT+NBkUYH7l?`joCpv!OC)O!_F8;q&ws<*7k7u+NOlYthl?3M zAZT$aH9!Z3*`e})QMW^pC2T4?DsM-59mc@Oa9A9N9hU#h@seJRO#Q4;@alo5hNCNTwA_U%hCwo#l3`vu0wN z;OBYs5Ufx(1Mj^ivT2?-MMHh>JC6hv;xCY~)$%Ah@xuoH#I#-p@GE?cT@);(*?ZBE zy{JRtzJD(*+%u-a{pHH+J+vM=D6Yyp0*K6L-pY(5D%KJFm3TxCnUS4ShD_3rP_0D2 z#E$U4#3z~aR_5bQ=HpK0-f?9{QW7-;+aNN!9wENA4pzW*2%Glv+vpLO!YjTC{{Hc{ z=sO_|HOc4igI@79==V>r_}VUn_xqw(e2w<~(|;?z{`&su6<=w6|Mcp5td5z+!ap(| zCTS)-9vuw#>XM`vd0mo_irgxDFw45Qd>#lFJH6&2{I+Xle!{O#lY7lhKo@CpJOmvG z=omn0D;Z~^^*k7 zbmJ^mKC9S)r#)lCh6;#i}O5gHa9p(2)OGe@TxTbL%0|4zlW)RXB9W)%kZxt=br2S+hpvg|b)WU& z5v`1eWYHe6!V2A;+Wa_g>o&u)Gg{S1cgp1)CyiaS-)kc8&F4%i*5I2J(FaEWd4E|U zc%|&(B?%(tXgV~P?VP@CvVhVYUCZ?uqV`JeO`6xl_05pheGA7fYAxYoAf$m1PY=o2 zoHo)rblgPGg$sRa{0o-~WECPEis~F0tW#jv3k={t?*%bKhoTSlKFZ*IL_Vm$=9mUS zQzIT@oCaHI0tIyE42kf+!|`v!h=1T7txa~WJ5s(xBA?ZIUEEK#iR#)WQ@%tZ57nW5 zP2hZ^TBvrqpYEoTR4!;U0QLF~ghu}3e5PdZzQiTyP#v0-CE2`JCRrN*{M+kLb!d~! zy^zaXpOQ8Gh-#C$79?}s6nW64YgIyf5_(q1G(&qFanN{?cnf9TD>CPr%zwRzLzCi| zsNK+{_+M%_G%1ls&1Px9#K9e=;rPGr(i#@`XB(^&{*HNmP$YXIw};Z@K{gsiJZJsJ zTnJ0(-q0N(SZNST=#Eewk*-Fl_hBtUBKcSo4H759ElJyLc&9S3P;p`wAu+r=LreFXQoI$TC6YDUu=CZZW(f;=df@o-ClH zSPE67p}aiBZCj?43gSIFT`)mhba*gQX|Hm#c7^H`2V+z4Pana}!j4XKv)M5@<2=oc zoKDVI+&~c;35BP54Tn25EP{T52NWynr@H6}#p_$Gkfj*^gLE4Cr+*XN0zzE4V5E~` zP|^6N_;R{Y_Fj!nPxCrX$MG;aVw3Ms2BNd@|C{Se6mO1P%oiEoxyB$Kxj1yb#3tXy z>%;Q%jd;m-@_fuM9d8{75hN=3f_pX|l4^K^aUunusUN7EY=|ou0MpdwAM$#8wRY|z z1q_ECzt7X$qO<_kp?_Tu#iQHG@7txpDLx3@r#3&t;cXh6JZuPjBJPgb{3EjSmjiXNB8)4aV;|A)rKmvRU0b7=SJ@hm;fj|%$3#)YT3jl(-Nc&NOHi$(iM&W|A7 zKUXNWA=eLZp(BhgS2KKX05(v&PmkMlDlkvsgIeP+jVY}QTz_=d$kkz(&+|EEy*~us zc(AWalwX8zxP-?-!X?_F5Gj`^?@>I|4_e)#yqO+gMJ#WmaTk8jy*kY_uc&VNO|pQ_ zH1?^zB*Tu=V5JF-Lta0J^ION)!l43_u?}Ni-vR6O{WJ9wj!w{`L)HM+y$#@}jK z87GA0KqT_zPk-f#v@`kS|0XmIXtLG zpND$99fEJdy=OI~#&{f!M56{b#^WH+aSd+7(}MDQBb46-xISNvcsc>!bP4=*5#UZV zWPTW&zapgUl0RX7r9mlERx9&^?d81H%Ik5UsJ#=>UVoPcr}?jH{2|ap`jal!3xZSp zK`K8~3`2GnG~cG&fv>1%X_6-t!;H!e)5=jjZTPLr6C+>u(psq1Z-gHQd|(9l8Nh83 z;I#O0B>~rrczA4t2;~XXYmj4lyNiIQ+aPyzI9?%QMjK6ou z3zapjLD`@*E1Q&i`i#3s^Qjy7BF!g?s}O14P%MQ=^M;(oN18VjCn3_jA=<;|O)&nJ z)-Ziuk}r}nZEe!qN@^K->Ifj|uSx7hUgybnEq`CCox3%iK{b@&G(hnuPZ?*B=(j^V zf17?J-}M8reGM<$3%FB*S3?fWS4@gS*`+*z7+t#DbDEAQG+b_UYWEK`)N>rLy$1b> z>Nx`#)t_!Cr-F}M-Wcey0Y>*5%WcP42$w$-wQ{syp@aBb1emVp>wNG4M)i;_NH0fT zgt#qWOo$J4fYJSWx$W9-hv7bo`w$3gSAQqLkjRRn<0lq3QaMArJZJ;mZ!AY%lW6}< zhjAP+lwBSHPVpi<5#Z#-X?_Ga;Vq2-uS5BX20c~<;S~FU=Hj@pb~v?m=<6xPTcG=m z>>URGNf(7byTp6H7spmRNsmOo>p{WJ zUW7F08|;j*@umPy3l}9SLuX!>mgfQ#`F?<_hB6a*UT7?Y$KGV+W*Ha35x^i0A=HY( z$^edTiPHn9an^DgP@V!actrU=@C0@pTdv`xe4~~hg4`x8Z$-2N>R_su@_!wM{N4yS zV_=f&)XLbBJf6pd+GIB2f_%l(<7vYn0GL8^@GHZh&_~Lr0 z?cAus#{gW;kuc@KdoboHPue&ReXJ6rxsgSqjg&qrPeDP*U21r{;64jZ;Y67Pgrei- z3Y4dM$v~n9=V-jBu28*s+Sn$AlaMIL<`$J#V_8e7fCs6o7?zJETV;itKLT+0)l?r?fI z|83leK=ceE*+r|Ov0eH+A~?!quz(2Ah`NU00}(Q$)A*#hQ>W#Lwt&cUddQ$7`no@B z3CGXpi$f2xXdMB^yJV2i%Xf?N#Cb8tQ9cCe3#>?66`fA-BtryB zL?9x*LXyZp`GIUQ54w!JjRz~z;Qax2h&+e83~(|I=;b{cocfwO>kLHqskfNLNp)KJ z81zf0q5N^mhm}u&JK6U{83fkq&(4T4efXJxwvz!s$bXOw#v^cr@sQStflz!&PaqMX zQl5{o{)~(PsFy}yupbHMM8NeqUL?v;k)RSLN%ROn58gvgAW21|GgZOQC{1T4e&a8G z{g25*)oXAM&fEI&^&c9_JcYsu+@XbUpx`$uu9MSI7`AbJxiXZkP~5HxI8`+Mp2Qb* za#ko3xqn=&Mw#KPhP#ztNHUwdM#+T2{}l3>Y>9UEC@R|}yIr4f98_)}$Gr;F&TKlkS_u(<091O}jkf@I{g zY5tWZs~YN7HH>yITUK0KsoHOvUQv|;N6tuHIP1YX z#KVA45F%MpStEDmN+AuZ!TVBqE9Xrk`rtO+cB)!0_ohaN+jR%$H}$)UrV6^&z%?i3 ziGOcI1^_?(biE?dWd8vj%)CQ^<*{nK?&0ox?DOXfzRag{cQW z<}O|Jd#S16eAW3){5^x~6fCJ5XW|2Cnt%HBeb6Xwg1?qp|6=vU9dG<~&!2wz1yMjQ zP_5kMDc4odihwrG#E1#6kDLbwfPb5{ln*H4!l-NZfAZ{y6bvgg)>O6-Zb8>zd=KVx zAVzcMPIQskRP@g}^bfRRgjk}xZvu27=V1z4{Pu}GAH4J1o$W^tzj*GASDyR(&VK`( z7aMR#4DX2pr>NsHSTlmgsL-y2lX1e}cHI*kC)Dmy*XT98eS)JxyQv=I%pm8eyD)z`6V^01U^>QS5aoZ3dgg=g z6oBbBd}fF;^9*u^`irJ;-~OV0rAMFJOk8*8uCL{AT@qdHbxy{hdZNO|{^C(_VJ#i=0N-_UwJcimwvqW#-4&FZD z#CI#_ukNfk)DOm1(fAe4jENrFu~0i{XHDb14(D+C>319CIQ`Z8xIdhg>AyquWbp78 z#6c@}7m|&x{1x1HMdZNiGL!wbMbX@JFHztum-wL{o4W^O^kmdU427`*-`7I$~*;qh+Je- z89gi+53-?(I*4ynj|24(oOq_s51n73c|kgqaB9DV^NVz;?Od*s+;zK}`FP%mUVjgJ zgp21D>0;u3GQ*PG>p(f$CD4vf80#eai{Io#8oE>Iss?*Ji+?E*ZlqaZqi`e5$N?!i z$23i^X9czXhN>D?Ngh4n0MJ$qADhaA74@}h&8*tm2FY1cHh+b$oUM>5u4AL8Imo-) z=-KQO_&-*bz&Tm9uRh-jFH~|a`4UsJ)mgPah)Df2H3)`GRM^=2yfT;89%h$(^X6s7*wQ4zhA$yz5 z(`(r3+M9h#;nr+jdDG_Ei)wPl1@2B(8Jk{lPZPYqEs(ZWH8f3Vno`1|{0!Oy_Y%$E zCYpPRp13?drs?waa&-F?bs!uf2NrBh$X{MiL=J8rDt~Wa%8jhne{)%F?aia#EA=+u zB|}?P;0LLRlI4Xd>g?q{UjwUmm9k-YA$O!-84S>;G?Rp|KEGFWU|48eNi$b0zpiiBrHJ$ zlF3FOKz|?!iv*cT@{$ZpW`>yof{G@B&=!?N>(VNl8(I}`|J8+n2((%OwQg+{#Jbc4 zV{M_^exLq7zrK7j@4ma7d+xdCZs*=}Zbn5@1e4dJ85OWKmRDw; zegM6GV{N`K5LVMN3jKL4wNh-6C&3q9s{Lqj(^HwyV4XBUTJl_Hh&Ky z12JE9vI*;j%}PeWQD)=w`ZrcuyIr*G9@|Z(r!FXLRUP|1&m_JYH+c64?-wmi8@|W= z(H~4(`%TZ{lT#rX52hSCbJ7~VRZSyKEA76{+2Rehd$Es5pkcRh*8 z9;wju&^+06G=6Hh-t7uBrKKE;KY!MJUQEmFHzXdLz~-isn4ISF+3EVyrLEO-)$p`{ zBPDOd=es}Hnh{JH@0i^ze;&JMt96POhSZl>9`9Z6ku#+e_VfuGlw-EnzC4l=lT!J< zsc`jz-R4naV}9!BYxy97%{2eTzO!%Pn?I4F(yg>t85^NXhbaVx7bl`*l2aY;9J|3z8mjf-Os^`SZB<+~r+(LWu_GgGsbBNo^)bl#box$Tl|gK*R7W8>1EtQmJ}K)J@T z#Pqu9y4dsy*BuEhj+F+;-G6cu^G3TR$BF}W;`WHhisQ z$4K+9b$le(t&6c#n7hYCR!%rHsSnEB?;)}hGxS6Zv`}zR`QJvTxpp%GMr@^RAwu94`o%H};UH zOo#D33v7!|5cAu>5iS0RBB^uq+KyXdwwgw6^suiov@}w zk}i*|?D^4met-Wru4CPLS+_{b<^%@~KK>|8q|^ufyLU-}Wvmy^ko=xT6%vD#=yXa+ zk=$us^a5FN!{s@bDwm_bnYj;~QU)8i*lO#6n{FE&3o$lEuL(i@vx^O<*HJG!y98GECFz7 z3CQ(jX3P-z1$o!3mKpK!N~|3=PyILCj6p}jpaT*v9Bx|MYpoS#!C_1_E=@@u-kj`& z@zXx)kCv{w!*Ro<7&RnZD!@$jy6V?nL}o>shgRC@{)08cQi}4{W8Rf=*TqF1X;4zi zFif*H4S&UOxK~Z-NmHu3hqjE{lhBiO^DmpHm}V%IFg>48lO@+&a;qbA&)gJDeDZR8 z?40SXZ&(mFP|a_x`Q56j_>{s;7q5OcW6%Arh4{cy1UKLbdqoqMm!t(>uwV7h<_(3>at3M4Q$_bfgZC@IDfe# zf~&cs1H*18(TO@^itcVPxOXu(+24}CLX3BT{~Ht&Z$g92=Z?}?hRF2DQ&(NcGqw zkdgIHE(@uSTD8XKk*p=PNzyMc@lJF>AZLRZsMiG*YGY9H;hvoW+!tkCs$8_uwImz~ zG$wejG8dS#G^@ei;n)f8p?^@EC;_(`d=BluU&DXf|G%+w_;35~Ow8}=7yf^2|6~4h z+CS|7(8-XKmf_Mcc0|OEFS2qj$3D?4vqLK;$$7D&tdEs~y{wZ=()Ef|yWM2QF7yS` zELR?+=?m2#)kG|Gk~~-Gwa}`>jaTAgl#txZX0i5&ReG=v_f{!EnSXq_64ytPL(Snx zE$#!Fp!An;Ga2>@15&dOYn?=_d4?!gN~VjeiWlI>noG*VI;;$(| z&-be0mTYDg4>9Jw<(7K!uVOWVJI)$Ck%(H0kZ-5CF@4O(?o;UaZ`@KGkHjGExF`C} zwiZ_Obz|zzKpG)@{)Ahya&PZn2Ei@4)Ve@O{qcKl$sWxUS${DgyAfN%gyYJtA&nq- zQ+5o?D5SKsn%$V?@n7n4WB!YSNLOt_Y2nYW%W|u3sTGiZh!0q(>x=ha#Tv_bF5X&0IY;}i zCWB&tg8t3S4y7mAb;fSd7r{~+WDw#>>TPiM)7}4F|9^8@=w$nMtp7R8mP>Uy?=raa z#_IkX#_4X)c-<`<;&=>kj$CG_M}z;d3A%sgMBUw%XNX^5;FCgwKP{28=ZImAy|~zb z|5V*QW4ZxPgMe*@LFTf{kgw4$uhFLOhI|8j1I{xHxEbvVpZ)ru!`-UM+30Jq5r2cb z#o#vDNPpfsQ^)O?!JSmD`~Q+JGo=LWE$roxsNL@~I{A$BxhaSah>i<;=R*- z9n6>3Bk$vI>s)gmX*Z+G`=-92WIs@{A4XO|D<|TewDgZsyEo$WK^%w48ZE(L*ufO> zGk*|2XcgrZvC|B(gQ#&4n*@!2)9h?Ypc7$4@ZYwW>@sGmeAP;pJ@>KNW3aeL2@f!ji%1~dhV#|KJ<^dX%H-EBNt7T4`)fUn*=61_yxZ;qKaf=V``_XLw z66||fya}KKZ$ZfxI{MGcc>4OEYVypK%r#Jw#MERv^oMD_jm5lBN{Mn|HC7qa)@Zen zhWAO!Ahz;wz|CV3S5mBgS}YQTowOvgShi>^hZc*bn`LsGnJg%DtoP4g*_3jkTz?2U z!6R4%gHln7dSwgX{L`|9;%L?hxoy;cvQ|5oEQ%o>EQ;axE+#3tB+5NUq(;`>U^R^N zXU*N2bzO2#mq|1FpRB#7z``@>KfBFwX2R!8-1#TmQ$;P8a-sB;n$pxO=gN7+3mth^ z@Z#wqE>=6KTCaHu3PZSkl=VcS?|+#C`8w|>$!0ETXLs!1ND9ww<#sI9x#JB$XfgE5 zADa}EX?)1VCzZhX2-!c^FytYG8;R%q(TMuS2T>jNX4x-sg3RoBz?Lj?6F(p&`z4-` zS#N4$w|kjbt-$gb{9!|l{Zie)N-g`X)-XP$i8e)x=PhK|S+o!;AMdFzjeqv&!ou-M zs2SODPZ;4}D)U&kYW>*(e6lM{}Z<^Pem>WT%^$Kl-onDT1^HA0+IT3o& zGNOabq3brWUm?ZMjugG*EPp6U{aetwi}5j^Jp`jYF>wy>_3mOL>JdmkIn`*S(OWhT zeMvHo6ud9DBOZ+e0zR=@Fv_`3MGZ0s1DX)a=AqZt{s zh0ZfF^7}@n8QC3-Z+|MyqqQEBW?>Y{xv2tBPg=%kc1uNXx*oeQw=+woH2Sr&ww8mo z7H6im)_L@T0wa7W7KPR;G?~_CjKaRVz*OY1MNY@Oi!gbYjr>$rnlC=h?%aEU^(D`l zau`HA!f0NySJ}?KX>PWe#e2$R%e{m7hD^-}8>nPN=PtjsjDN*ZVt&8HZ1ZJEO+5jx zY2Me2!%XcC<{M(S9t>1AF<2rc&5F6r-^~j3%Eno{D93hFhE|SuSUK8|W){?=_cFTk z`S3dyJ5n!2$ZfKb{$$&gN=Tt=EE0aZvH1_xHK!oW!8fwJeHw-whaaXQjSwBFNb?m~ zB!$1|qv;NirGIQDNo$t<3gy0E`I`CgUW9Pw{dq@w?ES$t<27g}&6i?d?rFv^Z8D8L zZ8D8RZ8DWBh22QGnAPMaM(c0nT*QB#`BNV)C?Mt(##I)l`+bZyU$b78O2H|@Yv!=D zTHdAY3~@f8n!ck`O;2DoO}=NY>1I|=67HRSO=D^Hy?-^$=V$w*u4|k|=o`VW^-5i| zR6ea;pIf_`!f1WULZdxdshxtA3AHWWf(|G_mJ5w4f_BtBAI9x4t!(zj>!0JoYo6A) zg8GE#hm136wY8C@;rD>>GIHLyh1oGKVC!C*-SBwlS00a<`jmf|GtrknEC;O*$`OrY zI+iPg<$uPp=Q(q{sZ_fdK2NZc)2PYqbn`NC+}2o{5N{QF+Iod!Os)Lih4Bq%#Q3NI zV?WDzCvZDynRpg`a4uV0P%qoD1<)!ah>}om-GKK=OCF2qhMSjEv=xduhsBIDm*K7V z<+N_1m58w~Czu3};ILGTSM*kv%f4%Yzp=%)v42}*?qIg8pE0a<`D`&ZcN1%!ycf8G zg;$zgXtM;3*Y2NS58c=+)Z@4+UxiLWoDHnCFSfoYt+qJveF38)jXI*Ie4C8~8`zyL zi_W3nd`jsT#ev_Ra~t!S!b+syqcH{j=2JND!B@{$7G6`soC8CHiP}?o=NDd6NWqG}ejKWVcC3pE{0pG;ev=LZb}O!Hi*mBJNxv zj=?=M_-!|5Gke+O{wM1b$D=&?Y;`1J6MqD(G3Xc*jGWNTEab*Y7{5F=*>D=etl9dk z9s6*7%pxe1?tro%%JzJ=%6aAxxPma^^(bgX!rjx`%4Wtnn^+6r?c($n!231g|9ctN z4`uvE?LwDEh!Ka&(zw)&q(?l411{cnHpu%lc^mn0c}u%_6muK?n&p|8En9xeib=bDN{ zm0s~AMP1Z)$;_4>Uzfbm=q`JVyjkFnr?ITjnPk(ulK1!>7^s&xH8)o?)rhH~^qOCBY_p~72=dD>Z zxQzUu#t@=yJnr|qQ*NoJ?l)tJ8d}a&rB3ywt*LyEzee@7-9dY3%zG*h;lI6^wipHM zg%41+g?`dZtNqHip^(E<8(1+--+qD?8BJK%EQ`EZ&{Q}HrS zD6A3|fA(UBj|g`AZ?WTP_L8zx+iog>rmoiTCzQZu4lnWsX@~In*9dBmlJgBd(=)Uk z$~^KyA$IF@KSe*I$2^l`;xcFWm4v-^rT>FYeDf1~px5!4&93ycJ6t%7!D1Q$?90z6wAntAy zUMgU^RE&>aa1d=+;jt%rV{?=gY^QksucNf$H1OR?mBgZJTeYjOxg5)Vh#sF|w^XAp zFsoKWe|(B+W$}_gM1AMaZpmz}K^+VS!@&hQeXG&Z<*8Y86lvptFL7^?s@7fzLeQo# zv_DF{eszfliP#2e&wq<(Z+mGqlpAV5AK12N2+iJxeOHqNRgyn^!1k?KmV-fWY{oM8 zjj!?zmMcitR)n`tk3_Mu`5 znWQ#tMnM3=Rq#lN99~y`1QZ54mX({qj^wDYFo(CG@-PeX7Jrl;fWwR+SLVhGHCNUx za9JfzvwPBMcNwjWtDNq5iM4|;PPZ}L()w*Ew9O2aQl?S*%g^YGIJJm$N!L(hO^=i` zVg9<4ogWA+3p2%-Q>;pv`Uv-UV;I#r+lXdLr9Z~LJh49sWO$C{Gf16u)90-FX()i2 zr#j?*G;}GiCVv9=Y)#p-=Qbh_6h0fWuA{Or9iedCKz0s6_4&dBZlVaJk=Y#_Puu!T zE7SKTiffTr<~PmZEu1oE3Y1i&Rjh%ANpX}NHP{E9jngnBrN>Z&^je!f0ZN)LS9%mA z8MTP@2L4)>MPs(MKaU1+@879^g%%)%oY+fPL-!A=e}A{np!w&fx!YdNk}lUfJ4CAcP!p<_>adw&5siC-wprW@o&d}68@nbAoaw5FZ}n` z(h;oxK7arD6d-oEw~<;fXAjn7|8W`hgPM9`y?XG+tRZqk7eRCdY`OrwHs7ahd;qG2 z%6Q*{#HnzEw^mX|1hueJ7-2O&n})8p82$;=2!)PY{iAz{(JM*6Z4^$cSR~R+izN02 z)CAU=M}ILO>K^kY+&0GZr0Ts0gP*M#+X!IY1%Cx0Ml zPmZGIp62r;l{;1Xy~hw3~v>I*kh8^=MNnQGmW=vHW~#1W~m8o=OU*U-l)B^sJ(&c*0oOBHf@ zSbsgHTZy`NNkMpe9S!H<-zFgwEuh3ts`j%n3*%8Sey~n6Kj4pq0=_$!i?YZP4S~>p z420gpY(eDb3WRFa5c6(bFTBkX_b!ht_o?L|5+^*!>hYI(!Vz`XT_~C$wZ}hGtqrvA z>flxBuMK>gWk|{K3BNMMP)W;ceCmOxL4QRJ6bS35<7wz}m#Vc_TnP@-ib(;L7#?}O z$P#KmWk~nzDd=jJ7J#tmuf4VEB$XKJ!ry}dqjb{!KYS9?Ly=`P&1`RNq@fsu6r|yx znD=dJfQs{Y7d<_a=mvd_bw#nelnt9g~fz zjEbD~q2CZiRyzKQ=Sg(_Qai2M=?uqqm^l)Uj0OqyEcs%o3Z~19S`Q;}O0=khuEV)$ zJ*46kYX&qYQl+u@&xaYfDx5zJ;eUW?J$^k>qvQa5uSBO+!wAbqNF)9N*lp|>G8M6E zSjsR$>u}7~!F2jO@KbT*wMskRD&Av|Z>Hv3DA88|43d@ti&=mamX;uQA7Hrf4l~%4 zUjWb?I3*jzpO5)^kdv3;6OPi090SfktsLZ-{V!1~6L=D(oM%O?Gtp!^Xn#}3FjrA} zqI3WysKSX~-9Hl=DOIT1IiPnTXp+I)g~;0}nb3t%94f5x**W zG@5vg(nnCDYQUHd>8)7zn0OcQr@)qKcXhl@ZVSl{}S)|Tn6w1+J z5Km+QKE=pqbaSGGy5J&OovGGKps7`WI-HH(fa@dfb_^%$dA>5D*<9AN6~qO6s` zPDLA|ev){IxN9ujynnY6wN(Xf4xlEfcdNqre&YXNv>&VjHOjSqj!K(>@FwuenOpw9 zLKR6mmQk3v?&tvf4H=62#;Ng7NLZNBy=;nEG1L7_7*@>1_?H>Ep8h=Ylz$D<)C$P`Xk37WA<%dc zdIst_7s1dq@#tvQigG}yTGVI_;0;r{P6J7Bla>!j8K+~UB}4zZ3V0?1o6W#d7g`OV z#2&b&5r;92@oMWV&+Z_}C%&DF^K& zEZb)i=pJB>5Pw)^ItIuH7>9m!5_H7%LFG)bu^qLSgPlZRC)){ZH}G8mw3`eH)7VZR zPq#AP-u`Q)bIkVkZId`SH-XE^<5+TV9LusOmZWM)UEf%cppFruy}bg*R8NoH-u|m0 z1QxOufF<@IBG8+%p?4Eyw_-%+svFI4A9Dtd*a72=Mt>^Iz+(b{rD^Co`;nUt8*PJ>178_ z^!n!Ajl%!QJ7(1n-TXx9bF(Lp|ILD%FA@H0=9gYGcSTbELt8h_cy8m8Z-xKdm)ytQ zb2gMblj*Zwzu-ic@TYeU%HGUae1tMow#v;{(0|AElDXNAl|N1&V*P7LC~U%}Lh}fS z9TK1`ck%;T(9ibzGe_@%AeA|@vtl44WX{neo8UB=r+R80e~hG|NHY47RLwQ!QMlp= z3{$zQiM#;OzSYK6>27fYhAppPdVwp9q%pRs<+St<=aU3Kp`yVX7P84}j_YgF1%)JP zgMYlf-#bxZM&>6FX2c~FU`6L;w%49*apNdHWG+~pc_AtH*Xv;=b$LrYULQ&Ko`Yzh zJJ%`-3Wcrkp+`xMO@@rP9ivZYNA;~JQuzLtqpC>3l8D+EzTrqzqbeBHj|x9s7uA~z z<_8)fbZ2YIF`r^h2{|WqF~VDoGz4n5wtwnSbY#0>m7ciW!J@mMyM*l@4(sK7piU}R zM$cCuGl|z?lYKoc?gxALPJ+QJb_SAbF-iPd4Izpadk5C3^h{ z#(W>kB{5G)xUex8SswQ{5|624M;G!MJ3A3rnteyMLn~#Te#+WJm}yjQ(kmdPHS6QFx_lU8GkpLkL7H zJQamqU1d-kK({5hyA%tA0)gT!P%L*DWVOHpbUbV4Ndft3bg-*KvC} zFHaY!=a~J=@U>x7b~=Jpct0+yj9H?kmUZoT+9yD}Q%zh^2X5t!9%k#Gpb3%9`{#Ej zDMN1B#&Q=AB|=9L{Idmt!ACc}S@mRms;gP&#j z9xA;M{K3uTM&f_PrIa#iyX zHP+2mktP7Bw*xahw6OoC64;!<>G^Ylpzj6RkF7J+h%_QakGsF1^^PsVeI8H`sud=7 zEuX+QPJ`}7Pg?lV=U@fz;#{T{{JT83?KivRD)x~uM97)!n|0UxfjUQrp-rLg_?m85 zO@JUn-%LQo!yj`&dKrbmuAT(tnLcdhv*bz-po@>j3@1#&+G*Lm1E>ZC z+DYDKM1H6wN3)k%EiYY@Qo=}hKlsH9h{y12m3}2#JDS3Th`($Cfp6tt((LwgbJj0v zdn;8`n4P&3U8=}@S!oKF=3MpLB*$i-{7tXmDKgmfbHLJ%TeY>RTWblL*Aq}8FX#Bf zM!MIKU$Do7H$uoMUT8Rkj$|H56-!fVodON3BGSMd6lp?_TW%x5$n@Y$jj~Jv`NK{t zZwPI{+{nsM%2iUW ze3o7?FsEr4=1NQ3^t7W+PALScc$n>Qxn#m&{`NZs6Jp#P9#&=f#Kv=4l>IL>3B@uI zBs@BqgTH-skM_0njD$yx>y#|{&VeVh_^cgy$b#b7Y*3}LvWz~D1zY8lkmo6nONj=ek zsk~taMP9`$IviFq)j=T_gAK}AdsR{hrAZ^`uw5ga+MTgAPa4a`)^z^xa+y5k#5277 z17tp+s@JZS5h3SDcBY3ibuT>GI-3@_A$I5fwwcr#h9_EZ_I^&OY2$vdd3Kyf_vzy& zD_+WWVJWh}n@z{I(pvK`Px-V9d}Xs2D<+D<7y= zzWG>rERl5gx;-jj!rl9VBBgvhh3fnq`ob*(ExldTcVK_aLi|HO{5?|L?}W11H~;ls zjeEl4d?u3LuZ4CoGH7pRtNi6Kc)uQX0DklxcYbdJWld!kd?qSD(BgS^I8ec_@-z)^ zVOXJde@pfvqeb?@8RbV@czA&5eEY%wlS$Ihp;}hjpYqn1-}mnh25v?!*jb)iI9QCQ z{f$0dwIHE?^YCtPN4YS;1*mr)OaR|iTx-fa1kTnciuO1(D?sS)yz->lE73Tpg6_~`i z1*E;ln^}Uuk2gZj7moVAW7K<9Y_UWUl-FM2k76WS!D`QynN_=u$w_x$OH<&J!}TlbeEr8=&nATPLV|DvNZ8tG%PeoB^li^WwP6K zKanto203>b>as|jETWG_Dt+WG+of!44@wonz>qtui*hlxT( za&*P5(Nh^+Eso$trLbtoCF(4yF-|)9mnp2qy1o9?bbTYl&j`_TStS=6|1S)OnZm2J z&A*6)T6}-E(DY#8*kNLeZ9~xi#505pX7No~^0erq`EH4?GTFuM&8Bg3xB32I&p(OK zVU80u=7)=;wxtP61Zy8>T)+8k{$Ds>mJf7#O##|SiU}l322Ot_i`8O$cajb9Cw9?3 z%#kWjhuUMa%pyK$*L8L4ei$9U{-cFM3Xz=B=wlb^OVZT*246C*h5yURw=l)3GnrxD z`^^5n*AfC1IQ$^cA$jNjkdGsPzH?b_tRB1!MC9t@1HW!s6%pM6zjA5n0Kl?5=ZxC3i_B2x(olP+Xr2gtpe-z)| z*E`CjK5L{tsyk!6^4uDCX1jkBxn*&5e|$uW*v;1>Pkvu>a&M=OZ%uHwS=vhUydskv z&e87FJJ&zDF0i=c+})n*jtMb;4+I}Zb4C_uYU`*f=u!Pf>UudO?m_#Me-W=s4jRy< zWkgay84%$`7>Yz*tKdhi89zG#&#+8?GJg4;3<8r&@6qt-yG)cvm^fx&C#N<_CKMs8 z>gLYiG#wqjB;xLxE;^nkWQ>9_b);aA@Fq!fc&{&Dn<<<}_d4xQqTBAY7HSOPS-u7b z;H)viwQ8rI3AlBR9MN{pgWo-zH$$`M=e*Bb5MVm`K<+y+@84VP?_;6q(RGm2*q<`{ z;?|5mXq>rp83(zh{jgpVSaGE|z5&pAb6bh@Wcm0>=Fg-!I?H4+>`OU)T1z5s0Ew{V zC=a4i&mMMT>anUbC%ouJxcQ6-g#)cTtbM>V*|Cg!6butU#K!NQOJIM=X z#1{!(z8J66NQ{WtS0>>m;f(%1+qA_-%6 z)`wYV48uN=i?vp|!prRVPWXg==<;8{GicqX9$o9hMOw*TFavvCd)>;OBv-*A|FbAn z4Q0`Q*&HWDNK}p2$m4+&1;Axa2iq2eF^Jdp5GA+`@s;BjHw_gOCIE&z~_fJv>{#2c)R z7>g~V-uh%xKM|u7+h~wcY4F_a+EHWQxPq$H;E!}A&Hb852OXTkqAY{!wz5mI=qLl$ z@rUUspk3s0=B|0=jyyxU#k`Vg_~Kz!a(-4Ues4KbS5i5C-hMJMwiuC~=fJp8>kUVH zOY28@wkxO7+cjUbbP=^|8e9C=6A_$Z#jxNve=03)XCTOz zFPr8kjK&Prxh4WxVbiGSt+meiO2W6#MccYq*p=pdTx`!r(qF=*&s%-r?9D<6EAnE> zbG?G7pRG53YoFRjM-V?`TDC0&+I{;bhlJeb$u%EcW}=_$2;*KNg(zi9mE4L_Lv5-A z`_Zj}y@J91%I?yb(!}AoR(j_KR$tnu-V6uT99JyFiHM^gIg9X`vjgVtW>TIVQ6yRI zB`>n-+a)d%UL(dNaH1d{-1^4J?Hb$IFI|Y~#J+y$(y~2N6rpq@kuQvdS3jC$5)RWQ z(Nn1IKPz%h7aD57`BgSlE>%$Qfo~p)mCP?LMPc=&$Id7K*<;PEWKGLreXLL0KDxHR z8x;MPrb@pAn6nv>-^MT4hNbT(153ctn-}#p!Wg0_i_`bq2pdknM_}PpCXTVHu`L zR6*TL^7>HW4xu%s;t8dFQgP~qbFn(+vZNW;rm)cMJ*YGpS(h_jni;l@*32kNkj4__%`;yd zP56;uu(%F6%;T^BB)YJc7#*Hvikh;v5q|zggVGCL(<0QM|J8mTSM873z=<0rI~0d- zS2O&&TN0t2bO0cU9i=g+&6)4PP36bpeUyczwXlzMm^m`ExI4ek8XT+zS89lrMQsv4 zYR|n$>(jc?Z5P|yHC=gV={W`)$6!4V5Bj1+oG1K7V(6s7D4>=5`g&J8SC~&(#Xctt zK=Yx4hFZTkdUg1S?9I{Ncr>L`uCcY-+74ezuMMIyo!H3K8{)l84rRLi*~2pR6{2@{ zee=?M@pNgtOwsY$6Zb8oCr-DHP~I)<$FqsW#5JWXA^A;`oF6?~BZ7K?zG9Z0+N~uy zs{TF-m)G6uF2N;e=e9t0o3XtobwR(thBiXn%@Ek^4d>J~@n}UhcLJ@VtxCmAzIv&> zyAh&|oZ2e94Fo#~H(1|YQ>c~tX~gX2Qe2MG+{ig#v>})IC{&jP!`-+(TcHp5qoJKL zpERr^E8yFEoLsO9aMHlNO>i|146TfwH%8TM7CX3vQ&& zpr-wfMdvM5s|W2#pRv5;TCAJYgxX>D#t2|uH^q$>lUq?}&8UIIcP(&LwVANS)Fp1v z_Sg}Lfo-dt85Oy5o$_ie9S-1zTKXluv>caWjz#3T*m&}dVhX%FS|LFdNgsOV>-?G` zp+m!pCW7L^q5OS2n}rwGzxc^9$(XcAIJL+!wnMkW2L>mh{gh#<_Jdb>%<@vCeTacq z_@8LKtdv;{vu$U)*zI{Ygo#))sa9)a%mlKP2r=Q`x@Du+fE1B*r(GF*r7m=Pz@XPt z&NV-LiyG>OD#>*YKGuR^ZY2#nq<>}v0w0FF!_vtpuzOoiet@h8*pq@^ld+Ft6JLai zR5OW_=BlK2H{`}nx=MD_^Bu6~XCn?w^};x{_5*c9-ern#X{g}4=_|i23ZRj+QR&=$ zi>zTkOCn8Z`sbH_Sh)l=uq;7WL%D<)eFw#mCmI$ntCcY$^zWZ(PtrA*Gu)pxx^Oso zRfCH3;}k$7s}SZ3NjxH0NH=*URUG>jYpe&ln8DyR36r~j)G+z;1;I&*Km>yr?kzG> zFB$gLifbqXZ_zT>W^wx91$l~Q*hethEPs(BJ_1bhN>_^GbPEmvS`Lbjg|2*F+ee-= z7e7=fPxRw5#6b$*DLTAUUlpF`D`Hjnz``>Ys{WQlrXvVwLp;>rso1L<`X|vaRoml+$A7%vrDEoxGSnS zG+!9`H+=wF#Yu6+pWBNID$!ETv_#gd1B&omgF zTxSZvA=Z4VY@HE*H#sganx{5%S#Rw^w_q$#y|*!Aa#O+9oDc$2VG-6B!V{l8)As7; zzEs6E)A$>eFIRt?ne#^|G;%fb;mOdZ6L3qaZMU-?k>6Mv5!g!})U`537r&`PqvAKY zz7YBctrS1J%lr%Jx(fUo?C?PI-rNp?O}3|aEM7H92kX?bsbgl-Wni|p*ULL)1XhCT zns@`^m?`Gpz8k<9o=GW*#I{;-YqQoYnl;GHu+Xv^7bN|8F~*LVtYL>evXQ4!mv^s6 zqg)x*XB~gmY_H-&oi=&#)0h3W4-%wk_Fs~pc+^n*Y?`^mSJV!!9IM?>jJw(VqTm`u z)P4+r_~jYFsie}`f7^F=18&0-(LN$tep?-bngX5=oJt7at*hx$N3JE#Ba3y5g+|OP zA?hX&k;Vhvo(uv*&~+a~DhaqCdl9v=y%2Q^gYi9&!3j<*WGJom$$27`TtW8 zvZnvjy4^o0vT-dF5^xg4bY=-!#zVNSwBVsn?Zy879qFV{?{g!tNySSbi4VYhx`#0u zoG2|Y1dll(FlwWELV2WOA=-w~jC3gv?`#`*^OUV3yd8n{RpD;vH39%6%6h`f&TjJq z_t|6t8q|$P%u94S@m!RPh>Q?-tyfwhEAY{?>EtR$%gD*S9kJvtpU5C zE31*g*(-zthxGzYb-63@j(+G_DqmSuBG0x1vam^=A9TCE!W(SvJqz@W62o}FG1$v& zi44Q`frYPBpe(SMjEP)d>Jr!UR(wFXzIbzMU~szY(yAvGly*ZWnSBrVZjC=JLy*N` z?1C6NYbV-EW%24=9KOx?qMBC7eb*vCOvG`Cx<|~hSX}v>f{%j8Ty%QaP*f`)2Vao& z$iHT{v%7iC$_A_bY2{5phi{Ni`NFp--Mgy}J9g+{x9ZhKs-E@G^!KEE3;$;NYnYs=Q=c zW5PlxwQbiLoVtQ0AOh*2Lol&|eXc^LuZsE!Ac69EO$VhL=c2ZlF<${4QzM#w$HS4H z$QkL5)11gHF%{5DU##a)xkgY+YJ$pIArQ%{tO#M&w%h*cmBfhb*zM4%PZ)cc~bXgJ0!O-X_+TB zUP9*zKb$C}<>|ji#v2Q6=vA6mm=AAm($4Z*te zPZ$%v$mJ)Cjs#w-+HY!NB#{fY5uYEbAc&HJy#xSJNU9Bw9of-=lnL1QfNia;F@j4= z{8)=SuKgQK$gqO?<|-`kg|L>YA<I|J>X|9A? z>BlyZAXR;j<;HTQ`o92JiH5M6v^82uF~ld6%UvcP451v5_v5;EL1ea`>2oas`%aY$ z*lL|FRKY5RV>y?~&(DZ^p62XqDCiRTIUuPT445Fm5LZ2*fzQvOiaR?&6W<#Y3pQ;n zWMB*%2RHEDkx4D(s4xJbqnFE0BeNH)s)8LdYjj>$AD!7RS_i>obm<@wGen1=>OeI3 z1B__@)2osGUC+G16_O91K8=#c;S0V-7STfb;TuAye_=YPFmMrM@)x$h#K_~n z?$;VWohKTJ);ylPJ#S+cN&YcMgO^+s3SPwU_%z`Cm8JQjikeJyvjb-|?ZQT4|RG{T`?H+6Yt) zPjO%@BIdXW)SDNoo^&jhg9035^e-&-J+M9CqCnWxwV7k=4|5^M|%ZxRfQCm8=d3K{+b z?3$rrn(3tW33&unQvQF?F7Q7f{8<4&HcD((79fW5on>YG_k(Ue`Y~Xc5CenyzmsCf zqUvVlFt3GC_reVSTL20)$AIZ1j&c=eMj6kMGm52f;%Id}hHL;ZDE?2R1u9}r8guy` zr8dBU+M9cZ#fAYuB@S|-Wagh?F<=5vPV=v@wjSrYc@WQkZWsUq<1Hq}|4UPe1;BU< tx7KopyLt#%!`*FAo%7Tv>IDWYSzG{0Xh9N7mH>c)FRS&B6}UxL}@eCcvPbDLb85e z07Ux~2p)K(SG;;Hs4k?YJKW^5Tm}bpur3{r*J0M(#LLU%@*7i%NAUyg#ZGJa;!vS26S6Q7)v?Q zKQ2e16Q?uh7{Ms{nnd7GabYNl80Vxnn>3B%&xzEacz44=X3Ch0K+@AVDgMO`N`#lT z*ONJsshqww#%jgCJ99K8r_cR1m}aWHsrMx*1_Chd)30#_ zomo`nmgPdTCVc`~t<2tx0EjdwMPe0e*C+dIC8|e8vdVF*yLPM0JQp;Lnh1O29yZOP zOH~~HgzodBO=!KDo^^e|O#Jnb)j^mt9p+L?9(86I5J6O;mBc-^NvntOP``GLPHm_y z#F4OBa?sWR>rY&LUnKbb*J(A6#hJ&aAo#o+Me8DF=8DH>KiGCT2H03?U(w?1h1p^j z%v5xkaSl-g#e86uboZwSS10jrlttZ4{f*(uW-^VqO7qfLm?eY-ibKM}ygN8-EYJg0ENh1fdPSaRX|6!Kx%HpqB(ZZluMIpmaKW&R3Zn0>sn z5p6R*sonF(YX=?$0(~S&*BCjX!u}i#=SZR=; z!_Z>5hUm1gMy)oZb%p4=kI7>*9yIPm1Ry$Nh1F5;^p7QjYxqjeL2=qv9e$tx7^zKA z8T?hU%S{1y(~H8skb>1Hu|hhHU@ZEJGqxmB%3WBA8^O6`4saAM(tQh>uAp(ZE*O>D zy(#0l0_{2z3f=uN%gsGtBoQ6)SJf8kmCOyQse?s31edVQ%Jx}{U~=2dWhtUOPvG_J z!tSZ3`vZFu?DV+W5`(BeNs7 z=k2Y+PQPHn2jGa#DiMF$`no^L)Z>`9k?8eAYT4bS{Vk~>l%sx=(BMef$l~0?S89er z2ltoplr|9DEZow(RmI;m-b4+wJ}Fe>@o@(cL5!p?ZwZE>#0t+g%5XqTXAF8E#mYT! z`DWD|8KFykM!t*iqevu+?{5AqEt$QqK8RB7LubN=9T=K8^>k2VV*BGYU-fw+^k-T9 zD|MI7{lm=o=fSi0&p*e{$LHohHwJcA4#cz_<6B7jjRzD)H5f z{*TWd}nmGvCdM~vRflY_swnm(!U{G z;|kAIcPKAYS?E@tTeX=2-@}H8g4!>(`0|1BmMrXSZ9*ji^-dk&Hg*9LNV%A8TFae+ z2CyM2i_5nkIDQIl{6{w#7UHXMiS{gsKYvdE!)OINs<^|3!iKd)dD4VkI$OX!hJhi%ymU^j2U8C$CR(fXe@>G4&GwE+EYK|86zUQdaLgS4yOP(-g%g9ttChyt4!#rGLlq04E5 zKzjYNGNT<0Ce2|d!)%Fz-AirX)uCW{#L?ZWe7^q<`BSp=0P3+f=gYn1~gGh&NpBxN%k5 z9cZTqZX)Ndlonx$bs`Ojh;^Y;{WBcGz@JFb^J(l!TjdZ7sNiK$11?z4C1Dc8@}1+T z9lcpE$O50Ck>@BDHVrNHr7RtjtA6K3zDsGi7JX)9pjQYue5U>Q14SG22G)Dx>~LeR z!|CSYE%*fm0`m0*@?Vvdwqd)*3?HmVas81&?Yi1%52}27HL*z|0d`(acMAMo+w@J* zS=mRS5aJY@cKRVjWFs!a{ocNDxp3giotoS8Wi23|KFTpLeBgsE*i}lp_O9~h;Pv*g zrX68v?d>D!f^eRMH&xBbx9QSif*O7g=$V{4cs$d#t=U4{po~{vz>rvxwse?f9e-PM{i|ai6h`sRcxy?cR<)K zvB^=t#faI66b8ScegW>hcro2K_PY#H9bo}^qmspWn%lB{UG%5e1IR~pwDF~(!JFUT zZGOtW23shk)u3WrKX&Cnv-%8nNF-0oi{!@ zls)K#O$63b0S@!;^fY{JXAy2cx(Jy}AFAI=7WiB{flMd30)h};If+aOO4>67nL4o- z+Q_sbLe8ojbTl)BG)VC(#Z1;YA{86w#1F1215!|(A0p^lCBVLLVI8@R%z5FlgvxEN zq_3}+ax=kCEYCo-@V#k1ym2?F=ZI;gN+Aq*H2!Hu`fms`XB54sG$3LF3GM?Z8@$b+ zB<)WO6doc|cB{sP>%Ula77Xk%$~K=zQg*jbkfb4MYf_I{s@cMalOqV#04M>qKD6Bo zj&C#^pnW6kYQG#{cWDD${9)KSA?Uw_LDhVthuM@)KlXoc+YZFwBdN8xi~ra$&Sr2B z*`?Lz)E28{WcCl?44@E#r(YxPwOYaCtN+CGt`C43v0d8A`2?f4=pJ~9H;t^1R@EI;7sM+rrBxohDY1vC^|gsp%YB~^pCuML z)x%MdSjO!>otDpzA`^}WqcPei9Z>&Z-(;MK%)j9SUynQ<{eO8hv6N3Uj-E#ud^bCR z76B`#T8tyaZ+Xq!)mc{GMd&M9^EqY_Y5;?hd2t0OU?OLE$X*kiib4{17%soG)Is|1 zICco5blm_sRg5~|#%zEPijx;VIou_MIYUkQvTk;p(F=(`!mjXjr<0$?<92F>}?A7MPtLl=NixMH_4+rBln$BAaxoVu%mdm zY!vr_QA&^iKR)r=eECvi&@F7*2S|G+U5bt6=G&{psI~SyiRB79*45zi>Cc%XHeC-S zVJtDUz!zhKi;b+0nQ4MzS4+TrarL9mO4lA?W>n@=fK+z8<^>Vf6}V`+kch%S+ASk& z{(7IpBS*-wY2=u!MP&dJ=p2Uq<;V@(IX~($iK~0>V=>bW6z-IxD?w6C#Jw1tr>F$@htC)!NR*F~_ zjpxjOoc9tXi+Ve)$AOazs38mNsih%wrsnT9{Q8d=15V*kiC>S4DJt1pt2{)Xq_*MK zGDGn?*#5jV=SvcoU8>w)<9CkOwo&gUV^fo#8`*z_U%q0KXhEe1-TD{^uiosG-dUnP zxl{o>O_v0WQLcV{1I4D@TmAXZ9>8}Vn{pvqFHGcCejVHjJ*4GF7$`1O2uc5cz$USXvn)!DCXx=2ayf1Ie%Rovz&-sr zIV=K7?V8T&)DC9Bhu=6@fwdw#V{__r+;#P3g{pyIF9%%7-zqs^P-Tt7%EnWRg(q}8rtB3PT@u~>sL5XA%9m;Q%lb*eg7nv~g;Q~D=X4V-j%Q@~))@{ER{~Ar#H3QJ=}(TFPPYdHO`Z zTAyRHMlBu#BoQ*?l_)Y8LF*O!mVVF8|ra~D*qnIJ7fGsD_=*NF3a5Lo) zIGgyi=UC~O7{>|Wh%ksLoaAE>EpkfS{c7@pf_2w8%H8bW9Zgbhc?>9X_BWCJUu4(^ z{ec=k#)H+0wj6*40x}i^pgW@SDfk~<*TaHh*h*gBi=b2Dt^;hSu;Y)M3@;xy7>OQ(UE6J0tMvb1Xp1W zEYdETNNKqGZ*iqnxEW+-N3#TE%ll{WOFw@KG4{v+L^I{@e$EAG+g>3w;Y9I~xr zp-joWn{ayHCBIwzxb1)$A`c_<-E27DTah%4#z;G=?)z3k97Z{R5G-jbiLTb&q8Z#q zv3Q0;-;I&-)41>G$@9ninO-9-o$n$m6MbFfu}(AMnzfN?P3RuZT$Wuj)=Z5}7E9Ib zx?aV(v)Xr-{#GCh^vE%Su|teOjRZaA%IO!MpQW&^$-;+Ao5D0ACQzi1d;qB=fO~Pf^O&=D{75pheV}(3^-$}Gm!#!PJOg(x%+0h; zr>GEK7zNa3GK5hf_|e#g=v|-4%1%&YA#g<@uKX3&;N=3Pv25O>T8SKactztUpaM(v zPoUIHYq-rB#i2c`U75ZO?@m*U>eUG&w`<&Q+B`=dd}4;aeF4u%(2f*1$x!-E;V9FF z3tC2S^F{X59JYBdj^r8cWfQzGR&4f__25o(BM)RfuaYV5re+b*wF%y4hN5lY+f-K^ zJw9V;%v2-o^laA>o>%WB)jdNru_#e6#0^1&PIK}l=wX93EenY?>(vQhQWS-fcK zJpw5^wtShiHT!=J-`OuuGFhCTB5!qT0HNRz!YEi?9mnwIOP_qi-r=ChqWMFTJO*Ef z>ET1eMzRsu5K_5~!g-8G0VTvvR*KD)tIJv7CcHAa%IIj5UxHx%x*fg&&aYWxNL#yW z^HjT*8@9y(_v%DLQCq?alk$!NybCK4i~ZjsHZ}WHW_zjDW6?Jp$$FPK&N@VH*d+hG({6QG zP*)n~Z13Z5gqz$_A~PLk12nq{6!7TY`=>4HA6ZF!13~$JoaJh0@XOK8(!|J_(a^&7 z+y}v1d7LxW8b(H>H;j}QjSY=rgq--tzEQ$;JT*}~@u8;8cS*T4e`C|M^dLVX z8HuE2Gj>JBqAJ~jMJ>;o#pN~4&Z#X{KO2jRo}tZ0{@2wlcHhRLmM);BY_qvjb>gk2 z>nS}8J`nl*!~Mz)sVBR^H2b6OQPZlX>v8oBU%We)|8?;0ZqrzDiPqGJC`R7w1hW%S zofY84DcIsDL>e9*mUYGl@%>zS_=1KK0Le!DTM0W7lN9pfdv1s`*{o|Jd?B|)x`c)V zYrH85cYJ-kW1K130VyE+Gb7R&N0D&$K;ka0TBse>LSR-!0xphAQ6K@X48($Dc0po^ z7=yGeJ|eDKtR2w;MUh1jMv*1~stmpi--2ZpweT!Hg_J?GT&Vq<1vl!+G3>e;X_bg( z^n8eNxN`J8_$+Q=lf+rvBAJbFxmY{QiD@B%1YSG`iH&%9h;gD?Xd}@= z!cP1FF?%7AE7T5lB3CF+%1+8o@)DO3uNkKq4^N)I5c?)j2r`RU=oPmb&l49QK~l&( zt6K=Ih)xqSA3h)4h*ySZfix>u*b#Rrp5K1;rwi%?c@}dXT|_b_2g)Hf4AtE}eo5Or zs_e87ipb>#0uRX1NcmEVwhmdMbFvLQjE84@aAcM(c$8d{h*i=d%Wc(Yv}(4SXh?qP z+oRsc5ZQ7Q!5l=|UH+qUm&UkS!XoUfZQaJrwrsyp-~;w$D3Zw3zVc%z-8^?FpC&M} z%zx+{qui(dsF*;W@M};WcZ%)PjJOE*t5AONM&8x1d=JPyeQqKAG9F79?!n@k<*)ZK z21^(Q5bO`1sc@$_KS$)qV}VhiY%lj5bw#KCn=(=~F#A_|55T%+`=rq;zma#ZNBM{4 z71_(Rmd2ONv@%-7_WMF$cqX|lL@1Q8+trmOOa4y6|JILDOQrbh*B z~0}h_GzI8Z&nTmzq$OM#QxbBvvM_x)Z%WoFE z^ID3{No+lES&Tn(saZcEBVtY(*U@0V`si%|KEfGO7L$~nY8!N@x5%#~zUc?!IU0c0 z86Qy&EeY+u(+i!7?uc~0{xDGUV0Dfl+e!lyQ4H?=tP|}lc!^9oYppz&1@e=aaaNL) zwDJ;pFPuabCsGV_BAdnZ+D0Wh)0+T9)p1Ex@GyN%BtCm0FV3lij*e`vk5*54j_4j( zKe%xp<#)j_;Y4RG89pq{8FGBUx5*oBFh1eu*Kn(`Lt=khZ9*~gSzgK~&_1$i`58UF zcpA17$?ZLH;eEs4F?0*7-nhEa4^SNr z{v&-AGd9dq=)$X}n!02=#9>epueb(a_EAWhc&PsGrr!BO{NvuDZ(Ixn(;v&&#=Y5w}KqhUwdcI*)^2jCqQE^ zaW~5Qm;cv|87o+-c6=j|Rqd-q-zk}&iac_~Oj*sBb95Gmrf8beTks*Grt~{2gQr84 zXe5EUtXn`x?X%a6QtaQfibXwut&*|X2kUn8H)UJ&u^XN0v%<_*S(9vA_Az%=WT`yX zn!t-j!9A23+2?{0hHfbDAEsi@JfFJH#@An1<$;Dc0J(qJSU8IdX6@X_vIRZmMEkCv z(oPkv*`h;T_lk>smdsX^h3%m0rO?&de2*0i7DI^MX`l>koMvAl=KeKM%PA#TOh7pE z_mQ$c-S1AQgPGZ{%a8j(?7%{iIXLDW^IZXAZW~9DS@O1#0*MMO*z?rh2~Pbrb^}&k zBe#rIHz)iXM`oOwTOxj{p7Xc3{yAix0{zpsmBM$qdHMRg-U4vz zl6MTu)*(<%3H3B`L66_6x->bV7y?kSv9xKc1ahN#4?)&XmHnJ?*J0lxju61D5P2Uq z5w!~3Uv+b5NmcK#HyZ9itT^-@YWMd>-*XK}`NCQ8%o9Odswkb7HRm^EMzVL19H zWrmRHFcN>@iM0j+_|XTpAjQt#cENJ+(`xP@Xkhmk7%&nkvM~&mqV(1T=(a4o1_xoW z7-SxPB&G1vit48Q45Eku)R4kAL5>QhEY~J})$)Uw;*$Q2pVrvR0>G#_39LdAunaKGNts?M&GD&(oW$!4`IkAje(OJqsx1r*T(b05^_pFn_J;Vne z3Yf!g%gXRc#N5dwMt&9+(h1J6U;Q`Dq#j{G&>IPEnI!4Uf|vEdPzA_51O>SaotJ&9 zj3}k?P*YUFNKX^`;X*T^Xb4HL=jsvf^kh8e4CP{};k11J(Fybpk%So0h?x9M*~I4q z^u%!MP)dHF;X~}jg-4c6=@4ubndl^=I*L%?I>AyfZXU>tFiQW>OX`t*>aUe=(#a_O zuF~PrA07AME1CL^bk8Ak>Q-#I7>;K!54LFPs^Q3tqZhYC))pxSxAEN~uCi3P~)(SJrh-RYO-E=i;}| z+DQb!OxJQz8m%DLsCSktYlG42Uy81W*7OKFxZlo zaSJuZ_GcLF77eZ8Iq<9#m$>Gvn=W_}n&9={?4o(_Mm}I1Vl*>tIdKWYlWFSlP)|(v z(X~!rM=HC1emO1|;+9n7qu4+QKYF9$Z z{(75%$K;*qfWo8bYr6FD6Ub=VNAu~+j~*zc)npRm?p9xU!c?@^*Wa7bU@S_> ziE7Dtj*I*fl~jWm$Fj0lgRN4sQ~AKT{E02bQei|PWtNxfaN&}2Jj%3DHIu2lu-(uv zMvSk7C8DDiEBRA&uWZ_{ao-uA1i>ovsqxRVpw5zhD66i;2g*Y$2Z~%Ad#;1@ZxIw! zEl!wRPE$49-IfWT>1PMZAC&7cfx7%r?XsTb*<}TjrkT8m)iY2fNj;{h{6v6?U^#|! znq&S$>`A2Ni%D>}>#V5e*=&2_qGPe1O|??OSVFF(1DIxRrVk0xv^EtN3kP+GP+hh1 zg`&*Xs61|J>drkSf%R|dAPPnam5jO(gMO{uVpIJ4q<*`BJ(K_y{CU~AZ-&vNjMB9c z?2E{ihSBpXXj|aR)?@O|k~Y9dnz{N84fIOYwiO6k=7j6;ARGB!&F(g``R@XE#GOZV z!yVY%pYDUQN4tk9_LN+MVG}_m>2-2DWjT;=n@k2MW(XCpIzKWY1SM*5?kKT+azoeR zf(W3?zoQcElvT09=7PD82e|c8u%9`Aa(E;|El1%vjT+tN>fgt|Dv|&OP;K_?u<|zS zG<*+Zc71MItE5;N=476)4DOEcvbZst=GgVq_TwT0G;jzd3^vgk=3G{Nyb{V0c5(s2 zU^fxkW@uO6tY?L)>r~8Sa@;YxLtf=-cc=V*L6lJig46jB|K#A-mGcp#yn`l8K$Ct6 z?xequqT!(t5`_?);* zNhJZ0UAyuKeNr(l;B-2cwc7)JvY*aq0^x%5TdnllKcRC)7z1IaZk|g6!atQ@iv?n+(_Y;n zYgc|=Cb?|-XJ+az4EqKoU+|C`%nTR6%C~d=s6E|dNe+EI9#1i$iTyYJ6REE}76a28 z;h#R2Ao-bL$Y8fUhs1!g*v4Rk(@npBf~eobjf?mW&;lYTUVCbUfHGG2VL`0El1u5I z%O{UQOMk~@F7Z_HK0i!G3vh1>ClA9sH&RUD1Yi&iK|>Nrh)rrp2? z^e4)+{c|9OpN^E>z(1pwWNXV>zzbr3e3f2jQ$58Gjirr>UTgewC20UmMpX zS^yx)S~5Zstm8t*H?v--pWnvI-DB|tjntJNxn4*syZSGj0)5?G&XWTEtXJvhU%<}< z-i?r_Hb_3S{))v;aWdwYThBtpG)mOkhD{DVEmLx@w?n{eT}wEE?!(NG?ZQ>|DBUO+ z@tDRczf0?{`R1+Ji^#Ibg(I?zfMsh7V+JH_DVFHd;-%CkZhs4=$_Pczxg~1YmapIm zMnvWdH?9z0H{_@#cJ=bO82{*s}pY6q)=!_jaP;LJ1K}MkIzQC~i z$*yK3+-AOBVYy3cwb0TP^T0&z@c+Ih-zpfnpzR`1bk8^VkxaqQM`w^%;Zf+9_>wN^ zK?_~O9kj_I!Iijrs_NeUhv8WmfPq`{Vr%=C>a{z|95|qEDQiH@82SIAnX%(3! zK6cR5j}1C#7ws3hL;#n+jEvJs92LEA1><+GIY@5L~1)VYJJX;bZN)<$|e?kgbhgq5Z0rwQKRxr z8b_5Z{;5V6m9%u@m!QHxruyBX=#2H)bo||N1DvTpju+HcgAiG_O>n*_V6p$#0uZR1=~DHFH7>^s4?FZ>K%}{_bNVyS-R0&{}&-{ss|;WK-SAMSax2$2P$TJ9|isM zIi&StQNXoo4&B$V^z*Z`C-uJVt3G>>+NVr*(PZ(y=d@csRpl-6y3Gg?m3kAq5VJRP zhUh<^5Bw2W>fyN^;o=C-joi-I6*nDUypnpkt7(iRBz*Vu1>3t!A?;?L?z8f~xadrKGpe(9_OLj46dK=J(Vj&; zrH+Q+d3RTDuPU#1&rgwjU=sd_|JBNcypKY*erd(R6Qv*35=`3JO@Z3m!P<90feC95 z?ORYIhH75Kn(I(g!+MA$mg2;wC32C1-FJa<^@ykk{LcQ1a-m8>v^l^MpkTzkrQVU; z5pEmT<@I!#@C*C-ms#N-Y8bKRxi_99Ce2lpFpLT!3Ikwy)s|uJ=~IJImwMA9qQFYI zC-i2wOq-f<)M2PXw9kATD@v@5X?gVQS`KxSZhOr;9z^#CbAGC>;N0itClx-3G49Xa zB(RJ?0Qu-Ge*<<%D~~Fg6VI#pWtA7lJh6%8kn$N$Foj1 zJ{t*@?&{-b3?}IAw5bv13!huH(*%UYYwh|tzu(iVn z>n1I*p5Q(;=_le6s&UtjHMhGzry}u^FW!w6#&e7CZW!|4R5?_)UXB^by@59L2r6$! zfPZiArBV)njQze`FbxGIP~BVM)7Ot}ck>poM)e?!jTI>w{^Ii&6L!ekUq7kk)lgst z`lioc4J*hX(Em8B8B&@Dlp+2X+dL-P;{-IOo45gG1{rfqQC>3#cGT>}+E}UzeHpcr zTUAn8Lj75!l=qDN6YDbKwsoZL!A67;P+(_7qTB0kQ#-aqXnwFGQToUHA_}`R_?(98 zG}8Kt+$bzHaRxAlH_PnJJP6Q3IOV(f}lC=V7L6iflJU- z^-E7a!gqbd*USyh$9fuTcd$8R%4D7K*@xE`KlkBsDL&u%GO99$pmFJOh3AAUVwjrKGmPhn$L_b;HrbkL$iS0zb2qIZ3{ zQk$3TEk^d@G;xS}GT7ndesv`P^}({9MJ*~V;jSms^We?0Q~{-3T-SvFXXBaZtL<#F z#JwyF$o=#r%8Y1-WT=xx#ns-7D6eMOF-`$8$T4>y?~Ox1{vR}Sf5KIEGS3hP!7Mz? zJDimxsmM=*Rq4FRg;}8&2|Ew^K_6^$8yoSUb>gB?NpH%JLQZt9yWE0YHYgpN83jYQ z&=|*Nu*aEsH5#bh7NrMZ%AfZjk4G{UQ`i+dPCI zBXbjNs2P@D9jinXElbdx11db43K5H!VEPW*||FNyr_x3wdKl*a&F(1@CweR1_FOj$?#1 zCt!&$r6qPD^|2YEKs}s^{WYzeakP!Khwxfz4#%m-yXkAUG2k;}UP=M-Ri{#q{?5Ky z6d7|uB2J+xa&ZxohLdBk^^M~2opSgNIa($vx1criBGFgHW9?5G7JR7h%sWy3O)T%t zR?=Bh+VF??m>fW8E)BhOjQC?`V;0w6Jsz1Qnf1ks-cojkKny@HT zDbeT1XPyGV!KtUyFvd&Df`i|U+v z#o!?d8a$Uf2ddZX7QWIuXP8U&E3SqK_2wdPBzGNo2Lw=mu{_A+wr9+?b20V-CupIV zn47tKrh)-Y9uV&~4VX?EFYpB#d;YE{KGO@c$cx?#y0-@3yxMyaAG)?hxWoCt_7ksw z8-8=Q@?ycio(aVs3e``!Ca#;exFJjY(-0&aAIV&gukc7J5&y_dzmJ-vn~?To{#oLH ziskVa2@!zJfR=T<+Y@)RQhfhDJbX}g5E4#C`)qmpG)2ehApT<>INN`*DK{kJnWAcn zj9Wv!rY7B2Wj))Hw?&Cu-$%TKI!EufoSlk>&X8$C_$Kej8`0s?Nupc#=NQ@r2d2U` zhC7qI2X3W7Ix}{#4S!~G0+U;+UlCp?(J=ClWh4;9GnpOt<7z6N=!Ic8DL46CEqBVU z?B12)9XX>WqxMezZh>_C$pC&Dlc-8ELMxghZBA8_BRIoNpGQhRN`f3c{+@5Fdf+-E zEidRR@YQ^s+n)2nG?|lfZLk$jlseI)%8ohD{jkE zTpNCbRv~(dcl!R=Uzncf)h#!WIY^pHmGhKiKbYZwVVqr}>}88N4ni|C?Sa+EO?!HZ z#0~?Ke>}tYDOz}THpQw?^TnjmM$ZQ+#C7P$#_aXU>j?!vNme0p6T9xRG}W3Qh$CFk>ky;GhL@|3qGX!>QND= z_q}Gl(%Ja8Wu%-{hvOQ@ygfLY(>Y^c-K5GDWNRTc8676P@BKBK{oofPT0wh$+qX9o zK$Y2nhJm5{g}KZ6Fj1J^z~wu~BMr=Qh2RIR)R>cc9yjKMvs)0qAb`qW=p>uhVBZi8 zO3x6B2tn^_tX+s!&AV#r1y1>`{vtDwVf>1FfTKxdvQhHx6%Q^YasXc-YWSqa5+RSL z+81$=zl1UF)jat5!9$T#au_*(JaU_G28=T0{#%vmFF@&Ot6*#a ztV#L|sQ<~14plpMCaNe%fIV!OwJpa(v&ROvQZo3w#WeK3hK;kG_`S$bMR=5HcbS%r zfs0~k>aEW96x9loHuNR)S$d3>_0opsZ>A3eFGf$H>2yY<@eiySFYuhJpzORQYw|8* zHCdRsVL_8D8upL;FT)K14`5vyMmCe}Qs;=^$+5B}#1)Eah*cvNhBtWxkyhZZ0@ohs zURn-t&z18xo-byPw3=lmhI=*fA+UQi&JrIhfv@0t+JZV0648{NG@HR&ZX&njF=w4a!4s^t*onS zJr_F;E~%Soh$9FP$28PUdXP!twWguUoqKQj_M)mUezQwsL9vo9Om>L>=6aa)&sAw5P!-+coETiVqHT9 z@}MDzGoH4=G;O*kU0Gnt9_x_8scE$PB>pb#>dD3V|C01FZ$Zh^r1>PeY0?jfRJ3O( zbp2flBmDIcwO4Lkjk&<4#>v6K!O6JWeTXTty|^4E80l`342&y?apU5NeT{Tyg&3Rb zsD;@zPutyMiFqS_7S;;3W_n7whQawJ!hfOkj5~;ZkKTh!ZIZcmpp>0Jn}NbaK9J!NvdfxXjT-iyYmH_%NJA1_dugF zl5XycQa3Op4!C!@ix)|5mA*q4>l=JIl-zue;+?P?!?yWyXiG+h5H+CJ;w>7mjU(4Y z8Ss~KhRpXpX&Q|#D2=NCV^To=^3ZrOl=FiVG9vqIoxj5;;S}i@KVsw-M6t6IVWOhm ztl+dyG)2Xq$%Nt=*>c+TT_%}ig!72bBCCPj5sNRB0K~IY$al{JJ*&5;BbQw)t&`4T zhQ$9}_45~AiG7Hc^GAH;jvWar5KWj8gQ3e;|7@l|BW<5}_%i6=f@3(g>2G(e_ti<$ zZ6GQ>Xv1?(D3JEfb4@rwKO@S5=RW_vq*bWPTeq2Gp6X6^1eYjZTwD ze2sd%Hhw`$BYKDt7IoApH$s71!RlK;9aJ&-1RTUm@+52t*OAu#aNnald#hA}4r6c3 z;4b<&pGtj->ok7;IidfT5}gG7Ep0ET=hfrdYEef4HL|RjZh|CII3Gw=e-QB2aMO8c zFaKk8y^^^rHPt?9=zV2sA?9#U|L1u+x&&0uqDu2zr?ay1)bll;)SAmDvoW z9k4V%ZK&)v{UOG7NKS6bxm(Xd#5y)kjRx@YsLu*vqkZ|2-X~(s-Iw z*Gfw^VA_X*95lf6l1xt_L9A!KBZp&+{nyaLu_85`KQ*N9GLJQSYk7A!3*~4#%+4e~ zi)U#Y9L^*M#htH7zotgA(s@d6CEo%;5qLk9cZ(=8N(S{0za`&4=HPir4UV9j63UM3 z+y3KMG6I>p(Eb67U42+ADka@?LI#)FGV~4vC`DVOp6^$i3+}PeUUn;dkvc?7cbC_? zguiQkJfdS@)s3Eu$jp|i<-l5?4vTcM*kRQaAXj5Xi60t2n4q8M4%D%~R*3^!{zI$H zqt!b$k8druVa`LLyXj3f8GT)uWR2Y1Tuv2hcHmxW&7Q!jJ1Z-aH}lYm;)eaN6)pU09p8+&1-1+7QSteJBwQd!YqJk|AAq zn0;>d6?aItXMBlYjg3yvHsfy8EuFi)Jm|hPh{yVaQh6xTZrx+ zF}?I^V&&~{*9FE6KYgiQD%r;%SKZCh=z zOja<@E>}8KEw05rZ@^*#r>-n;ut=3s$Uxs^I0YVH1$gcLS#YKlNwtslpv!z+q9#4b2H+a zO^%cK&VAr>Ig!Mn)nNJ9Du!+2rx~93$2i~GcHsa*13SL;H87fpa5lH-Nfw{L&@J=~ z!dEWhQSP5Uj2m*$7P8dQY855No+Kt{G{+dJ8vP{GWBF-k=We)mbhLEFr021FC|I54 zq}4ZP(Xm|r5`9;YlW62*=EV^duon7`l(flJn4Hq?x{|{LQ)9)^dF$PuiSWMDN0{p> zJv1`4qbyQ-54<(FUV1vabTf7E>^m2x#sC#Xn-82Tdeb!%JC9WNq0*0+BQ;eO)mP)( z3NP(Dz8>ToJ6}0p&Ifm|r}%1KCjKc6Uz%BD`mqomVA_N4qoEhkMl12GT#U6}H1gg< zho`v&p940mTWKG!=j?&N0d1?@aE)faQx1uRpg|)F`DSP?jUVv<7_jG z%>lCx*ue>Y?E7vtUYJ-*0CT0$zNSl0&QEU#VnoL#&F?EUN1vDFE-_wXZK88y%a5{7 zjfz@Fp&_h3H}I(!(*ZU0Xl{c2he>t)hyEN_>|7YgYQvy>3l&=vo>Pza2~{^zYfc&r zbx(M}fJgA^{YL}md#8lx*2;OO@0 z^JFyeadh#VY0dRLGAE~@W=z#qi+}jv&2ty<=hM;US)S};ukGFJj?OIR=wIm;xculC zj_tahil!TO^7`J5JTlUc<=naCi!11cN!S>B)C@k9Yu~A$dJy$HWx>f8kG5fIwX@(7 z%EgXNXE^tjXU&g+#yYz<3V^d*;~Kyb%~IXV+*Kdz zrCeO2^|0qHX0I9wm2XXO8O#$AKRT(kvE&NWz^SFS0wrkcOvYfVuOaic|5>u*KAs|I z^eLrv^ZFF6owF{9 zVl&F@$YQvfxm_}pR9eHls?ds@f_(x=z4i4*1XR7Z7oS-l?X2!zt4|#kSUg~@7JUGT?ACF429Vt1I>QpAjyKZ5#a?3iGc==;CW`Ne!e{a{< z;hygKZUY-v-J4TlRtjIA6WFCsc{AJG^4_|3wD6JWcZZL-&Nmm8^t{qcV!S6ZIo|pD zNr%S-!qggbDzAMD>hq6uA8)T&n=!U(1!-K)=^yR9q#Ox}7_W7K+XM09Tu-h-|DazX3Byx%bb(gyN#c7jF+=`gu&fQ`v#ZyW|V;h3Z6{x0b$F z<}@Pu=M?R&rt?URJp_sy?rw~y15A2m+%02S>H9Ug%3-V+F7xMhcs%m571i<=0h`^UL1D`G` zbhpdFv-?H384=LFbi!}{4#(-UlPd3ApONpbB)s#QTXJN^83TogxxBf0d*+|Z@cxJ( zoBqP-esH;SEZd#i-16`HAb*~?>Mjr7Iu3Eh~}BRIwPfg9@iSn#nsxHW;up=t{5ySMA| zQR8Rj{JwOZ@~pG`cd+t2883ZP5F3XeQ1EbpaCHFx&=8H)_Ulgt5g#CmZf66&Y%`F0 zB}Henr^f4gv6@1t`7t?3bV32~*2LL;^}4#cGuG4o`d0m@1=#woJP3MI5mM{C*!N+q zj#Y2>Y4mtbx*X2U4C_=6>*TuJgbo8<8ha75p(k4-ZAcy6+}9;qhtccU7mfsGZFeHo zac5X0OTCUDeSI-;XAc&@HFHP7%%7{b{rIMu<4o;2SBnZAI&D(rr)d8Yrz@nF?>X9B zXTC=J@lS9s0O%5^O||P#Q^i%8h28n;de0+V7sP8Ns9FujqSrg~ew1waMD;|q!|UCq z%3IFYxpc$B?O4Cl)56oG*Qa|5>sjF?4ZTnI!N78}9h(4i<-=qrCBKoTwC05sl5)sT zTiY9x9&PQwZPATtRRM21>IRSDY5z7{8-|JK<#Ur@z-sLkD^;yiPt}$BV&~JX#K+7` zk8lhdILugkYdIC%ywUF4gGjZQ!q{KZ37x=yYONT1mQ|-?Xe}n@#f49u_t||Q+CZaS zZrGOYdD-dU{5%YuI$9Lud=zIJZry#(kiDr<=7rSL=HlGN^L__TLo=2*%=dtg5xc4{ zsIEhx2}o1otYEv+zp8|&VRXOvei7alysY%HB(!wR`hNO3n&R{5^SHHcVm3##g86Df zkKaS@q<8st4MR`?pg7#N304aXjaoZ#LcRRDQ9r>96mwXOv-{qD740MLHHNv>?YenC z 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 if (enemy == null) return TaskStatus.Failure; - Vector3 targetPos = transform.position + new Vector3(0, 0, -1) * dis.Value; enemy.ai.isStopped = false; - enemy.ai.destination = targetPos; + enemy.ai.destination = targetPos.Value; return TaskStatus.Success; } } @@ -127,21 +127,31 @@ public class Actions public class PlayerAIAttack : Action { + public SharedGameObject target; + public SharedVector3 targetPos; public override TaskStatus OnUpdate() { PlayerAI playerAi = transform.GetComponent(); if (playerAi == null) return TaskStatus.Failure; - playerAi.StopAttack(); + transform.LookAt(new Vector3(targetPos.Value.x, transform.position.y, targetPos.Value.z)); + if (target.Value != null) + { + transform.LookAt(new Vector3(target.Value.transform.position.x, transform.position.y, target.Value.transform.position.z)); + } + playerAi.DoAttack(); return TaskStatus.Success; } } public class PlayerAIStopAttack: Action { + public SharedGameObject target; + public SharedVector3 targetPos; public override TaskStatus OnUpdate() { PlayerAI playerAi = transform.GetComponent(); if (playerAi == null) return TaskStatus.Failure; + target.Value = null; playerAi.StopAttack(); return TaskStatus.Success; } @@ -187,4 +197,84 @@ public class Actions return TaskStatus.Success; } } + + /// + /// 正常射击寻找敌人 + /// + public class TeammateFindTarget : Action + { + public SharedVector3 targetPos; + + public float normalHitMin = 0.1f; // 10% + public float normalHitMax = 0.2f; // 20% + private float hitRate; + + public override void OnStart() + { + // 每次开始时刷新命中率 + hitRate = Random.Range(normalHitMin, normalHitMax); + } + + public override TaskStatus OnUpdate() + { + var tran = GameManager.Ins.GetEnemy(transform); + if (tran == null) return TaskStatus.Failure; + + bool isHit = Random.value < hitRate; + + if (isHit) + { + targetPos.Value = tran.transform.position; // 命中敌人 + } + else + { + // 偏移未命中 + Vector2 randomCircle = Random.insideUnitCircle.normalized; + Vector3 offset = new Vector3(randomCircle.x, Random.Range(-0.5f, 0.5f), randomCircle.y) * 3f; + targetPos.Value = tran.transform.position + offset; + } + + return TaskStatus.Success; + } + } + + /// + /// 百分百杀死敌人 + /// + public class TeammateSupportKill : Action + { + public SharedFloat CountdownTime; // 倒计时秒数 + public SharedGameObject Target; + public override TaskStatus OnUpdate() + { + if (GameManager.Ins == null) return TaskStatus.Failure; + var enemy = GameManager.Ins.GetEnemy(transform); + if (enemy != null) + { + var enemyComponent = enemy.GetComponent(); + CoroutineTaskManager.Instance.WaitSecondTodo(() => + { + if (enemyComponent != null && enemyComponent.state != EnemyState.Die) + { + enemyComponent.Die(transform.position,null); + Debug.Log($"{gameObject.name} 倒计时结束,击杀一名敌人!"); + CountdownTime.Value=10; + } + }, 3f); + Target = enemy; + } + return TaskStatus.Success; + } + } + + public class CountdownTimeAction: Action + { + public SharedFloat CountdownTime; // 倒计时秒数 + + public override TaskStatus OnUpdate() + { + CountdownTime.Value-=Time.deltaTime; + return TaskStatus.Success; + } + } } \ No newline at end of file diff --git a/Assets/_DefendNJ/Scripts/Behaviors/Conditionals.cs b/Assets/_DefendNJ/Scripts/Behaviors/Conditionals.cs index c0089a21..a611f1c8 100644 --- a/Assets/_DefendNJ/Scripts/Behaviors/Conditionals.cs +++ b/Assets/_DefendNJ/Scripts/Behaviors/Conditionals.cs @@ -196,4 +196,16 @@ public class Conditionals return GameManager.Ins.IsHaveEnemy()? TaskStatus.Success : TaskStatus.Failure; } } + + /// + /// 击杀敌人倒计时 + /// + public class CheckKillEnemyCountdownTime: Conditional + { + public SharedFloat CountdownTime; + public override TaskStatus OnUpdate() + { + return CountdownTime.Value<=0? TaskStatus.Success : TaskStatus.Failure; + } + } } diff --git a/Assets/_DefendNJ/Scripts/Bullets/Bullet.cs b/Assets/_DefendNJ/Scripts/Bullets/Bullet.cs index a29305f4..1631bbbc 100644 --- a/Assets/_DefendNJ/Scripts/Bullets/Bullet.cs +++ b/Assets/_DefendNJ/Scripts/Bullets/Bullet.cs @@ -123,9 +123,12 @@ public class Bullet : NetworkBehaviour #endregion [Server] - public virtual void OnSpawn(int ownerIndex, Vector3 recoil, float recoilCount) + public virtual void OnSpawn(int curOwnerIndex, Vector3 recoil, float recoilCount) { - this.ownerIndex = ownerIndex; + + + if (curOwnerIndex != -1) + ownerIndex = curOwnerIndex; rigidbodyComponent.velocity = recoil.normalized * recoilCount; rigidbodyComponent.rotation = Quaternion.LookRotation(recoil.normalized); } diff --git a/Assets/_DefendNJ/Scripts/DefendEvent/DefendEvent.cs b/Assets/_DefendNJ/Scripts/DefendEvent/DefendEvent.cs index 8d24bbad..7b6277a6 100644 --- a/Assets/_DefendNJ/Scripts/DefendEvent/DefendEvent.cs +++ b/Assets/_DefendNJ/Scripts/DefendEvent/DefendEvent.cs @@ -3,6 +3,11 @@ using System.Collections.Generic; using Mirror; using UnityEngine; +public enum DefendEventType +{ + +} + //事件基类 public class DefendEvent : NetworkBehaviour { @@ -16,6 +21,19 @@ public class DefendEvent : NetworkBehaviour public bool isOver; public bool isStart; + + public virtual void Init(List enemies, List curNpcList) + { + enemyList = enemies; + npcList = curNpcList; + isOver = false; + isStart = false; + } + + public virtual void StartEvent() + { + isStart = true; + } public virtual void EndEvent(){} diff --git a/Assets/_DefendNJ/Scripts/DefendEvent/StartEvent.cs b/Assets/_DefendNJ/Scripts/DefendEvent/StartEvent.cs index ea1ccdec..a5bfecae 100644 --- a/Assets/_DefendNJ/Scripts/DefendEvent/StartEvent.cs +++ b/Assets/_DefendNJ/Scripts/DefendEvent/StartEvent.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class StartEvent : DefendEvent +public class NormalEvent : DefendEvent { } diff --git a/Assets/_DefendNJ/Scripts/Enemys/Enemy/Enemy.cs b/Assets/_DefendNJ/Scripts/Enemys/Enemy/Enemy.cs index 9f305874..a0dae9df 100644 --- a/Assets/_DefendNJ/Scripts/Enemys/Enemy/Enemy.cs +++ b/Assets/_DefendNJ/Scripts/Enemys/Enemy/Enemy.cs @@ -138,7 +138,7 @@ public class Enemy : Agent } [Server] - public virtual void OnSpawn(int id, EnemyType type, int lvl) + public virtual void OnSpawn(int id, EnemyType type, int lvl,Vector3 targetPos) { base.OnSpawn(); this.id = id; @@ -161,7 +161,11 @@ public class Enemy : Agent if (aiPath != null) aiPath.enabled = true; if (rvoController != null) rvoController.enabled = true; if (selfCollider != null) selfCollider.enabled = true; - if (behaviorTree != null) behaviorTree.enabled = true; // 仅 Host(Server)上运行 BT + if (behaviorTree != null) + { + behaviorTree.enabled = true; + behaviorTree.SetVariable("targetPos",(SharedVector3)targetPos); + } // 仅 Host(Server)上运行 BT // 初始血量已在 Agent.OnSpawn 中设置为 originHealth / health } } diff --git a/Assets/_DefendNJ/Scripts/Enemys/SDRRMI/SDRRMI.cs b/Assets/_DefendNJ/Scripts/Enemys/SDRRMI/SDRRMI.cs index 33ab2cde..ea695988 100644 --- a/Assets/_DefendNJ/Scripts/Enemys/SDRRMI/SDRRMI.cs +++ b/Assets/_DefendNJ/Scripts/Enemys/SDRRMI/SDRRMI.cs @@ -9,9 +9,9 @@ public class SDRRMI : Enemy public SDRRMIHand rightHand; [Server] - public override void OnSpawn(int id, EnemyType type, int lvl) + public override void OnSpawn(int id, EnemyType type, int lvl,Vector3 targetPos) { - base.OnSpawn(id, type, lvl); + base.OnSpawn(id, type, lvl,targetPos); leftHand.atk = atk; leftHand.gameObject.SetActive(true); rightHand.atk = atk; diff --git a/Assets/_DefendNJ/Scripts/GameLocal.cs b/Assets/_DefendNJ/Scripts/GameLocal.cs index 5617d930..f8ff6180 100644 --- a/Assets/_DefendNJ/Scripts/GameLocal.cs +++ b/Assets/_DefendNJ/Scripts/GameLocal.cs @@ -62,11 +62,10 @@ public class GameLocal : MonoBehaviour [NonSerialized] public GameObject DieUI; - - public Transform[] enemyStartPos; public Transform[] enemyEndPos; public Transform[] playerAiPos; + public Transform[] playerAiEndPos; public Transform[] gunPropPos; public Transform doorPos; diff --git a/Assets/_DefendNJ/Scripts/Guns/Launcher.cs b/Assets/_DefendNJ/Scripts/Guns/Launcher.cs index cf040800..d182a591 100644 --- a/Assets/_DefendNJ/Scripts/Guns/Launcher.cs +++ b/Assets/_DefendNJ/Scripts/Guns/Launcher.cs @@ -115,6 +115,7 @@ public class Launcher : NetworkBehaviour Shoot(curOwnerIndex); } + [Server] public bool Shoot(int ownerIndex) { diff --git a/Assets/_DefendNJ/Scripts/Manager.meta b/Assets/_DefendNJ/Scripts/Manager.meta new file mode 100644 index 00000000..36558e2c --- /dev/null +++ b/Assets/_DefendNJ/Scripts/Manager.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4001bf13659a2af438166907115a6968 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs b/Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs new file mode 100644 index 00000000..347e1ca0 --- /dev/null +++ b/Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DefendEventManager : MonoBehaviour +{ + public Dictionary defendEventDic = new Dictionary(); + + public void StartEvent(int id) + { + defendEventDic[id].StartEvent(); + } +} diff --git a/Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs.meta b/Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs.meta new file mode 100644 index 00000000..a0a4a544 --- /dev/null +++ b/Assets/_DefendNJ/Scripts/Manager/DefendEventManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2809f452877aef4d8b8ff4e955a57f9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DefendNJ/Scripts/GameManager.cs b/Assets/_DefendNJ/Scripts/Manager/GameManager.cs similarity index 91% rename from Assets/_DefendNJ/Scripts/GameManager.cs rename to Assets/_DefendNJ/Scripts/Manager/GameManager.cs index e2d65ff7..9b39d5b9 100644 --- a/Assets/_DefendNJ/Scripts/GameManager.cs +++ b/Assets/_DefendNJ/Scripts/Manager/GameManager.cs @@ -39,6 +39,12 @@ public enum GameState Wave=5, } +public enum GameMode +{ + OnePlayer=0, + TwoPlayers=1, +} + public class GameManager : NetworkBehaviour { @@ -84,6 +90,8 @@ public class GameManager : NetworkBehaviour public Dictionary players = new Dictionary(); + public GameMode gameMode = GameMode.OnePlayer; + /// /// 敌人自增 /// @@ -175,6 +183,7 @@ public class GameManager : NetworkBehaviour { PlaySound2DRPC("1.1"); }, 10f); + CreatePlayerAi(); SetGameState(GameState.Wave); RpcMessageRound(); } @@ -186,8 +195,8 @@ public class GameManager : NetworkBehaviour { roundIndex++; SetGameState(GameState.Wave); - roundWaveTime = 15; - curRoundWaveTime = 12; + roundWaveTime = 5; + curRoundWaveTime = 2; RpcMessageRound(); } @@ -195,6 +204,7 @@ public class GameManager : NetworkBehaviour public void GameStart() { gameState = GameState.Playing; + gameMode=players.Count<=1 ? GameMode.OnePlayer : GameMode.TwoPlayers; vistEnd = (long)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds + vistAllTime; isStart = true; ChangeBgmRpc(1); @@ -328,35 +338,45 @@ public class GameManager : NetworkBehaviour { GameObject enemy = Instantiate(EnemyPres[info.EnemyList[i]]); NetworkServer.Spawn(enemy); - int posId = Random.Range(0, 4); - int posX=Random.Range(-1, 1); - int posZ=Random.Range(-1, 1); - enemy.transform.position = GameLocal.Ins.enemyStartPos[posId].position+new Vector3(posX,0,posZ); + int posId =i/3; + int posX=i%3==0? 0: i%3==1 ? 1 : -1; + enemy.transform.position = GameLocal.Ins.enemyStartPos[posId].position; enemy.transform.eulerAngles = new Vector3(0, 0, 0); enemyIndex++; Enemy enemyScript = enemy.GetComponent(); - enemyScript.OnSpawn(enemyIndex, (EnemyType)info.EnemyList[i], 1); + enemyScript.OnSpawn(enemyIndex, (EnemyType)info.EnemyList[i], 1,GameLocal.Ins.enemyStartPos[posId].position+new Vector3(posX,0,0)); EnemyList.Add(enemyIndex, enemyScript); yield return new WaitForSeconds(0.5f); } } /// - /// 创建场景 + /// 创建辅助AI /// public void CreatePlayerAi() { - for (int i = 0; i < players.Count; i++) + if (gameMode == GameMode.OnePlayer) { - GameObject playerAi = Instantiate(playerAiPres[i]); + for (int i = 0; i < 2; i++) + { + GameObject playerAi = Instantiate(playerAiPres[i]); + NetworkServer.Spawn(playerAi); + playerAi.transform.position = GameLocal.Ins.playerAiPos[i].position; + playerAi.transform.eulerAngles = new Vector3(0, 0, 0); + PlayerAI enemyScript = playerAi.GetComponent(); + enemyScript.OnSpawn(i,(PlayerAIType)i, 1,GameLocal.Ins.playerAiEndPos[i].gameObject); + PlayerAiList.Add(i, enemyScript); + } + } + else if(gameMode == GameMode.TwoPlayers) + { + GameObject playerAi = Instantiate(playerAiPres[0]); NetworkServer.Spawn(playerAi); - playerAi.transform.position = GameLocal.Ins.playerAiPos[i].position; + playerAi.transform.position = GameLocal.Ins.playerAiPos[0].position; playerAi.transform.eulerAngles = new Vector3(0, 0, 0); - enemyIndex++; PlayerAI enemyScript = playerAi.GetComponent(); - enemyScript.OnSpawn(enemyIndex,(PlayerAIType)i, 1); - PlayerAiList.Add(enemyIndex, enemyScript); - curRoundEnemyCount++; + enemyScript.OnSpawn(0,0, 1,GameLocal.Ins.playerAiEndPos[0].gameObject); + PlayerAiList.Add(0, enemyScript); } } @@ -365,18 +385,18 @@ public class GameManager : NetworkBehaviour /// public void CreateBoss() { - GameObject enemy = Instantiate(EnemyPres[(int)EnemyType.ZombieBoss]); - NetworkServer.Spawn(enemy); - int posId = Random.Range(0, 4); - int posX=Random.Range(-1, 1); - int posZ=Random.Range(-1, 1); - enemy.transform.position = GameLocal.Ins.enemyStartPos[posId].position+new Vector3(posX,0,posZ); - enemy.transform.eulerAngles = new Vector3(0, 0, 0); - enemyIndex++; - Enemy enemyScript = enemy.GetComponent(); - enemyScript.OnSpawn(enemyIndex, EnemyType.ZombieBoss, 1); - EnemyList.Add(enemyIndex, enemyScript); - curRoundEnemyCount++; + // GameObject enemy = Instantiate(EnemyPres[(int)EnemyType.ZombieBoss]); + // NetworkServer.Spawn(enemy); + // int posId = Random.Range(0, 4); + // int posX=Random.Range(-1, 1); + // int posZ=Random.Range(-1, 1); + // enemy.transform.position = GameLocal.Ins.enemyStartPos[posId].position+new Vector3(posX,0,posZ); + // enemy.transform.eulerAngles = new Vector3(0, 0, 0); + // enemyIndex++; + // Enemy enemyScript = enemy.GetComponent(); + // enemyScript.OnSpawn(enemyIndex, EnemyType.ZombieBoss, 1); + // EnemyList.Add(enemyIndex, enemyScript); + // curRoundEnemyCount++; } public void CreateExplosion(Transform pos) @@ -548,7 +568,7 @@ public class GameManager : NetworkBehaviour if (curRoundEnemyCount<=0) { - CreateGunProp(); + //CreateGunProp(); CreateNextRound(); } } @@ -733,6 +753,14 @@ public class GameManager : NetworkBehaviour return nearestPlayer; } + public void ChangePlayerAiCountdownTime() + { + foreach (var ai in PlayerAiList.Values) + { + ai.ChangeKillEnemyTime(); + } + } + public Transform GetPlayerPos() { int rand = Random.Range(0, 100); @@ -773,6 +801,7 @@ public class GameManager : NetworkBehaviour GameObject enemyUI = EnemyUIList[id].gameObject; EnemyUIList.Remove(id); NetworkServer.Destroy(enemyUI); + ChangePlayerAiCountdownTime(); } [ClientRpc] diff --git a/Assets/_DefendNJ/Scripts/GameManager.cs.meta b/Assets/_DefendNJ/Scripts/Manager/GameManager.cs.meta similarity index 100% rename from Assets/_DefendNJ/Scripts/GameManager.cs.meta rename to Assets/_DefendNJ/Scripts/Manager/GameManager.cs.meta diff --git a/Assets/_DefendNJ/Scripts/TrueGearEffectManager.cs b/Assets/_DefendNJ/Scripts/Manager/TrueGearEffectManager.cs similarity index 100% rename from Assets/_DefendNJ/Scripts/TrueGearEffectManager.cs rename to Assets/_DefendNJ/Scripts/Manager/TrueGearEffectManager.cs diff --git a/Assets/_DefendNJ/Scripts/TrueGearEffectManager.cs.meta b/Assets/_DefendNJ/Scripts/Manager/TrueGearEffectManager.cs.meta similarity index 100% rename from Assets/_DefendNJ/Scripts/TrueGearEffectManager.cs.meta rename to Assets/_DefendNJ/Scripts/Manager/TrueGearEffectManager.cs.meta