<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net6.0</TargetFramework>
        <ImplicitUsings>false</ImplicitUsings>
        <Nullable>disable</Nullable>
        <AssemblyName>Tools</AssemblyName>
        <RootNamespace>ET</RootNamespace>
        <LangVersion>8</LangVersion>
    </PropertyGroup>

    <PropertyGroup>
        <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
        <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
      <OutputPath>..\..\Bin\</OutputPath>
      <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
      <DefineConstants>TRACECOREAPP;NOT_UNITY</DefineConstants>
      <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
      <OutputPath>..\..\Bin\</OutputPath>
      <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
      <DefineConstants>TRACECOREAPP;NOT_UNITY</DefineConstants>
      <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    </PropertyGroup>
    
    <ItemGroup>
        <Compile Include="..\..\Unity\Assets\Codes\Model\Core\**\*.cs">
            <Link>Core\%(RecursiveDir)%(FileName)%(Extension)</Link>
        </Compile>
        <Compile Include="..\..\Unity\Assets\Mono\Core\**\*.cs">
            <Link>Core\%(RecursiveDir)%(FileName)%(Extension)</Link>
        </Compile>

        <Compile Include="..\..\Server\Model\Base\**\*.cs">
            <Link>Base\%(RecursiveDir)%(FileName)%(Extension)</Link>
        </Compile>

        <Compile Include="..\..\Unity\Assets\Codes\Model\Module\Config\**\*.cs">
            <Link>Module\Config\%(RecursiveDir)%(FileName)%(Extension)</Link>
        </Compile>

        <Compile Include="..\..\Unity\Assets\Codes\Model\Module\Message\OpcodeRangeDefine.cs">
            <Link>Module\Message\OpcodeRangeDefine.cs</Link>
        </Compile>
    </ItemGroup>
    
    <ItemGroup>
      <ProjectReference Include="..\..\ThirdParty\ETTask\ETTask.csproj" />
      <ProjectReference Include="..\..\ThirdParty\ShareLib\ShareLib.csproj" />
    </ItemGroup>
    
    <ItemGroup>
      <Folder Include="Apps" />
    </ItemGroup>
    
    <ItemGroup>
      <None Update="Template.txt">
        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      </None>
    </ItemGroup>

</Project>
