Fix tile actions (#6958)

This commit is contained in:
Leon Friedrich
2022-03-02 14:48:33 +13:00
committed by GitHub
parent 6cd7773331
commit aeaa7f65bc
2 changed files with 220 additions and 214 deletions

View File

@@ -53,13 +53,18 @@ public sealed partial class MappingSystem : EntitySystem
return;
var actionEvent = new StartPlacementActionEvent();
ITileDefinition? tileDef = null;
if (_placementMan.CurrentPermission != null)
{
actionEvent.EntityType = _placementMan.CurrentPermission.EntityType;
actionEvent.IsTile = _placementMan.CurrentPermission.IsTile;
actionEvent.TileType = _placementMan.CurrentPermission.TileType;
actionEvent.PlacementOption = _placementMan.CurrentPermission.PlacementOption;
if (_placementMan.CurrentPermission.IsTile)
{
tileDef = _tileMan[_placementMan.CurrentPermission.TileType];
actionEvent.TileId = tileDef.ID;
}
}
else if (_placementMan.Eraser)
{
@@ -68,10 +73,8 @@ public sealed partial class MappingSystem : EntitySystem
else
return;
if (actionEvent.IsTile)
if (tileDef != null)
{
var tileDef = _tileMan[actionEvent.TileType];
if (tileDef is not ContentTileDefinition contentTileDef)
return;
@@ -125,8 +128,8 @@ public sealed partial class MappingSystem : EntitySystem
_placementMan.BeginPlacing(new()
{
EntityType = args.EntityType,
IsTile = args.IsTile,
TileType = args.TileType,
IsTile = args.TileId != null,
TileType = args.TileId != null ? _tileMan[args.TileId].TileId : (ushort) 0,
PlacementOption = args.PlacementOption,
});
@@ -140,11 +143,8 @@ public sealed class StartPlacementActionEvent : PerformActionEvent
[DataField("entityType")]
public string? EntityType;
[DataField("isTile")]
public bool IsTile;
[DataField("tileType")]
public ushort TileType;
[DataField("tileId")]
public string? TileId;
[DataField("placementOption")]
public string? PlacementOption;

File diff suppressed because it is too large Load Diff