From a378abe7c103d7a61dbf0866c617b6fff7f46c48 Mon Sep 17 00:00:00 2001 From: Christopher Grant Date: Sat, 4 Jul 2015 13:51:45 -0400 Subject: [PATCH] Moved RandomWalk to OpenRA.Traits.Util --- OpenRA.Game/Traits/Util.cs | 15 +++++++++++++++ OpenRA.Mods.Common/Traits/SeedsResource.cs | 17 +---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/OpenRA.Game/Traits/Util.cs b/OpenRA.Game/Traits/Util.cs index 3ac2693589..3757c69dda 100644 --- a/OpenRA.Game/Traits/Util.cs +++ b/OpenRA.Game/Traits/Util.cs @@ -149,5 +149,20 @@ namespace OpenRA.Traits return (int)a; } + + public static IEnumerable RandomWalk(CPos p, MersenneTwister r) + { + for (;;) + { + var dx = r.Next(-1, 2); + var dy = r.Next(-1, 2); + + if (dx == 0 && dy == 0) + continue; + + p += new CVec(dx, dy); + yield return p; + } + } } } diff --git a/OpenRA.Mods.Common/Traits/SeedsResource.cs b/OpenRA.Mods.Common/Traits/SeedsResource.cs index 0f15622957..3eb3bbd703 100644 --- a/OpenRA.Mods.Common/Traits/SeedsResource.cs +++ b/OpenRA.Mods.Common/Traits/SeedsResource.cs @@ -63,7 +63,7 @@ namespace OpenRA.Mods.Common.Traits public void Seed(Actor self) { - var cell = RandomWalk(self.Location, self.World.SharedRandom) + var cell = Util.RandomWalk(self.Location, self.World.SharedRandom) .Take(info.MaxRange) .SkipWhile(p => resLayer.GetResource(p) == resourceType && resLayer.IsFull(p)) .Cast().FirstOrDefault(); @@ -71,20 +71,5 @@ namespace OpenRA.Mods.Common.Traits if (cell != null && resLayer.CanSpawnResourceAt(resourceType, cell.Value)) resLayer.AddResource(resourceType, cell.Value, 1); } - - static IEnumerable RandomWalk(CPos p, MersenneTwister r) - { - for (;;) - { - var dx = r.Next(-1, 2); - var dy = r.Next(-1, 2); - - if (dx == 0 && dy == 0) - continue; - - p += new CVec(dx, dy); - yield return p; - } - } } }