拆分 DefaultData.cs:Spec 类各自独立文件
- FireUnitSpec → Models/FireUnitSpec.cs - DroneSpec → Models/DroneSpec.cs - SensorSpec → Models/SensorSpec.cs - EnvironmentSpec → Models/EnvironmentSpec.cs - FormationTemplate → Models/FormationTemplate.cs - RouteTemplate → Models/RouteTemplate.cs - DefaultData.cs 仅保留 DefaultData 加载类 - 238 测试全过
This commit is contained in:
parent
dbe6808df7
commit
f6d3f1bdb4
@ -26,7 +26,6 @@ namespace CounterDrone.Core
|
||||
[System.Text.Json.Serialization.JsonPropertyName("weather")]
|
||||
public List<EnvironmentSpec> Environments { get; set; } = new();
|
||||
|
||||
/// <summary>从 data/defaults.json 加载。文件缺失或解析失败即抛异常。</summary>
|
||||
public static DefaultData Load(IPathProvider paths)
|
||||
{
|
||||
var jsonPath = Path.Combine(paths.GetDataRoot(), "defaults.json");
|
||||
@ -41,7 +40,6 @@ namespace CounterDrone.Core
|
||||
return data;
|
||||
}
|
||||
|
||||
/// <summary>从 JSON 字符串解析(测试用)</summary>
|
||||
public static DefaultData FromJson(string json)
|
||||
{
|
||||
var opts = new JsonSerializerOptions { PropertyNameCaseInsensitive = true };
|
||||
@ -69,205 +67,4 @@ namespace CounterDrone.Core
|
||||
data.Sensors = new();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>编队模板</summary>
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>火力单元规格(基础数据模板)</summary>
|
||||
[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; }
|
||||
|
||||
/// <summary>3D 模型 ID(FK → ModelInfo),Unity 可视化用</summary>
|
||||
public string ModelId { get; set; } = "";
|
||||
[SQLite.Ignore]
|
||||
public List<int> 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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>无人机规格(基础数据模板)</summary>
|
||||
[SQLite.Table("DroneSpec")]
|
||||
public class DroneSpec
|
||||
{
|
||||
[SQLite.PrimaryKey]
|
||||
public string Id { get; set; } = "";
|
||||
public string Name { get; set; } = "";
|
||||
public int DroneType { get; set; }
|
||||
/// <summary>型号名称(非 3D 模型文件。3D 模型引用见 ModelId)</summary>
|
||||
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; }
|
||||
|
||||
/// <summary>3D 模型 ID(FK → ModelInfo),Unity 可视化用</summary>
|
||||
public string ModelId { get; set; } = "";
|
||||
|
||||
public ScenarioDrone ToScenarioDrone(string waveId = "default")
|
||||
{
|
||||
return new ScenarioDrone
|
||||
{
|
||||
DroneSpecId = Id,
|
||||
WaveId = waveId,
|
||||
Quantity = 1,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>传感器规格(基础数据模板)</summary>
|
||||
[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;
|
||||
|
||||
/// <summary>3D 模型 ID(FK → ModelInfo),Unity 可视化用</summary>
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>环境规格(基础数据模板)</summary>
|
||||
[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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>航线模板(基础数据模板)</summary>
|
||||
[SQLite.Table("RouteTemplate")]
|
||||
public class RouteTemplate
|
||||
{
|
||||
[SQLite.PrimaryKey]
|
||||
public string Id { get; set; } = "";
|
||||
public string Name { get; set; } = "";
|
||||
/// <summary>航路点 JSON(WaypointCoord 序列化),SQLite 存储用</summary>
|
||||
public string WaypointsJson { get; set; } = "[]";
|
||||
[SQLite.Ignore]
|
||||
public List<WaypointCoord> Waypoints { get; set; } = new();
|
||||
|
||||
public List<Waypoint> ToWaypoints(double speed)
|
||||
{
|
||||
var list = new List<Waypoint>();
|
||||
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; }
|
||||
}
|
||||
}
|
||||
|
||||
35
src/CounterDrone.Core/Models/DroneSpec.cs
Normal file
35
src/CounterDrone.Core/Models/DroneSpec.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using CounterDrone.Core.Models;
|
||||
using SQLite;
|
||||
|
||||
namespace CounterDrone.Core
|
||||
{
|
||||
/// <summary>无人机规格(基础数据模板)</summary>
|
||||
[Table("DroneSpec")]
|
||||
public class DroneSpec
|
||||
{
|
||||
[PrimaryKey]
|
||||
public string Id { get; set; } = "";
|
||||
public string Name { get; set; } = "";
|
||||
public int DroneType { get; set; }
|
||||
/// <summary>型号名称(非 3D 模型文件。3D 模型引用见 ModelId)</summary>
|
||||
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; }
|
||||
|
||||
/// <summary>3D 模型 ID(FK → ModelInfo),Unity 可视化用</summary>
|
||||
public string ModelId { get; set; } = "";
|
||||
|
||||
public ScenarioDrone ToScenarioDrone(string waveId = "default")
|
||||
{
|
||||
return new ScenarioDrone
|
||||
{
|
||||
DroneSpecId = Id,
|
||||
WaveId = waveId,
|
||||
Quantity = 1,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
35
src/CounterDrone.Core/Models/EnvironmentSpec.cs
Normal file
35
src/CounterDrone.Core/Models/EnvironmentSpec.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using CounterDrone.Core.Models;
|
||||
using SQLite;
|
||||
|
||||
namespace CounterDrone.Core
|
||||
{
|
||||
/// <summary>环境规格(基础数据模板)</summary>
|
||||
[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,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
52
src/CounterDrone.Core/Models/FireUnitSpec.cs
Normal file
52
src/CounterDrone.Core/Models/FireUnitSpec.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using System.Collections.Generic;
|
||||
using CounterDrone.Core.Models;
|
||||
using SQLite;
|
||||
|
||||
namespace CounterDrone.Core
|
||||
{
|
||||
/// <summary>火力单元规格(基础数据模板)</summary>
|
||||
[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; }
|
||||
|
||||
/// <summary>3D 模型 ID(FK → ModelInfo),Unity 可视化用</summary>
|
||||
public string ModelId { get; set; } = "";
|
||||
[Ignore]
|
||||
public List<int> 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,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
32
src/CounterDrone.Core/Models/FormationTemplate.cs
Normal file
32
src/CounterDrone.Core/Models/FormationTemplate.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using CounterDrone.Core.Models;
|
||||
|
||||
namespace CounterDrone.Core
|
||||
{
|
||||
/// <summary>编队模板</summary>
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
37
src/CounterDrone.Core/Models/RouteTemplate.cs
Normal file
37
src/CounterDrone.Core/Models/RouteTemplate.cs
Normal file
@ -0,0 +1,37 @@
|
||||
using System.Collections.Generic;
|
||||
using CounterDrone.Core.Models;
|
||||
using SQLite;
|
||||
|
||||
namespace CounterDrone.Core
|
||||
{
|
||||
/// <summary>航线模板(基础数据模板)</summary>
|
||||
[Table("RouteTemplate")]
|
||||
public class RouteTemplate
|
||||
{
|
||||
[PrimaryKey]
|
||||
public string Id { get; set; } = "";
|
||||
public string Name { get; set; } = "";
|
||||
public string WaypointsJson { get; set; } = "[]";
|
||||
[Ignore]
|
||||
public List<WaypointCoord> Waypoints { get; set; } = new();
|
||||
|
||||
public List<Waypoint> ToWaypoints(double speed)
|
||||
{
|
||||
var list = new List<Waypoint>();
|
||||
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; }
|
||||
}
|
||||
}
|
||||
38
src/CounterDrone.Core/Models/SensorSpec.cs
Normal file
38
src/CounterDrone.Core/Models/SensorSpec.cs
Normal file
@ -0,0 +1,38 @@
|
||||
using CounterDrone.Core.Models;
|
||||
using SQLite;
|
||||
|
||||
namespace CounterDrone.Core
|
||||
{
|
||||
/// <summary>传感器规格(基础数据模板)</summary>
|
||||
[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;
|
||||
|
||||
/// <summary>3D 模型 ID(FK → ModelInfo),Unity 可视化用</summary>
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user