<!--
  scene.signal：第三方 PLC 信号交互插件。
  产物 StandardScene.Signal.dll + StandardScene.Signal.scene.json，拷到 SimpleLite/plugins。
  运行时由「信号交互进程」拉起：每机构 200ms S7 轮询 + 1s 扫车握手。
  Config/Signal/*.json 仅留在工程内作样例，运行时读写 SimpleLite 工作目录 Config/Signal，不部署到 plugins。
-->
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <OutputType>Library</OutputType>
    <RootNamespace>StandardScene.Signal</RootNamespace>
    <AssemblyName>StandardScene.Signal</AssemblyName>
    <LangVersion>latest</LangVersion>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <Platforms>AnyCPU;x64</Platforms>
    <PlatformTarget>x64</PlatformTarget>
    <Deterministic>true</Deterministic>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <ImplicitUsings>disable</ImplicitUsings>
    <Nullable>disable</Nullable>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <NoWarn>$(NoWarn);NU1701;CS0618;CS0612;MSB3277;CA1416</NoWarn>
    <AssemblySearchPaths>{HintPathFromItem};{TargetFrameworkDirectory};{RawFileName};{GAC}</AssemblySearchPaths>
  </PropertyGroup>

  <ItemGroup>
    <None Update="StandardScene.Signal.scene.json" CopyToOutputDirectory="PreserveNewest" />
    <!-- 样例 JSON 只留源码树，不复制到输出/plugins；运行时读写工作目录 Config/Signal -->
    <None Update="Config\Signal\*.json" CopyToOutputDirectory="Never" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\StandardScene.Core\StandardScene.Core.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="CommonUsage">
      <HintPath>$(StandRefDir)CommonUsage.dll</HintPath>
    </Reference>
    <Reference Include="CycleGUI">
      <HintPath>$(StandRefDir)CycleGUI.dll</HintPath>
      <Private>false</Private>
    </Reference>
    <Reference Include="LessokajiWeaverUtilities">
      <HintPath>$(StandRefDir)LessokajiWeaverUtilities.dll</HintPath>
    </Reference>
    <Reference Include="SimpleCore">
      <HintPath>$(StandRefDir)SimpleCore.dll</HintPath>
    </Reference>
    <Reference Include="SimpleLite">
      <HintPath>$(StandSimpleLiteDir)SimpleLite.dll</HintPath>
    </Reference>
    <Reference Include="Topaz">
      <HintPath>$(StandRefDir)Topaz.dll</HintPath>
    </Reference>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="IoTClient" Version="1.0.40" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
  </ItemGroup>

</Project>
