Table of Contents

Class MapViewLayout

Namespace
WitShells.MapView
public class MapViewLayout : MonoBehaviour, IPointerClickHandler, IDragHandler, IScrollHandler
Inheritance
MapViewLayout
Implements
IPointerClickHandler
IDragHandler
IScrollHandler

Fields

BottomLeftTile

public TileView BottomLeftTile

Field Value

TileView

BottomRightTile

public TileView BottomRightTile

Field Value

TileView

CenterCoordiante

public Vector2Int CenterCoordiante

Field Value

Vector2Int

CenterTile

public TileView CenterTile

Field Value

TileView

MoveTileToDirection

public UnityEvent<Vector3> MoveTileToDirection

Field Value

UnityEvent<Vector3>

OnLocationSelected

public UnityEvent<Coordinates> OnLocationSelected

Field Value

UnityEvent<Coordinates>

OnMapUpdated

public UnityEvent OnMapUpdated

Field Value

UnityEvent

OnPositionSelected

public UnityEvent<Vector3> OnPositionSelected

Field Value

UnityEvent<Vector3>

TopLeftTile

public TileView TopLeftTile

Field Value

TileView

TopRightTile

public TileView TopRightTile

Field Value

TileView

Properties

CanInput

public bool CanInput { get; set; }

Property Value

bool

CurrentZoomLevel

public float CurrentZoomLevel { get; }

Property Value

float

PlacableItems

public PlacableItems PlacableItems { get; }

Property Value

PlacableItems

Pool

public ObjectPool<TileView> Pool { get; }

Property Value

ObjectPool<TileView>

RectTransform

public RectTransform RectTransform { get; }

Property Value

RectTransform

ZoomLevel

public int ZoomLevel { get; }

Property Value

int

Methods

GenerateLayout()

public void GenerateLayout()

GetAllTiles()

public IEnumerable<TileView> GetAllTiles()

Returns

IEnumerable<TileView>

GetPositionForTile(Vector2Int)

public Vector3 GetPositionForTile(Vector2Int coordinate)

Parameters

coordinate Vector2Int

Returns

Vector3

GetTileAtCoordinate(Vector2Int)

public TileView GetTileAtCoordinate(Vector2Int coordinate)

Parameters

coordinate Vector2Int

Returns

TileView

HasCachedCenterTile(out Vector2Int, out int)

public bool HasCachedCenterTile(out Vector2Int coordinate, out int zoom)

Parameters

coordinate Vector2Int
zoom int

Returns

bool

HasWorldPositionInMapView(Coordinates, out Vector3)

public bool HasWorldPositionInMapView(Coordinates coordinates, out Vector3 position)

Parameters

coordinates Coordinates
position Vector3

Returns

bool

HasWorldPositionInMapView(PlacableData, out Vector3)

public bool HasWorldPositionInMapView(PlacableData data, out Vector3 position)

Parameters

data PlacableData
position Vector3

Returns

bool

InitializeMapSettings(MapFile)

public void InitializeMapSettings(MapFile settings)

Parameters

settings MapFile

IsPlacableInBoundsAndContains(PlacableData, out IPlacable)

public bool IsPlacableInBoundsAndContains(PlacableData data, out IPlacable placable)

Parameters

data PlacableData
placable IPlacable

Returns

bool

NotifyMapUpdated()

public void NotifyMapUpdated()

OnDrag(PointerEventData)

public void OnDrag(PointerEventData eventData)

Parameters

eventData PointerEventData

OnPointerClick(PointerEventData)

public void OnPointerClick(PointerEventData eventData)

Parameters

eventData PointerEventData

OnScroll(PointerEventData)

public void OnScroll(PointerEventData eventData)

Parameters

eventData PointerEventData

RectSize()

public (float Width, float Height) RectSize()

Returns

(float Width, float Height)

SaveCurrentCenterTileToCache()

public void SaveCurrentCenterTileToCache()

SetCenterCoordinate(double, double, bool, bool)

Convenience overload accepting raw latitude/longitude.

public void SetCenterCoordinate(double latitude, double longitude, bool clampToBounds = true, bool instantLoad = true)

Parameters

latitude double
longitude double
clampToBounds bool
instantLoad bool

SetCenterCoordinate(Coordinates, bool, bool)

Sets the map center to the given geographic coordinate at the current zoom. Optionally clamps the input to the configured geographic bounds and regenerates tiles immediately.

public void SetCenterCoordinate(Coordinates coordinates, bool clampToBounds = true, bool instantLoad = true)

Parameters

coordinates Coordinates

Target latitude/longitude.

clampToBounds bool

Clamp the coordinate to [TopLeft, BottomRight] bounds.

instantLoad bool

If true, clears and rebuilds tiles around the new center immediately.

TileCount()

public (int Col, int Row) TileCount()

Returns

(int a, int b)

ToggleGeoTags()

public void ToggleGeoTags()

TryGetTileAndNormalizedFromWorldPosition(Vector3, out Coordinates, out float, out float)

Reverse of HasWorldPositionInMapView: given a world position, returns the tile's coordinate (tile X/Y in the current grid) and the normalized position inside that tile (0..1). Returns false if the world position is outside the currently generated tiles or tiles not available.

public bool TryGetTileAndNormalizedFromWorldPosition(Vector3 worldPosition, out Coordinates tileCoordinate, out float normX, out float normY)

Parameters

worldPosition Vector3
tileCoordinate Coordinates
normX float
normY float

Returns

bool