public GetWallPosition ( TilePosition tilePosition, DungeonMasterEngine.DungeonContent.Tiles.Tile currentTile ) : Vector3 | ||
tilePosition | TilePosition | |
currentTile | DungeonMasterEngine.DungeonContent.Tiles.Tile | |
return | Vector3 |
private void SetupTags(TileData wall, Point textTagTilePosition) { foreach (var textTag in wall.TextTags.Where(x => !x.Processed && x.GetParentPosition(textTagTilePosition) == CurrentTile.GridPosition)) { textTag.Processed = true; var tag = new TextTag(builder.GetWallPosition(textTag.TilePosition, CurrentTile), textTag.IsVisible, textTag.TilePosition == TilePosition.East_TopRight || textTag.TilePosition == TilePosition.West_BottomRight, textTag.Text.Replace("|", Environment.NewLine)) { AcceptMessages = textTag.HasTargetingActuator }; CurrentTile.SubItems.Add(tag); } }
public void CreateSetupActuators(Tile currentTile) { var actuators = builder.CurrentMap.GetTileData(currentTile.GridPosition).Actuators; if (actuators.Any()) { var factory = parser.TryMatchFactory(actuators, false); if (factory != null) { currentTile.SubItems.Add(factory.CreateItem(builder, currentTile, actuators)); } else { if (actuators.All(x => x.ActuatorType != 5 && x.ActuatorType != 6)) { foreach (var i in actuators) { Point?absolutePosition = null; if (i.ActionLocation is RemoteTarget) { absolutePosition = ((RemoteTarget)i.ActionLocation).Position.Position.ToAbsolutePosition(builder.CurrentMap); } currentTile.SubItems.Add(new Actuator(builder.GetWallPosition(i.TilePosition, currentTile), $"{absolutePosition} {i.DumpString()}")); } } else { } } } }