通过HearthDb生成带PlayReq的CardDefs.xml

Posted Chuck Lu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过HearthDb生成带PlayReq的CardDefs.xml相关的知识,希望对你有一定的参考价值。

HearthDb项目从另外一个项目导入了初始的xml文件

https://github.com/HearthSim/HearthDb/blob/master/HearthDb/HearthDb.csproj

 <PropertyGroup>
    <PreBuildEvent>if exist $(ProjectDir)hsdata (
  git -C "$(ProjectDir)hsdata" fetch
  git -C "$(ProjectDir)hsdata" reset --hard origin/master
) else (
  git clone --depth=1 https://github.com/HearthSim/hsdata.git "$(ProjectDir)hsdata"
)
if "$(ConfigurationName)" == "Release" (
  powershell -ExecutionPolicy Unrestricted -file "$(ProjectDir)verify.ps1" "$(ProjectDir)"
)
xcopy /Y "$(ProjectDir)hsdataCardDefs.xml" "$(ProjectDir)CardDefs.xml*"</PreBuildEvent>
  </PropertyGroup>

 

加载卡牌文件的代码

https://github.com/HearthSim/HearthDb/blob/master/HearthDb/Cards.cs#L23

var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("HearthDb.CardDefs.xml");
            if(stream == null)
                return;

 需要注意的是xml文件,是以embedded resource嵌入项目的

<ItemGroup>
<EmbeddedResource Include="CardDefs.xml" />
</ItemGroup>

 

Visual Studio: How to store an image resource as an Embedded Resource?

Note: This answer is not the recommended way of handling image resources. It just addresses the particular problem as described by the question (i.e. to include an image as an embedded resourse).

Don‘t add the image as a resource. I would rather do the following:

  • Create the image/icon and save it to a file
  • Choose Project -> Add Existing Item and add the file
  • Set the Build Action to Embedded Resource

You can then access this resource using

Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceUri)

This way the image is not magically added to the projects resource file and you will only have one copy of the image stored in the assembly‘s resources.

 

从版本16.0.0.37060开始,就不附带playreq了

https://github.com/HearthSim/HearthDb/issues/18

patch 15.6.2.36393 still has the PlayRequirement section, when it comes to patch 16.0.0.37060, the section lost.

 

以上是关于通过HearthDb生成带PlayReq的CardDefs.xml的主要内容,如果未能解决你的问题,请参考以下文章

带Flash/Actionscript 3的3D翻转效果

Identity Card(hdu2629)

带网格的 Bootstrap 4 卡片列

动态生成标签并绑定带参数事件

Egret学习-通过缩放实现翻牌效果

Egret学习-通过缩放实现翻牌效果