efd-trading-card-base/TradingCardMod.csproj
Cal Corum d0663d569a Fix storage slot filtering with parent tag system and add F10 spawn window
Storage Fix:
- Implemented CardBinderContent parent tag shared by cards and binder sheets
- Fixed Card Binder slots to use single tag requirement (CardBinderContent)
- Unity's requireTags uses AND logic, not OR - previous approach required items to have ALL tags
- Storage hierarchy now works correctly:
  * Cards can be stored in Binder Sheets (requires TradingCard tag)
  * Cards can be stored in Card Binders (requires CardBinderContent tag)
  * Binder Sheets can be stored in Card Binders (requires CardBinderContent tag)
  * Binder Sheets cannot be stored in other Binder Sheets (lacks TradingCard tag)

F10 Spawn Window:
- Replaced F9 key cycling with OnGUI floating window (changed to F10 to avoid mod conflicts)
- Added buttons for spawning Card Binder and Binder Sheet
- Added buttons for spawning random cards by rarity (Common, Uncommon, Rare, Very Rare, Ultra Rare)
- Window is draggable and positioned to avoid UI overlap

Cleanup:
- Removed ExampleSet placeholder card data

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:03:18 -06:00

78 lines
3.3 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>8.0</LangVersion>
<RootNamespace>TradingCardMod</RootNamespace>
<AssemblyName>TradingCardMod</AssemblyName>
<!-- Game installation path -->
<DuckovPath>/mnt/NV2/SteamLibrary/steamapps/common/Escape from Duckov</DuckovPath>
<SubPath>/Duckov_Data/Managed/</SubPath>
<!-- Steam Workshop path for mod dependencies -->
<WorkshopPath>/mnt/NV2/SteamLibrary/steamapps/workshop/content/3167020</WorkshopPath>
<!-- HarmonyLoadMod Workshop ID -->
<HarmonyModId>3589088839</HarmonyModId>
</PropertyGroup>
<ItemGroup>
<!-- Game DLL references -->
<Reference Include="TeamSoda.Duckov.Core">
<HintPath>$(DuckovPath)$(SubPath)TeamSoda.Duckov.Core.dll</HintPath>
</Reference>
<Reference Include="TeamSoda.Duckov.Utilities">
<HintPath>$(DuckovPath)$(SubPath)TeamSoda.Duckov.Utilities.dll</HintPath>
</Reference>
<Reference Include="TeamSoda.MiniLocalizor">
<HintPath>$(DuckovPath)$(SubPath)TeamSoda.MiniLocalizor.dll</HintPath>
</Reference>
<Reference Include="SodaLocalization">
<HintPath>$(DuckovPath)$(SubPath)SodaLocalization.dll</HintPath>
</Reference>
<Reference Include="ItemStatsSystem">
<HintPath>$(DuckovPath)$(SubPath)ItemStatsSystem.dll</HintPath>
</Reference>
<Reference Include="Duckov">
<HintPath>$(DuckovPath)$(SubPath)Duckov.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>$(DuckovPath)$(SubPath)UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>$(DuckovPath)$(SubPath)UnityEngine.CoreModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ImageConversionModule">
<HintPath>$(DuckovPath)$(SubPath)UnityEngine.ImageConversionModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.InputLegacyModule">
<HintPath>$(DuckovPath)$(SubPath)UnityEngine.InputLegacyModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.IMGUIModule">
<HintPath>$(DuckovPath)$(SubPath)UnityEngine.IMGUIModule.dll</HintPath>
</Reference>
<Reference Include="UniTask">
<HintPath>$(DuckovPath)$(SubPath)UniTask.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<!-- Harmony library from HarmonyLoadMod (required dependency) -->
<Reference Include="$(WorkshopPath)/$(HarmonyModId)/0Harmony.dll"/>
</ItemGroup>
<ItemGroup>
<!-- Exclude non-code files from compilation -->
<None Include="CardSets/**/*" CopyToOutputDirectory="PreserveNewest" />
<None Include="info.ini" CopyToOutputDirectory="PreserveNewest" />
<None Include="preview.png" CopyToOutputDirectory="PreserveNewest" Condition="Exists('preview.png')" />
</ItemGroup>
<ItemGroup>
<!-- Exclude test files from main build (they're in the test project) -->
<Compile Remove="tests/**/*.cs" />
</ItemGroup>
</Project>