Replace ResourceType with strings in interfaces/public methods.
This commit is contained in:
@@ -28,21 +28,12 @@ namespace OpenRA.Mods.Common.Traits
|
||||
class SeedsResource : ConditionalTrait<SeedsResourceInfo>, ITick, ISeedableResource
|
||||
{
|
||||
readonly SeedsResourceInfo info;
|
||||
|
||||
readonly ResourceType resourceType;
|
||||
readonly IResourceLayer resourceLayer;
|
||||
|
||||
public SeedsResource(Actor self, SeedsResourceInfo info)
|
||||
: base(info)
|
||||
{
|
||||
this.info = info;
|
||||
|
||||
resourceType = self.World.WorldActor.TraitsImplementing<ResourceType>()
|
||||
.FirstOrDefault(t => t.Info.Type == info.ResourceType);
|
||||
|
||||
if (resourceType == null)
|
||||
throw new InvalidOperationException("No such resource type `{0}`".F(info.ResourceType));
|
||||
|
||||
resourceLayer = self.World.WorldActor.Trait<IResourceLayer>();
|
||||
}
|
||||
|
||||
@@ -64,11 +55,11 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
var cell = Util.RandomWalk(self.Location, self.World.SharedRandom)
|
||||
.Take(info.MaxRange)
|
||||
.SkipWhile(p => resourceLayer.GetResource(p).Type == resourceType && !resourceLayer.CanAddResource(resourceType, p))
|
||||
.SkipWhile(p => resourceLayer.GetResource(p).Type == info.ResourceType && !resourceLayer.CanAddResource(info.ResourceType, p))
|
||||
.Cast<CPos?>().FirstOrDefault();
|
||||
|
||||
if (cell != null && resourceLayer.CanAddResource(resourceType, cell.Value))
|
||||
resourceLayer.AddResource(resourceType, cell.Value);
|
||||
if (cell != null && resourceLayer.CanAddResource(info.ResourceType, cell.Value))
|
||||
resourceLayer.AddResource(info.ResourceType, cell.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user