From 0652cd3dfae08cb41c9b7d81d0bddcb4e6df5ee5 Mon Sep 17 00:00:00 2001 From: Fluffy Date: Tue, 14 Aug 2018 23:03:50 +0200 Subject: [PATCH] fix right-click context menus --- About/About.xml | 4 +- Assemblies/Blueprints.dll | Bin 34816 -> 36352 bytes Readme.md | 2 +- Source/Blueprints/Blueprint.cs | 3 - Source/Blueprints/Blueprints.csproj | 2 +- Source/Blueprints/BuildableInfo.cs | 4 + Source/Blueprints/Designator_Blueprint.cs | 69 ++++++++---------- .../Blueprints/Designator_CreateBlueprint.cs | 37 +++------- Source/Blueprints/Resources.cs | 7 ++ 9 files changed, 57 insertions(+), 71 deletions(-) diff --git a/About/About.xml b/About/About.xml index 377663e..cf39375 100644 --- a/About/About.xml +++ b/About/About.xml @@ -3,7 +3,7 @@ Blueprints Fluffy https://ludeon.com/forums/index.php?topic=16120.0 - 1.0.1970 + 0.19.1987 Blueprints allow the quick construction of repetitive rooms/areas. <size=24>Features</size> @@ -35,7 +35,7 @@ Butter-Knife: Japanese translation Kirill: <size=24>Version</size> -This is version 1.2.16, for RimWorld 1.0.1970. +This is version 1.2.21, for RimWorld 0.19.1987. \ No newline at end of file diff --git a/Assemblies/Blueprints.dll b/Assemblies/Blueprints.dll index 0937678ea82fce649f9e5918da0213373809b977..91a53b43ecd68a9ede5550a6b7c673f2319b99e9 100644 GIT binary patch literal 36352 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 diff --git a/Readme.md b/Readme.md index 9019b35..fa534f1 100644 --- a/Readme.md +++ b/Readme.md @@ -48,4 +48,4 @@ Show your appreciation by buying me a coffee (or contribute towards a nice singl [![Buy Me a Coffee](http://i.imgur.com/EjWiUwx.gif)](https://ko-fi.com/fluffymods) # Version -This is version 1.2.16, for RimWorld 1.0.1970. \ No newline at end of file +This is version 1.2.21, for RimWorld 0.19.1987. \ No newline at end of file diff --git a/Source/Blueprints/Blueprint.cs b/Source/Blueprints/Blueprint.cs index b8ccbbd..1a09df3 100644 --- a/Source/Blueprints/Blueprint.cs +++ b/Source/Blueprints/Blueprint.cs @@ -1,10 +1,7 @@ using RimWorld; -using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Text.RegularExpressions; -using UnityEngine; using Verse; namespace Blueprints diff --git a/Source/Blueprints/Blueprints.csproj b/Source/Blueprints/Blueprints.csproj index e67612c..ff0a559 100644 --- a/Source/Blueprints/Blueprints.csproj +++ b/Source/Blueprints/Blueprints.csproj @@ -31,7 +31,7 @@ 4 - + ..\..\..\..\dlls\Assembly-CSharp.dll False diff --git a/Source/Blueprints/BuildableInfo.cs b/Source/Blueprints/BuildableInfo.cs index b4c0f01..1598be2 100644 --- a/Source/Blueprints/BuildableInfo.cs +++ b/Source/Blueprints/BuildableInfo.cs @@ -116,6 +116,10 @@ public PlacementReport CanPlace(IntVec3 origin) // get rotated cell position var cell = origin + Position; + // if out of bounds, we clearly can't place it + if (!GenGrid.InBounds(cell, Find.CurrentMap)) + return PlacementReport.CanNotPlace; + // if the designator's check passes, we can safely assume it's OK to build here if (Designator.CanDesignateCell(cell).Accepted) return PlacementReport.CanPlace; diff --git a/Source/Blueprints/Designator_Blueprint.cs b/Source/Blueprints/Designator_Blueprint.cs index f35c83a..7049f82 100644 --- a/Source/Blueprints/Designator_Blueprint.cs +++ b/Source/Blueprints/Designator_Blueprint.cs @@ -9,7 +9,6 @@ namespace Blueprints { - [StaticConstructorOnStartup] public class Designator_Blueprint : Designator { #region Fields @@ -39,11 +38,41 @@ public Designator_Blueprint( Blueprint blueprint ) public Blueprint Blueprint => _blueprint; public override int DraggableDimensions => 0; public override string Label => _blueprint.name; + public override IEnumerable RightClickFloatMenuOptions + { + get + { + List options = new List(); + + // rename + options.Add(new FloatMenuOption("Fluffy.Blueprints.Rename".Translate(), delegate + { Find.WindowStack.Add(new Dialog_NameBlueprint(this.Blueprint)); })); + + // delete blueprint + options.Add(new FloatMenuOption("Fluffy.Blueprints.Remove".Translate(), delegate + { Controller.Remove(this, false); })); + + // delete blueprint and remove from disk + if (this.Blueprint.exported) + { + options.Add(new FloatMenuOption("Fluffy.Blueprints.RemoveAndDeleteXML".Translate(), delegate + { Controller.Remove(this, true); })); + } + + // store to xml + else + { + options.Add(new FloatMenuOption("Fluffy.Blueprints.SaveToXML".Translate(), delegate + { Controller.SaveToXML(this.Blueprint); })); + } + + return options; + } + } #endregion Properties #region Methods - public override AcceptanceReport CanDesignateCell( IntVec3 loc ) { // always return true - we're looking at the larger blueprint in SelectedUpdate() and DesignateSingleCell() instead. @@ -257,42 +286,6 @@ public override bool GroupsWith( Gizmo other ) return this.Blueprint == ( other as Designator_Blueprint ).Blueprint; } - public override void ProcessInput( Event ev ) - { - // float menu on right click - if ( ev.button == 1 ) - { - List options = new List(); - - // rename - options.Add( new FloatMenuOption( "Fluffy.Blueprints.Rename".Translate(), delegate - { Find.WindowStack.Add( new Dialog_NameBlueprint( this.Blueprint ) ); } ) ); - - // delete blueprint - options.Add( new FloatMenuOption( "Fluffy.Blueprints.Remove".Translate(), delegate - { Controller.Remove( this, false ); } ) ); - - // delete blueprint and remove from disk - if ( this.Blueprint.exported ) - { - options.Add( new FloatMenuOption( "Fluffy.Blueprints.RemoveAndDeleteXML".Translate(), delegate - { Controller.Remove( this, true ); } ) ); - } - - // store to xml - else - { - options.Add( new FloatMenuOption( "Fluffy.Blueprints.SaveToXML".Translate(), delegate - { Controller.SaveToXML( this.Blueprint ); } ) ); - } - - Find.WindowStack.Add( new FloatMenu( options ) ); - return; - } - - base.ProcessInput( ev ); - } - public override void Selected() { base.Selected(); diff --git a/Source/Blueprints/Designator_CreateBlueprint.cs b/Source/Blueprints/Designator_CreateBlueprint.cs index 55c50a8..42586f6 100644 --- a/Source/Blueprints/Designator_CreateBlueprint.cs +++ b/Source/Blueprints/Designator_CreateBlueprint.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using RimWorld; -using UnityEngine; using Verse; namespace Blueprints @@ -14,16 +13,7 @@ public class Designator_CreateBlueprint : Designator public Designator_CreateBlueprint() { - // Silly A13+ workaround - LongEventHandler.ExecuteWhenFinished( delegate - { - Resources.Icon_AddBlueprint = ContentFinder.Get( "Icons/AddBlueprint", true ); - Resources.Icon_Blueprint = ContentFinder.Get( "Icons/Blueprint", true ); - Resources.Icon_Edit = ContentFinder.Get( "Icons/Edit", true ); - - icon = Resources.Icon_AddBlueprint; - } ); - + // icon = Resources.Icon_AddBlueprint; defaultLabel = "Fluffy.Blueprints.Create".Translate(); defaultDesc = "Fluffy.Blueprints.CreateHelp".Translate(); useMouseIcon = true; @@ -57,28 +47,23 @@ public override void RenderHighlight( List dragCells ) DesignatorUtility.RenderHighlightOverSelectableCells( this, dragCells); } - public override void ProcessInput( Event ev ) - { - if ( ev.button == 1 ) + public override IEnumerable RightClickFloatMenuOptions { + get { var options = new List(); - foreach ( var file in Controller.GetSavedFilesList() ) + foreach (var file in Controller.GetSavedFilesList()) { - var name = Path.GetFileNameWithoutExtension( file.Name ); - if ( Controller.FindBlueprint( name ) == null ) - options.Add( new FloatMenuOption( "Fluffy.Blueprints.LoadFromXML".Translate( name ), - delegate { Controller.Add( Controller.LoadFromXML( file.Name ) ); } ) ); + var name = Path.GetFileNameWithoutExtension(file.Name); + if (Controller.FindBlueprint(name) == null) + options.Add(new FloatMenuOption("Fluffy.Blueprints.LoadFromXML".Translate(name), + delegate { Controller.Add(Controller.LoadFromXML(file.Name)); })); } - if ( options.NullOrEmpty() ) - Messages.Message( "Fluffy.Blueprints.NoStoredBlueprints".Translate(), MessageTypeDefOf.RejectInput ); - else - Find.WindowStack.Add( new FloatMenu( options ) ); - return; + if (options.NullOrEmpty()) + Messages.Message("Fluffy.Blueprints.NoStoredBlueprints".Translate(), MessageTypeDefOf.RejectInput); + return options; } - - base.ProcessInput( ev ); } public override void DesignateMultiCell( IEnumerable cells ) diff --git a/Source/Blueprints/Resources.cs b/Source/Blueprints/Resources.cs index 87fab21..5665b67 100644 --- a/Source/Blueprints/Resources.cs +++ b/Source/Blueprints/Resources.cs @@ -30,6 +30,13 @@ public class Resources #endregion Fields + static Resources() + { + Icon_AddBlueprint = ContentFinder.Get("Icons/AddBlueprint", true); + Icon_Blueprint = ContentFinder.Get("Icons/Blueprint", true); + Icon_Edit = ContentFinder.Get("Icons/Edit", true); + } + #region Methods public static IntVec3 CenterPosition( IntVec3 bottomLeft, IntVec2 size, Rot4 rotation )