From f0c672b70c99d6514b7a3d61c21aa58395a3a7c7 Mon Sep 17 00:00:00 2001 From: Pavlos Touboulidis Date: Fri, 13 Jun 2014 14:02:51 +0300 Subject: [PATCH] Move ChooseRandomCell from WorldUtils to Map --- OpenRA.Game/Map/Map.cs | 8 ++++++++ OpenRA.Game/WorldUtils.cs | 7 ------- OpenRA.Mods.RA/CrateSpawner.cs | 2 +- OpenRA.Mods.RA/Scripting/Global/MapGlobal.cs | 2 +- OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index b8597f7203..293ba3cbef 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -19,6 +19,7 @@ using OpenRA.FileSystem; using OpenRA.Network; using OpenRA.Traits; using OpenRA.Graphics; +using OpenRA.Support; namespace OpenRA { @@ -556,5 +557,12 @@ namespace OpenRA var r = Bounds; return xy.Clamp(new Rectangle(r.X, r.Y, r.Width - 1, r.Height - 1)); } + + public CPos ChooseRandomCell(MersenneTwister r) + { + return new CPos( + r.Next(Bounds.Left, Bounds.Right), + r.Next(Bounds.Top, Bounds.Bottom)); + } } } diff --git a/OpenRA.Game/WorldUtils.cs b/OpenRA.Game/WorldUtils.cs index f421a6ec0d..d9e5e4f44c 100644 --- a/OpenRA.Game/WorldUtils.cs +++ b/OpenRA.Game/WorldUtils.cs @@ -100,13 +100,6 @@ namespace OpenRA : (edge ? w.Map.Bounds.Top : w.Map.Bounds.Bottom)); } - public static CPos ChooseRandomCell(this World w, MersenneTwister r) - { - return new CPos( - r.Next(w.Map.Bounds.Left, w.Map.Bounds.Right), - r.Next(w.Map.Bounds.Top, w.Map.Bounds.Bottom)); - } - public static WRange DistanceToMapEdge(this World w, WPos pos, WVec dir) { var tl = w.Map.Bounds.TopLeftAsCPos().TopLeft; diff --git a/OpenRA.Mods.RA/CrateSpawner.cs b/OpenRA.Mods.RA/CrateSpawner.cs index f397a1e934..98e9cb9ff3 100644 --- a/OpenRA.Mods.RA/CrateSpawner.cs +++ b/OpenRA.Mods.RA/CrateSpawner.cs @@ -114,7 +114,7 @@ namespace OpenRA.Mods.RA { for (var n = 0; n < maxTries; n++) { - var p = self.World.ChooseRandomCell(self.World.SharedRandom); + var p = self.World.Map.ChooseRandomCell(self.World.SharedRandom); // Is this valid terrain? var terrainType = self.World.Map.GetTerrainInfo(p).Type; diff --git a/OpenRA.Mods.RA/Scripting/Global/MapGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/MapGlobal.cs index 58a050bb72..c9b42bd726 100644 --- a/OpenRA.Mods.RA/Scripting/Global/MapGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/MapGlobal.cs @@ -46,7 +46,7 @@ namespace OpenRA.Mods.RA.Scripting [Desc("Returns a random cell inside the visible region of the map.")] public CPos RandomCell() { - return context.World.ChooseRandomCell(context.World.SharedRandom); + return context.World.Map.ChooseRandomCell(context.World.SharedRandom); } [Desc("Returns a random cell on the visible border of the map.")] diff --git a/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs b/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs index ec0607dc34..c8d88d43bb 100644 --- a/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs +++ b/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs @@ -339,7 +339,7 @@ namespace OpenRA.Mods.RA.Scripting [LuaGlobal] public CPos GetRandomCell() { - return world.ChooseRandomCell(world.SharedRandom); + return world.Map.ChooseRandomCell(world.SharedRandom); } [LuaGlobal]