1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2025-12-08 20:53:28 +08:00
This commit is contained in:
2024-08-21 02:42:24 +08:00
parent efa3198d81
commit fec947e71a
18 changed files with 98 additions and 36 deletions

View File

@@ -28,7 +28,7 @@
<ProjectReference Include="..\UXAssist\UXAssist.csproj" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>

View File

@@ -1,4 +1,5 @@
using System;
using System.Linq;
namespace CheatEnabler;
@@ -49,4 +50,51 @@ public static class PlayerFunctions
}
GameMain.mainPlayer.controller.actionSail.StartFastTravelToUPosition(targetUPos);
}
private static void PurgePropertySystem(PropertySystem propertySystem)
{
var propertyDatas = propertySystem.propertyDatas;
for (var i = 0; i < propertyDatas.Count;)
{
if (propertyDatas[i].totalProduction.Any(idcnt => idcnt.count > 0) || propertyDatas[i].totalConsumption.Any(idcnt => idcnt.count > 0))
{
i++;
}
else
{
propertyDatas.RemoveAt(i);
}
}
}
public static void RemoveAllMetadataConsumptions()
{
var propertySysten = DSPGame.propertySystem;
if (propertySysten == null) return;
PurgePropertySystem(propertySysten);
var itemCnt = new int[6];
foreach (var cons in propertySysten.propertyDatas.SelectMany(data => data.totalConsumption.Where(cons => cons.id is >= 6001 and <= 6006)))
{
itemCnt[cons.id - 6001] += cons.count;
}
if (itemCnt.All(cnt => cnt == 0)) return;
UIMessageBox.Show("Remove all metadata consumption records".Translate(), "".Translate(), "取消".Translate(), "确定".Translate(), 2, null, () =>
{
foreach (var data in propertySysten.propertyDatas)
{
for (var i = 0; i < data.totalConsumption.Count; i++)
{
if (data.totalConsumption[i].count == 0) continue;
var id = data.totalConsumption[i].id;
data.totalConsumption[i] = new IDCNT(id, 0);
}
}
});
}
public static void RemoveCurrentMetadataConsumptions()
{
}
}

View File

@@ -27,6 +27,8 @@ public static class UIConfigWindow
"Click tech on tree while holding:\n Shift: Tech level + 1\n Ctrl: Tech level + 10\n Ctrl + Shift: Tech level + 100\n Alt: Tech level to MAX\n\nNote: all direct prerequisites will be unlocked as well.",
"按住以下组合键点击科技树:\n Shift科技等级+1\n Ctrl科技等级+10\n Ctrl+Shift科技等级+100\n Alt科技等级升到最大\n\n注意所有直接前置科技也会被解锁");
I18N.Add("Assign gamesave to current account", "Assign gamesave to current account", "将游戏存档绑定给当前账号");
I18N.Add("Remove all metadata consumption records", "Remove all metadata consumption records", "移除所有元数据消耗记录");
I18N.Add("Remove metadata consumption record in current game", "Remove metadata consumption record in current game", "移除当前游戏的元数据消耗记录");
I18N.Add("Finish build immediately", "Finish build immediately", "建造秒完成");
I18N.Add("Architect mode", "Architect mode", "建筑师模式");
I18N.Add("Build without condition", "Build without condition check", "无条件建造");
@@ -89,7 +91,11 @@ public static class UIConfigWindow
MyWindow.AddTipsButton(x, y, tab1, "Unlock Tech with Key-Modifiers", "Unlock Tech with Key-Modifiers Tips", "unlock-tech-tips");
x = 300f;
y = 10f;
_resignGameBtn = wnd.AddButton(x, y, 200f, tab1, "Assign gamesave to current account", 16, "resign-game-btn", () => { GameMain.data.account = AccountData.me; });
_resignGameBtn = wnd.AddButton(x, y, 300f, tab1, "Assign gamesave to current account", 16, "resign-game-btn", () => { GameMain.data.account = AccountData.me; });
y += 36f;
wnd.AddButton(x, y, 300f, tab1, "Remove all metadata consumption records", 16, "button-remove-all-metadata-consumption", PlayerFunctions.RemoveAllMetadataConsumptions);
y += 36f;
wnd.AddButton(x, y, 300f, tab1, "Remove metadata consumption record in current game", 16, "button-remove-current-metadata-consumption", PlayerFunctions.RemoveCurrentMetadataConsumptions);
var tab2 = wnd.AddTab(_windowTrans, "Factory");
x = 0f;

View File

@@ -32,7 +32,7 @@
</Reference>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;IF NOT EXIST package\plugins (mkdir package\plugins)&#xA;copy /y $(TargetPath) package\plugins\&#xA;cd package&#xA;powershell Compress-Archive -Force -DestinationPath '$(ProjectName)-$(Version).zip' -Path patchers, plugins, icon.png, manifest.json, ../README.md" />
</Target>
</Project>

View File

@@ -22,7 +22,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="IF NOT EXIST ..\Dustbin\package\patchers (mkdir ..\Dustbin\package\patchers)&#xA;copy /y $(TargetPath) ..\Dustbin\package\patchers\" />
</Target>
</Project>

View File

@@ -20,7 +20,7 @@ public class HideTips : BaseUnityPlugin
private static bool _noResearchCompletionPopups = true;
private static bool _noResearchCompletionTips;
private static bool _skipPrologue = true;
// private static bool _hideMenuDemo;
// private static bool _hideMenuDemo;
private static Harmony _patch;
@@ -34,7 +34,7 @@ public class HideTips : BaseUnityPlugin
_noResearchCompletionPopups = Config.Bind("General", "NoResearchCompletionPopups", _noResearchCompletionPopups, "Disable Research Completion Popup Windows").Value;
_noResearchCompletionTips = Config.Bind("General", "NoResearchCompletionTips", _noResearchCompletionTips, "Disable Research Completion Tips").Value;
_skipPrologue = Config.Bind("General", "SkipPrologue", _skipPrologue, "Skip prologue for new game").Value;
// _hideMenuDemo = Config.Bind("General", "HideMenuDemo", _hideMenuDemo, "Disable title screen demo scene loading").Value;
// _hideMenuDemo = Config.Bind("General", "HideMenuDemo", _hideMenuDemo, "Disable title screen demo scene loading").Value;
if (!_cfgEnabled) return;
Harmony.CreateAndPatchAll(typeof(HideTips));
/*
@@ -59,7 +59,7 @@ public class HideTips : BaseUnityPlugin
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIBuildMenu), "_OnCreate")]
[HarmonyPatch(typeof(UIBuildMenu), nameof(UIBuildMenu._OnCreate))]
private static void ClearRandReminderTips(UIBuildMenu __instance)
{
if (!_noRandomReminderTips) return;
@@ -70,48 +70,52 @@ public class HideTips : BaseUnityPlugin
randTip._Free();
}
}
__instance.randRemindTips = Array.Empty<UIRandomTip>();
}
[HarmonyPostfix]
[HarmonyPatch(typeof(UIGameMenu), "_OnCreate")]
[HarmonyPatch(typeof(UIGameMenu), nameof(UIGameMenu._OnCreate))]
private static void UIGameMenu__OnCreate_Postfix(UIGameMenu __instance)
{
if (!_noRandomReminderTips) return;
__instance.randTipButton0.pop = __instance.randTipButton0.popCount;
__instance.randTipButton1.pop = __instance.randTipButton1.popCount;
__instance.randTipButton2.pop = __instance.randTipButton2.popCount;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(UITutorialTip), "PopupTutorialTip")]
private static bool UITutorialTip_PopupTutorialTip_Prefix()
[HarmonyPatch(typeof(UITutorialTip), nameof(UITutorialTip.PopupTutorialTip))]
private static bool UITutorialTip_PopupTutorialTip_Prefix(int tutorialId)
{
return !_noTutorialTips;
if (!_noTutorialTips) return true;
GameMain.history.UnlockTutorial(tutorialId);
return false;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(UIVariousPopupGroup), "CreateAchievementPopupCard")]
[HarmonyPatch(typeof(UIVariousPopupGroup), nameof(UIVariousPopupGroup.CreateAchievementPopupCard))]
private static bool UIVariousPopupGroup_CreateAchievementPopupCard_Prefix()
{
return !_noAchievementCardPopups;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(UIVariousPopupGroup), "CreateMilestonePopupCard")]
[HarmonyPatch(typeof(UIVariousPopupGroup), nameof(UIVariousPopupGroup.CreateMilestonePopupCard))]
private static bool UIVariousPopupGroup_CreateMilestonePopupCard_Prefix()
{
return !_noMilestoneCardPopups;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(UIResearchResultWindow), "SetTechId")]
[HarmonyPatch(typeof(UIResearchResultWindow), nameof(UIResearchResultWindow.SetTechId))]
private static bool UIResearchResultWindow_SetTechId_Prefix()
{
return !_noResearchCompletionPopups;
}
[HarmonyTranspiler]
[HarmonyPatch(typeof(UIGeneralTips), "OnTechUnlocked")]
[HarmonyPatch(typeof(UIGeneralTips), nameof(UIGeneralTips.OnTechUnlocked))]
private static IEnumerable<CodeInstruction> UIGeneralTips_OnTechUnlocked_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
{
var matcher = new CodeMatcher(instructions, generator);
@@ -134,7 +138,7 @@ public class HideTips : BaseUnityPlugin
}
[HarmonyPrefix]
[HarmonyPatch(typeof(DSPGame), "StartGame", typeof(GameDesc))]
[HarmonyPatch(typeof(DSPGame), nameof(DSPGame.StartGame), typeof(GameDesc))]
private static bool DSPGame_StartGame_Prefix(GameDesc _gameDesc)
{
if (!_skipPrologue) return true;

View File

@@ -6,7 +6,7 @@
<AssemblyName>HideTips</AssemblyName>
<BepInExPluginGuid>org.soardev.hidetips</BepInExPluginGuid>
<Description>DSP MOD - HideTips</Description>
<Version>1.0.3</Version>
<Version>1.0.4</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion>
<RestoreAdditionalProjectSources>https://nuget.bepinex.dev/v3/index.json</RestoreAdditionalProjectSources>
@@ -23,7 +23,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>

View File

@@ -4,6 +4,9 @@
#### 隐藏/屏蔽各种引导提示/消息
## Changelog
* 1.0.4
+ Remove `Disable title screen demo scene loading`, as it is buggy in recent updates.
+ Fix a bug that when tutorials are not added to the guides panel when they are hidden by this MOD.
* 1.0.3
+ Add config entries to disable research completion tips/popup windows
+ Add a note to README for mod compatibility on `Disable title screen demo scene loading`.
@@ -17,10 +20,12 @@
## Usage
* Tips/messages that can be hidden: random-reminder, tutorial, achievement/milestone card, research completion tips/popup windows.
* Skip prologue for new game.
* Disable title screen demo scene loading. Be note that this may conflict with some mods, disable this if you get any error popup on title screen.
* Each type of tips/messages is configurable individually.
## 更新日志
* 1.0.4
+ 移除`关闭标题画面的演示场景加载`设置因为在最近的更新中有较多bug。
+ 修复了一个bug当教程指引被这个MOD隐藏时它们不会被添加到教程面板。
* 1.0.3
+ 增加设置项以关闭研究完成的提示/弹窗
+ 在README中增加了一个关于`关闭标题画面的演示场景加载`设置的兼容性说明
@@ -34,5 +39,4 @@
## 使用说明
* 可以屏蔽的消息:随机提醒,教程,成就/里程碑卡片,研究完成的提示/弹窗。
* 跳过新游戏引导动画。
* 关闭标题画面的演示场景加载。注意这可能会和其他mod冲突如果在标题画面出现错误弹窗请关闭这个设置。
* 各种屏蔽功能都可以在配置文件里开关。

View File

@@ -1,6 +1,6 @@
{
"name": "HideTips",
"version_number": "1.0.3",
"version_number": "1.0.4",
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/HideTips",
"description": "Hide/Disable various tutorial tips/messages / 隐藏/屏蔽各种引导提示/消息",
"dependencies": [

View File

@@ -23,7 +23,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;IF NOT EXIST package\plugins (mkdir package\plugins)&#xA;copy /y $(TargetPath) package\plugins\&#xA;cd package&#xA;powershell Compress-Archive -Force -DestinationPath '$(ProjectName)-$(Version).zip' -Path patchers, plugins, icon.png, manifest.json, ../README.md" />
</Target>
</Project>

View File

@@ -22,7 +22,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="IF NOT EXIST ..\LabOpt\package\patchers (mkdir ..\LabOpt\package\patchers)&#xA;copy /y $(TargetPath) ..\LabOpt\package\patchers\" />
</Target>
</Project>

View File

@@ -23,7 +23,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>

View File

@@ -23,7 +23,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>

View File

@@ -25,7 +25,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>

View File

@@ -23,7 +23,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>

View File

@@ -25,7 +25,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, package/uxassist.assetbundle, README.md" />
</Target>
</Project>

View File

@@ -28,7 +28,7 @@
<ProjectReference Include="..\UXAssist\UXAssist.csproj" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>

View File

@@ -23,7 +23,7 @@
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'Release'">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;powershell Compress-Archive -Force -DestinationPath 'package/$(ProjectName)-$(Version).zip' -Path '$(TargetPath)', package/icon.png, package/manifest.json, README.md" />
</Target>
</Project>