From a4c46b94d287306ab4a01263bcd3988da829ebed Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Mon, 8 Jun 2020 19:38:35 -0700 Subject: [PATCH] Add flag selection to flag decals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Add flag selection code blatantly stolen from WBDecals • Fix attachment of symmetrically attached decals --- .../Plugins/ConformalDecals.dll | Bin 34304 -> 35840 bytes .../ConformalDecals/ModuleConformalDecal.cs | 2 +- Source/ConformalDecals/ModuleConformalFlag.cs | 90 +++++++++++++++--- 3 files changed, 78 insertions(+), 14 deletions(-) diff --git a/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll index e4bd8a987d309f2acfbcd1123a7abe62f37b33a6..4820aad20cae7c7267cf332b04335cb9f280455e 100644 GIT binary patch literal 35840 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 literal 34304 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 + flagBrowser.OnFlagSelected = OnCustomFlagSelected; + } + + [KSPEvent(guiActive = false, guiActiveEditor = true, guiName = "Reset Flag")] + public void ResetFlag() { + SetFlag(MissionFlagUrl); + SetFlagSymmetryCounterparts(MissionFlagUrl); + + useCustomFlag = false; + Events[nameof(ResetFlag)].guiActiveEditor = false; + } + + private void OnCustomFlagSelected(FlagBrowser.FlagEntry newFlagEntry) { + SetFlag(newFlagEntry.textureInfo.name); + SetFlagSymmetryCounterparts(newFlagEntry.textureInfo.name); + + useCustomFlag = true; + Events[nameof(ResetFlag)].guiActiveEditor = true; + } + + private void OnEditorFlagSelected(string newFlagUrl) { + if (useCustomFlag) { + SetFlag(newFlagUrl); + SetFlagSymmetryCounterparts(newFlagUrl); } } - private void UpdateFlag(string flagUrl) { - this.Log($"Loading flag texture '{flagUrl}'."); + private void SetFlag(string newFlagUrl) { + this.Log($"Loading flag texture '{newFlagUrl}'."); - materialProperties.AddOrGetTextureProperty("_Decal", true).TextureUrl = flagUrl; + flagUrl = newFlagUrl; + materialProperties.AddOrGetTextureProperty("_Decal", true).TextureUrl = newFlagUrl; UpdateMaterials(); } + + private void SetFlagSymmetryCounterparts(string newFlagUrl) { + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + + decal.SetFlag(newFlagUrl); + decal.useCustomFlag = useCustomFlag; + } + } } } \ No newline at end of file