Support weighted tile variantize (#18940)
* Support weighted tile variantize * Remove unused using * Use an array
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.Maps;
|
||||
using Robust.Shared.Console;
|
||||
using Robust.Shared.Map;
|
||||
@@ -42,7 +42,7 @@ public sealed class VariantizeCommand : IConsoleCommand
|
||||
foreach (var tile in gridComp.GetAllTiles())
|
||||
{
|
||||
var def = tile.GetContentTileDefinition();
|
||||
var newTile = new Tile(tile.Tile.TypeId, tile.Tile.Flags, random.Pick(def.PlacementVariants));
|
||||
var newTile = new Tile(tile.Tile.TypeId, tile.Tile.Flags, def.PickVariant(random));
|
||||
gridComp.SetTile(tile.GridIndices, newTile);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Numerics;
|
||||
using System.Numerics;
|
||||
using Content.Server.Decals;
|
||||
using Content.Shared.Coordinates.Helpers;
|
||||
using Content.Shared.Decals;
|
||||
@@ -26,7 +26,7 @@ public sealed class TileSystem : EntitySystem
|
||||
var tileRef = grid.GetTileRef(indices);
|
||||
return PryTile(tileRef);
|
||||
}
|
||||
|
||||
|
||||
public bool PryTile(TileRef tileRef)
|
||||
{
|
||||
return PryTile(tileRef, false);
|
||||
@@ -74,7 +74,7 @@ public sealed class TileSystem : EntitySystem
|
||||
if (!Resolve(grid, ref component))
|
||||
return false;
|
||||
|
||||
var variant = _robustRandom.Pick(replacementTile.PlacementVariants);
|
||||
var variant = replacementTile.PickVariant();
|
||||
var decals = _decal.GetDecalsInRange(tileref.GridUid, _turf.GetTileCenter(tileref).Position, 0.5f);
|
||||
foreach (var (id, _) in decals)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Linq;
|
||||
using System.Linq;
|
||||
using Content.Server.Worldgen.Components.Debris;
|
||||
using Content.Shared.Maps;
|
||||
using Robust.Shared.Map;
|
||||
@@ -56,7 +56,7 @@ public sealed class BlobFloorPlanBuilderSystem : BaseWorldSystem
|
||||
spawnPoints.Add(west);
|
||||
|
||||
var tileDef = _tileDefinition[_random.Pick(comp.FloorTileset)];
|
||||
taken.Add(point, new Tile(tileDef.TileId, 0, _random.Pick(((ContentTileDefinition)tileDef).PlacementVariants)));
|
||||
taken.Add(point, new Tile(tileDef.TileId, 0, ((ContentTileDefinition)tileDef).PickVariant(_random)));
|
||||
}
|
||||
|
||||
PlaceTile(Vector2i.Zero);
|
||||
|
||||
Reference in New Issue
Block a user