mirror of
https://github.com/LorisYounger/VPet.git
synced 2024-08-30 18:42:36 +00:00
MOD制作器兼容
This commit is contained in:
@ -26,7 +26,7 @@
|
|||||||
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
||||||
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.6" />
|
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.6" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Update="Properties\Resources.Designer.cs">
|
<Compile Update="Properties\Resources.Designer.cs">
|
||||||
|
@ -19,6 +19,6 @@
|
|||||||
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
||||||
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.6" />
|
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.6" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -19,7 +19,7 @@ namespace VPet_Simulator.Windows
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自动启用MOD名称
|
/// 自动启用MOD名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static readonly string[] OnModDefList = new string[] { "Core", "PCat", };//"ModMaker" 暂时移除MODMaker
|
public static readonly string[] OnModDefList = new string[] { "Core", "PCat", "ModMaker" };
|
||||||
|
|
||||||
public static HashSet<string> LoadedDLL { get; } = new HashSet<string>()
|
public static HashSet<string> LoadedDLL { get; } = new HashSet<string>()
|
||||||
{
|
{
|
||||||
@ -279,63 +279,65 @@ namespace VPet_Simulator.Windows
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if !DEBUG5
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
#endif
|
||||||
var path = tmpfi.Name;
|
var path = tmpfi.Name;
|
||||||
if (LoadedDLL.Contains(path))
|
if (LoadedDLL.Contains(path))
|
||||||
|
continue;
|
||||||
|
LoadedDLL.Add(path);
|
||||||
|
X509Certificate2 certificate;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
certificate = new X509Certificate2(tmpfi.FullName);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
certificate = null;
|
||||||
|
}
|
||||||
|
if (certificate != null)
|
||||||
|
{
|
||||||
|
if (certificate.Subject == "CN=\"Shenzhen Lingban Computer Technology Co., Ltd.\", O=\"Shenzhen Lingban Computer Technology Co., Ltd.\", L=Shenzhen, S=Guangdong Province, C=CN, SERIALNUMBER=91440300MA5H8REU3K, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.1=Shenzhen, OID.1.3.6.1.4.1.311.60.2.1.2=Guangdong Province, OID.1.3.6.1.4.1.311.60.2.1.3=CN"
|
||||||
|
&& certificate.Issuer == "CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1, O=\"DigiCert, Inc.\", C=US")
|
||||||
|
{//LBGame 信任的证书
|
||||||
|
if (authtype != "FAIL")
|
||||||
|
authtype = "[认证]".Translate();
|
||||||
|
}
|
||||||
|
else if (!(certificate.Subject.Contains("Microsoft Corporation") &&
|
||||||
|
certificate.Issuer.Contains("Microsoft Corporation")) && !IsPassMOD(mw))
|
||||||
|
{//不是通过模组,不加载
|
||||||
|
SuccessLoad = false;
|
||||||
continue;
|
continue;
|
||||||
LoadedDLL.Add(path);
|
|
||||||
X509Certificate2 certificate;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
certificate = new X509Certificate2(tmpfi.FullName);
|
|
||||||
}
|
}
|
||||||
catch
|
}
|
||||||
{
|
else
|
||||||
certificate = null;
|
{
|
||||||
|
authtype = "FAIL";
|
||||||
|
if (!IsPassMOD(mw))
|
||||||
|
{//不是通过模组,不加载
|
||||||
|
SuccessLoad = false;
|
||||||
|
Author = modlps.FindSub("author").Info.Split('[').First();
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
if (certificate != null)
|
}
|
||||||
|
Assembly dll = Assembly.LoadFrom(tmpfi.FullName);
|
||||||
|
var v = dll.GetExportedTypes();
|
||||||
|
foreach (Type exportedType in v)
|
||||||
|
{
|
||||||
|
if (exportedType.BaseType == typeof(MainPlugin))
|
||||||
{
|
{
|
||||||
if (certificate.Subject == "CN=\"Shenzhen Lingban Computer Technology Co., Ltd.\", O=\"Shenzhen Lingban Computer Technology Co., Ltd.\", L=Shenzhen, S=Guangdong Province, C=CN, SERIALNUMBER=91440300MA5H8REU3K, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.1=Shenzhen, OID.1.3.6.1.4.1.311.60.2.1.2=Guangdong Province, OID.1.3.6.1.4.1.311.60.2.1.3=CN"
|
mw.Plugins.Add((MainPlugin)Activator.CreateInstance(exportedType, mw));
|
||||||
&& certificate.Issuer == "CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1, O=\"DigiCert, Inc.\", C=US")
|
|
||||||
{//LBGame 信任的证书
|
|
||||||
if (authtype != "FAIL")
|
|
||||||
authtype = "[认证]".Translate();
|
|
||||||
}
|
|
||||||
else if (certificate.Subject != "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" && !IsPassMOD(mw))
|
|
||||||
{//不是通过模组,不加载
|
|
||||||
SuccessLoad = false;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
{
|
#if !DEBUG5
|
||||||
authtype = "FAIL";
|
|
||||||
if (!IsPassMOD(mw))
|
|
||||||
{//不是通过模组,不加载
|
|
||||||
SuccessLoad = false;
|
|
||||||
Author = modlps.FindSub("author").Info.Split('[').First();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Assembly dll = Assembly.LoadFrom(tmpfi.FullName);
|
|
||||||
var v = dll.GetExportedTypes();
|
|
||||||
foreach (Type exportedType in v)
|
|
||||||
{
|
|
||||||
if (exportedType.BaseType == typeof(MainPlugin))
|
|
||||||
{
|
|
||||||
mw.Plugins.Add((MainPlugin)Activator.CreateInstance(exportedType, mw));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
ErrorMessage = e.Message;
|
ErrorMessage = e.Message;
|
||||||
SuccessLoad = false;
|
SuccessLoad = false;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (authtype != "FAIL")
|
if (authtype != "FAIL")
|
||||||
Author += authtype;
|
Author += authtype;
|
||||||
|
@ -2042,7 +2042,7 @@ namespace VPet_Simulator.Windows
|
|||||||
if (!cm.SuccessLoad)
|
if (!cm.SuccessLoad)
|
||||||
if (cm.Tag.Contains("该模组已损坏"))
|
if (cm.Tag.Contains("该模组已损坏"))
|
||||||
MessageBoxX.Show("模组 {0} 插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题".Translate(cm.Name) + '\n' + cm.ErrorMessage, "该模组已损坏".Translate());
|
MessageBoxX.Show("模组 {0} 插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题".Translate(cm.Name) + '\n' + cm.ErrorMessage, "该模组已损坏".Translate());
|
||||||
else if (Set.IsPassMOD(cm.Name))
|
else if (Set.IsPassMOD(cm.Name) || !string.IsNullOrEmpty(cm.ErrorMessage))
|
||||||
MessageBoxX.Show("模组 {0} 的代码插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题".Translate(cm.Name) + '\n' + cm.ErrorMessage, "{0} 未加载代码插件".Translate(cm.Name));
|
MessageBoxX.Show("模组 {0} 的代码插件损坏\n虚拟桌宠模拟器未能成功加载该插件\n请联系作者修复该问题".Translate(cm.Name) + '\n' + cm.ErrorMessage, "{0} 未加载代码插件".Translate(cm.Name));
|
||||||
else if (Set.IsMSGMOD(cm.Name))
|
else if (Set.IsMSGMOD(cm.Name))
|
||||||
MessageBoxX.Show("由于 {0} 包含代码插件\n虚拟桌宠模拟器已自动停止加载该插件\n请手动前往设置允许启用该mod 代码插件".Translate(cm.Name), "{0} 未加载代码插件".Translate(cm.Name));
|
MessageBoxX.Show("由于 {0} 包含代码插件\n虚拟桌宠模拟器已自动停止加载该插件\n请手动前往设置允许启用该mod 代码插件".Translate(cm.Name), "{0} 未加载代码插件".Translate(cm.Name));
|
||||||
|
@ -223,7 +223,7 @@
|
|||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||||
<PackageReference Include="NAudio" Version="2.2.1" />
|
<PackageReference Include="NAudio" Version="2.2.1" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\VPet-Simulator.Core\VPet-Simulator.Core.csproj" />
|
<ProjectReference Include="..\VPet-Simulator.Core\VPet-Simulator.Core.csproj" />
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.6" />
|
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.6" />
|
||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.1" />
|
||||||
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
|
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Reference in New Issue
Block a user