diff --git a/src/CounterDrone.Core/DefaultData.cs b/src/CounterDrone.Core/DefaultData.cs index b9dd6b0..3b291b1 100644 --- a/src/CounterDrone.Core/DefaultData.cs +++ b/src/CounterDrone.Core/DefaultData.cs @@ -26,7 +26,6 @@ namespace CounterDrone.Core [System.Text.Json.Serialization.JsonPropertyName("weather")] public List Environments { get; set; } = new(); - /// 从 data/defaults.json 加载。文件缺失或解析失败即抛异常。 public static DefaultData Load(IPathProvider paths) { var jsonPath = Path.Combine(paths.GetDataRoot(), "defaults.json"); @@ -41,7 +40,6 @@ namespace CounterDrone.Core return data; } - /// 从 JSON 字符串解析(测试用) public static DefaultData FromJson(string json) { var opts = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; @@ -69,205 +67,4 @@ namespace CounterDrone.Core data.Sensors = new(); } } - - /// 编队模板 - public class FormationTemplate - { - public string Id { get; set; } = ""; - public string Name { get; set; } = ""; - public int FormationMode { get; set; } - public int LateralCount { get; set; } = 1; - public int LongitudinalCount { get; set; } = 1; - public double LateralSpacing { get; set; } - public double LongitudinalSpacing { get; set; } - public int LateralAxis { get; set; } = 2; // 0=X, 1=Y, 2=Z - public int LongitudinalAxis { get; set; } = 0; // 0=X, 1=Y, 2=Z - - public RoutePlan ToRoutePlan() - { - return new RoutePlan - { - FormationMode = FormationMode, - LateralCount = LateralCount, - LongitudinalCount = LongitudinalCount, - LateralSpacing = LateralSpacing, - LongitudinalSpacing = LongitudinalSpacing, - LateralAxis = LateralAxis, - LongitudinalAxis = LongitudinalAxis, - }; - } - } - - /// 火力单元规格(基础数据模板) - [SQLite.Table("FireUnitSpec")] - public class FireUnitSpec - { - [SQLite.PrimaryKey] - public string Id { get; set; } = ""; - public string Name { get; set; } = ""; - public int PlatformType { get; set; } - public int GunCount { get; set; } = 1; - public int ChannelsPerGun { get; set; } = 1; - public double ChannelInterval { get; set; } = 1.0; - public double Cooldown { get; set; } = 5.0; - public double AmmoChangeTime { get; set; } = 30.0; - public double MuzzleVelocity { get; set; } - public double CruiseSpeed { get; set; } - public double ReleaseAltitude { get; set; } - - /// 3D 模型 ID(FK → ModelInfo),Unity 可视化用 - public string ModelId { get; set; } = ""; - [SQLite.Ignore] - public List AmmoTypes { get; set; } = new(); - public double RadarRange { get; set; } - public double EORange { get; set; } - public double IRRange { get; set; } - // 3D 球冠几何(缺失时退化 2D) - public double? MinElevation { get; set; } - public double? MaxElevation { get; set; } - public double? MinDetectAlt { get; set; } - public double? MaxDetectAlt { get; set; } - - public ScenarioUnit ToScenarioUnit(AerosolType ammoType, int quantity, - double posX, double posY, double posZ) - { - return new ScenarioUnit - { - FireUnitSpecId = Id, - EquipmentRole = (int)Models.EquipmentRole.LaunchPlatform, - Quantity = quantity, - PositionX = posX, - PositionY = posY, - PositionZ = posZ, - AerosolType = (int)ammoType, - MunitionCount = GunCount * ChannelsPerGun * quantity, - }; - } - } - - /// 无人机规格(基础数据模板) - [SQLite.Table("DroneSpec")] - public class DroneSpec - { - [SQLite.PrimaryKey] - public string Id { get; set; } = ""; - public string Name { get; set; } = ""; - public int DroneType { get; set; } - /// 型号名称(非 3D 模型文件。3D 模型引用见 ModelId) - public string Model { get; set; } = ""; - public string Description { get; set; } = ""; - public int PowerType { get; set; } - public double Wingspan { get; set; } - public double TypicalSpeed { get; set; } - public double TypicalAltitude { get; set; } - - /// 3D 模型 ID(FK → ModelInfo),Unity 可视化用 - public string ModelId { get; set; } = ""; - - public ScenarioDrone ToScenarioDrone(string waveId = "default") - { - return new ScenarioDrone - { - DroneSpecId = Id, - WaveId = waveId, - Quantity = 1, - }; - } - } - - /// 传感器规格(基础数据模板) - [SQLite.Table("SensorSpec")] - public class SensorSpec - { - [SQLite.PrimaryKey] - public string Id { get; set; } = ""; - public string Name { get; set; } = ""; - public double RadarRange { get; set; } - public double EORange { get; set; } - public double IRRange { get; set; } - public double Accuracy { get; set; } = 50.0; - - /// 3D 模型 ID(FK → ModelInfo),Unity 可视化用 - public string ModelId { get; set; } = ""; - // 3D 球冠几何(缺失时退化 2D) - public double? MinElevation { get; set; } - public double? MaxElevation { get; set; } - public double? MinDetectAlt { get; set; } - public double? MaxDetectAlt { get; set; } - - public ScenarioUnit ToScenarioUnit(double posX, double posY, double posZ) - { - return new ScenarioUnit - { - SensorSpecId = Id, - EquipmentRole = (int)Models.EquipmentRole.Detection, - Quantity = 1, - PositionX = posX, - PositionY = posY, - PositionZ = posZ, - }; - } - } - - /// 环境规格(基础数据模板) - [SQLite.Table("EnvironmentSpec")] - public class EnvironmentSpec - { - [SQLite.PrimaryKey] - public string Id { get; set; } = ""; - public string Name { get; set; } = ""; - public int WeatherType { get; set; } - public double WindSpeed { get; set; } - public int WindDirection { get; set; } - public double Temperature { get; set; } = 20.0; - public double Humidity { get; set; } = 60.0; - public double Pressure { get; set; } = 1013.0; - public double Visibility { get; set; } = 5000.0; - - public CombatScene ToCombatScene() - { - return new CombatScene - { - WeatherType = WeatherType, - WindSpeed = WindSpeed, - WindDirection = WindDirection, - Temperature = Temperature, - Humidity = Humidity, - Pressure = Pressure, - Visibility = Visibility, - }; - } - } - - /// 航线模板(基础数据模板) - [SQLite.Table("RouteTemplate")] - public class RouteTemplate - { - [SQLite.PrimaryKey] - public string Id { get; set; } = ""; - public string Name { get; set; } = ""; - /// 航路点 JSON(WaypointCoord 序列化),SQLite 存储用 - public string WaypointsJson { get; set; } = "[]"; - [SQLite.Ignore] - public List Waypoints { get; set; } = new(); - - public List ToWaypoints(double speed) - { - var list = new List(); - foreach (var w in Waypoints) - list.Add(new Waypoint - { - PosX = w.X, PosY = w.Y, PosZ = w.Z, - Altitude = w.Y, Speed = speed, - }); - return list; - } - } - - public class WaypointCoord - { - public double X { get; set; } - public double Y { get; set; } - public double Z { get; set; } - } } diff --git a/src/CounterDrone.Core/Models/DroneSpec.cs b/src/CounterDrone.Core/Models/DroneSpec.cs new file mode 100644 index 0000000..a9b62e4 --- /dev/null +++ b/src/CounterDrone.Core/Models/DroneSpec.cs @@ -0,0 +1,35 @@ +using CounterDrone.Core.Models; +using SQLite; + +namespace CounterDrone.Core +{ + /// 无人机规格(基础数据模板) + [Table("DroneSpec")] + public class DroneSpec + { + [PrimaryKey] + public string Id { get; set; } = ""; + public string Name { get; set; } = ""; + public int DroneType { get; set; } + /// 型号名称(非 3D 模型文件。3D 模型引用见 ModelId) + public string Model { get; set; } = ""; + public string Description { get; set; } = ""; + public int PowerType { get; set; } + public double Wingspan { get; set; } + public double TypicalSpeed { get; set; } + public double TypicalAltitude { get; set; } + + /// 3D 模型 ID(FK → ModelInfo),Unity 可视化用 + public string ModelId { get; set; } = ""; + + public ScenarioDrone ToScenarioDrone(string waveId = "default") + { + return new ScenarioDrone + { + DroneSpecId = Id, + WaveId = waveId, + Quantity = 1, + }; + } + } +} diff --git a/src/CounterDrone.Core/Models/EnvironmentSpec.cs b/src/CounterDrone.Core/Models/EnvironmentSpec.cs new file mode 100644 index 0000000..16ded46 --- /dev/null +++ b/src/CounterDrone.Core/Models/EnvironmentSpec.cs @@ -0,0 +1,35 @@ +using CounterDrone.Core.Models; +using SQLite; + +namespace CounterDrone.Core +{ + /// 环境规格(基础数据模板) + [Table("EnvironmentSpec")] + public class EnvironmentSpec + { + [PrimaryKey] + public string Id { get; set; } = ""; + public string Name { get; set; } = ""; + public int WeatherType { get; set; } + public double WindSpeed { get; set; } + public int WindDirection { get; set; } + public double Temperature { get; set; } = 20.0; + public double Humidity { get; set; } = 60.0; + public double Pressure { get; set; } = 1013.0; + public double Visibility { get; set; } = 5000.0; + + public CombatScene ToCombatScene() + { + return new CombatScene + { + WeatherType = WeatherType, + WindSpeed = WindSpeed, + WindDirection = WindDirection, + Temperature = Temperature, + Humidity = Humidity, + Pressure = Pressure, + Visibility = Visibility, + }; + } + } +} diff --git a/src/CounterDrone.Core/Models/FireUnitSpec.cs b/src/CounterDrone.Core/Models/FireUnitSpec.cs new file mode 100644 index 0000000..ce73599 --- /dev/null +++ b/src/CounterDrone.Core/Models/FireUnitSpec.cs @@ -0,0 +1,52 @@ +using System.Collections.Generic; +using CounterDrone.Core.Models; +using SQLite; + +namespace CounterDrone.Core +{ + /// 火力单元规格(基础数据模板) + [Table("FireUnitSpec")] + public class FireUnitSpec + { + [PrimaryKey] + public string Id { get; set; } = ""; + public string Name { get; set; } = ""; + public int PlatformType { get; set; } + public int GunCount { get; set; } = 1; + public int ChannelsPerGun { get; set; } = 1; + public double ChannelInterval { get; set; } = 1.0; + public double Cooldown { get; set; } = 5.0; + public double AmmoChangeTime { get; set; } = 30.0; + public double MuzzleVelocity { get; set; } + public double CruiseSpeed { get; set; } + public double ReleaseAltitude { get; set; } + + /// 3D 模型 ID(FK → ModelInfo),Unity 可视化用 + public string ModelId { get; set; } = ""; + [Ignore] + public List AmmoTypes { get; set; } = new(); + public double RadarRange { get; set; } + public double EORange { get; set; } + public double IRRange { get; set; } + public double? MinElevation { get; set; } + public double? MaxElevation { get; set; } + public double? MinDetectAlt { get; set; } + public double? MaxDetectAlt { get; set; } + + public ScenarioUnit ToScenarioUnit(AerosolType ammoType, int quantity, + double posX, double posY, double posZ) + { + return new ScenarioUnit + { + FireUnitSpecId = Id, + EquipmentRole = (int)Models.EquipmentRole.LaunchPlatform, + Quantity = quantity, + PositionX = posX, + PositionY = posY, + PositionZ = posZ, + AerosolType = (int)ammoType, + MunitionCount = GunCount * ChannelsPerGun * quantity, + }; + } + } +} diff --git a/src/CounterDrone.Core/Models/FormationTemplate.cs b/src/CounterDrone.Core/Models/FormationTemplate.cs new file mode 100644 index 0000000..fdcd09f --- /dev/null +++ b/src/CounterDrone.Core/Models/FormationTemplate.cs @@ -0,0 +1,32 @@ +using CounterDrone.Core.Models; + +namespace CounterDrone.Core +{ + /// 编队模板 + public class FormationTemplate + { + public string Id { get; set; } = ""; + public string Name { get; set; } = ""; + public int FormationMode { get; set; } + public int LateralCount { get; set; } = 1; + public int LongitudinalCount { get; set; } = 1; + public double LateralSpacing { get; set; } + public double LongitudinalSpacing { get; set; } + public int LateralAxis { get; set; } = 2; + public int LongitudinalAxis { get; set; } = 0; + + public RoutePlan ToRoutePlan() + { + return new RoutePlan + { + FormationMode = FormationMode, + LateralCount = LateralCount, + LongitudinalCount = LongitudinalCount, + LateralSpacing = LateralSpacing, + LongitudinalSpacing = LongitudinalSpacing, + LateralAxis = LateralAxis, + LongitudinalAxis = LongitudinalAxis, + }; + } + } +} diff --git a/src/CounterDrone.Core/Models/RouteTemplate.cs b/src/CounterDrone.Core/Models/RouteTemplate.cs new file mode 100644 index 0000000..d71b2bd --- /dev/null +++ b/src/CounterDrone.Core/Models/RouteTemplate.cs @@ -0,0 +1,37 @@ +using System.Collections.Generic; +using CounterDrone.Core.Models; +using SQLite; + +namespace CounterDrone.Core +{ + /// 航线模板(基础数据模板) + [Table("RouteTemplate")] + public class RouteTemplate + { + [PrimaryKey] + public string Id { get; set; } = ""; + public string Name { get; set; } = ""; + public string WaypointsJson { get; set; } = "[]"; + [Ignore] + public List Waypoints { get; set; } = new(); + + public List ToWaypoints(double speed) + { + var list = new List(); + foreach (var w in Waypoints) + list.Add(new Waypoint + { + PosX = w.X, PosY = w.Y, PosZ = w.Z, + Altitude = w.Y, Speed = speed, + }); + return list; + } + } + + public class WaypointCoord + { + public double X { get; set; } + public double Y { get; set; } + public double Z { get; set; } + } +} diff --git a/src/CounterDrone.Core/Models/SensorSpec.cs b/src/CounterDrone.Core/Models/SensorSpec.cs new file mode 100644 index 0000000..3986e2c --- /dev/null +++ b/src/CounterDrone.Core/Models/SensorSpec.cs @@ -0,0 +1,38 @@ +using CounterDrone.Core.Models; +using SQLite; + +namespace CounterDrone.Core +{ + /// 传感器规格(基础数据模板) + [Table("SensorSpec")] + public class SensorSpec + { + [PrimaryKey] + public string Id { get; set; } = ""; + public string Name { get; set; } = ""; + public double RadarRange { get; set; } + public double EORange { get; set; } + public double IRRange { get; set; } + public double Accuracy { get; set; } = 50.0; + + /// 3D 模型 ID(FK → ModelInfo),Unity 可视化用 + public string ModelId { get; set; } = ""; + public double? MinElevation { get; set; } + public double? MaxElevation { get; set; } + public double? MinDetectAlt { get; set; } + public double? MaxDetectAlt { get; set; } + + public ScenarioUnit ToScenarioUnit(double posX, double posY, double posZ) + { + return new ScenarioUnit + { + SensorSpecId = Id, + EquipmentRole = (int)Models.EquipmentRole.Detection, + Quantity = 1, + PositionX = posX, + PositionY = posY, + PositionZ = posZ, + }; + } + } +} diff --git a/src/Unity/Assets/simple_simulation.unity b/src/Unity/Assets/simple_simulation.unity index bfcd069..185ff40 100644 --- a/src/Unity/Assets/simple_simulation.unity +++ b/src/Unity/Assets/simple_simulation.unity @@ -122,7 +122,7 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &504813050 +--- !u!1 &17412644 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -130,53 +130,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 504813052} - - component: {fileID: 504813051} - m_Layer: 0 - m_Name: GameObject - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &504813051 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 504813050} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 22fe139181bc96d448638e8f096555e7, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &504813052 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 504813050} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &596712395 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 596712398} - - component: {fileID: 596712397} - - component: {fileID: 596712396} + - component: {fileID: 17412647} + - component: {fileID: 17412646} + - component: {fileID: 17412645} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -184,21 +140,21 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &596712396 +--- !u!81 &17412645 AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 596712395} + m_GameObject: {fileID: 17412644} m_Enabled: 1 ---- !u!20 &596712397 +--- !u!20 &17412646 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 596712395} + m_GameObject: {fileID: 17412644} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 @@ -243,13 +199,13 @@ Camera: m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 ---- !u!4 &596712398 +--- !u!4 &17412647 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 596712395} + m_GameObject: {fileID: 17412644} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -10} @@ -258,7 +214,7 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &814563400 +--- !u!1 &464420036 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -266,8 +222,8 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 814563402} - - component: {fileID: 814563401} + - component: {fileID: 464420038} + - component: {fileID: 464420037} m_Layer: 0 m_Name: Directional Light m_TagString: Untagged @@ -275,13 +231,13 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!108 &814563401 +--- !u!108 &464420037 Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 814563400} + m_GameObject: {fileID: 464420036} m_Enabled: 1 serializedVersion: 10 m_Type: 1 @@ -337,13 +293,13 @@ Light: m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 ---- !u!4 &814563402 +--- !u!4 &464420038 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 814563400} + m_GameObject: {fileID: 464420036} serializedVersion: 2 m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalPosition: {x: 0, y: 3, z: 0} @@ -352,10 +308,334 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &579005272 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 579005279} + - component: {fileID: 579005278} + - component: {fileID: 579005277} + - component: {fileID: 579005276} + - component: {fileID: 579005275} + - component: {fileID: 579005274} + - component: {fileID: 579005273} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &579005273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579005272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ddc21c353c72cc449038de2121fbd06, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &579005274 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579005272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 11d882d30e6a0d247964f54d1b93e758, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &579005275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579005272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94491e9f66d487e409c6ba224f1b3797, type: 3} + m_Name: + m_EditorClassIdentifier: + _dronePrefab: {fileID: 0} + _cloudPrefab: {fileID: 0} + _platformPrefab: {fileID: 0} +--- !u!114 &579005276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579005272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b626c791511d1d3479e0b08532616aef, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &579005277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579005272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5712699a3dcc335408f0df9b5b6a973f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &579005278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579005272} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 22fe139181bc96d448638e8f096555e7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &579005279 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579005272} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -17.3211, y: 8.836099, z: 11.135693} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1215977701 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1215977705} + - component: {fileID: 1215977704} + - component: {fileID: 1215977703} + - component: {fileID: 1215977702} + m_Layer: 0 + m_Name: drone_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1215977702 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1215977701} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &1215977703 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1215977701} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1215977704 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1215977701} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1215977705 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1215977701} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 500, z: 0} + m_LocalScale: {x: 50, y: 50, z: 50} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1690208463 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1690208467} + - component: {fileID: 1690208466} + - component: {fileID: 1690208465} + - component: {fileID: 1690208464} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1690208464 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1690208463} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &1690208465 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1690208463} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1690208466 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1690208463} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1690208467 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1690208463} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - - {fileID: 596712398} - - {fileID: 814563402} - - {fileID: 504813052} + - {fileID: 17412647} + - {fileID: 464420038} + - {fileID: 579005279} + - {fileID: 1690208467} + - {fileID: 1215977705}