From d8ab2163deaa01716d6524bc1a43f159e650a29e Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Sun, 5 Oct 2025 22:46:06 +0800 Subject: [PATCH] update XianTu to support latest patch --- CompressSave/CompressSave.csproj | 10 ++- .../DataController/BlueTuController.cs | 62 +++++++++---------- XianTu/XianTu.csproj | 14 ++++- 3 files changed, 51 insertions(+), 35 deletions(-) diff --git a/CompressSave/CompressSave.csproj b/CompressSave/CompressSave.csproj index 007e447..eae4adc 100644 --- a/CompressSave/CompressSave.csproj +++ b/CompressSave/CompressSave.csproj @@ -14,10 +14,18 @@ - + + + + ..\AssemblyFromGame\Assembly-CSharp.dll + + + ..\AssemblyFromGame\UnityEngine.UI.dll + + diff --git a/XianTu/Scripts/DataController/BlueTuController.cs b/XianTu/Scripts/DataController/BlueTuController.cs index 2dff3dc..53a9859 100644 --- a/XianTu/Scripts/DataController/BlueTuController.cs +++ b/XianTu/Scripts/DataController/BlueTuController.cs @@ -156,25 +156,27 @@ namespace XianTu.Scripts.DataController private void Build(BuildTool_BlueprintPaste bp) { - PlayerController.cmd.stage = 1; - bp.GenerateBlueprintGratBoxes(); - bp.DeterminePreviewsPrestage(true); - bp.ActiveColliders(_actionBuild.model); - bp.buildCondition = bp.CheckBuildConditions(); - bp.DeterminePreviews(); - bp.DeactiveColliders(_actionBuild.model); - var buildCondition = bp.buildCondition; - if (buildCondition) + if (bp.CheckBuildConditionsPrestage()) { - bp.CreatePrebuilds(); - bp.ResetStates(); - } - else - { - bp.isDragging = false; - bp.startGroundPosSnapped = bp.castGroundPosSnapped; - _BuildTool_BluePrint_OnTick(); + PlayerController.cmd.stage = 1; + bp.GenerateBlueprintGratBoxes(); + bp.DeterminePreviewsPrestage(true, false); + bp.ActiveColliders(_actionBuild.model); + var buildCondition = bp.CheckBuildConditions(); + bp.DeterminePreviews(); + bp.result = (buildCondition ? (bp.result & ~EBlueprintPasteResult.HasError) : (bp.result | EBlueprintPasteResult.HasError)); + bp.DeactiveColliders(_actionBuild.model); + bp.CalculateReformData(); + if (buildCondition && bp.quickPaste && (bp.result & EBlueprintPasteResult.HasReform) == EBlueprintPasteResult.None) + { + bp.CreatePrebuilds(); + bp.ResetStates(); + } } + bp.isDragging = false; + bp.startGroundPosSnapped = bp.castGroundPosSnapped; + bp.ErrorGridClustering(); + _BuildTool_BluePrint_OnTick(); } private void OnUserChangeData() @@ -372,20 +374,18 @@ namespace XianTu.Scripts.DataController { buildToolBlueprintPaste.ClearErrorMessage(); buildToolBlueprintPaste.UpdateRaycast(); - var flag2 = PlayerController.cmd.stage == 0; - if (flag2) - { - buildToolBlueprintPaste.OperatingPrestage(); - } - else - { - var flag3 = PlayerController.cmd.stage == 1; - if (flag3) - { - buildToolBlueprintPaste.Operating(); - } - } - buildToolBlueprintPaste.UpdatePreviewModels(_actionBuild.model); + buildToolBlueprintPaste.CheckBuildConditionsPrestage(); + switch (PlayerController.cmd.stage) + { + case 0: + buildToolBlueprintPaste.OperatingPrestage(); + break; + case 1: + buildToolBlueprintPaste.Operating(); + break; + } + buildToolBlueprintPaste.UpdatePreviewModels(_actionBuild.model); + buildToolBlueprintPaste.ErrorGridClustering(); } } diff --git a/XianTu/XianTu.csproj b/XianTu/XianTu.csproj index 3987b78..142e1d3 100644 --- a/XianTu/XianTu.csproj +++ b/XianTu/XianTu.csproj @@ -15,9 +15,17 @@ - - - + + + + + + + ..\AssemblyFromGame\Assembly-CSharp.dll + + + ..\AssemblyFromGame\UnityEngine.UI.dll +