Nostalgia  2.1.5
Map Class Reference

2Dタイルマップのコンポーネント。 More...

Inheritance diagram for Map:

Classes

class  CellResult
 Map.FindCell()の結果が格納されるクラス。 More...
 

Public Types

enum  HorizontalPivot { Left, Center, Right }
 横方向のピボットを指定。 More...
 
enum  VerticalPivot { Top, Center, Bottom }
 縦方向のピボットを指定。 More...
 

Public Member Functions

delegate void OnRepainted ()
 再描画時のコールバックdelegate More...
 
Cell GetCell (int index)
 インデックスからCellを取得 More...
 
Chunk GetChunk (int index)
 インデックスからチャンクを取得 More...
 
MapCollider GetMapCollider (int index)
 インデックスからMapColliderを取得 More...
 
Stamp GetStamp (int index)
 インデックスからStampを取得 More...
 
int IndexOfStamp (Stamp stamp)
 Stampからインデックスを取得 More...
 
Cell GetCell (Point2 pos)
 Cellを取得。 More...
 
Cell GetCellFromWorldPos (Vector3 worldPos)
 ワールド座標からCellを取得。 More...
 
Cell GetCellFromCollider (Collider2D collider)
 ColliderからCellを取得する。 More...
 
Tile GetTile (Point2 pos)
 Tileを取得。 More...
 
Vector3 MapPointToLocalPoint (Point2 pos)
 Map座標からローカル座標に変換。 More...
 
Vector3 MapPointToWorldPoint (Point2 pos)
 Map座標からワールド座標に変換。 More...
 
Point2 LocalPointToMapPoint (Vector3 localPos)
 ローカル座標からMap座標に変換。 More...
 
Point2 WorldPointToMapPoint (Vector3 worldPos)
 ワールド座標からMap座標に変換。 More...
 
bool RayToPoint (Ray ray, out Point2 pos)
 レイからMap座標に変換。 More...
 
bool Raycast (Ray ray, ref Vector2 localPos)
 レイからローカル座標を取得。 More...
 
void Resize (int width, int height, HorizontalPivot horizontalPivot, VerticalPivot verticalPivot)
 サイズ変更。 More...
 
void InsertCell (Point2 pos, Point2 size)
 Cellを挿入する More...
 
void RemoveCell (Point2 pos, Point2 size)
 Cellを削除する More...
 
bool PutTile (Point2 pos, Tile tile, int partsID, Point2 tilePos, bool autoTiling, bool changeParts, bool isCreateCellObject)
 Tile配置 More...
 
bool FillTile (Point2 pos, int width, int height, Tile tile, int partsID, bool autoTiling, bool isCreateCellObject)
 Tileを塗る More...
 
Async FillTileAsync (Point2 pos, int width, int height, Tile tile, int partsID, bool autoTiling, bool isCreateCellObject)
 Tileを塗る(非同期) More...
 
Stamp CreateStamp (Point2 pos, int width, int height)
 Stampを作成する More...
 
void RemoveStamp (Stamp stamp)
 Stampを削除する More...
 
bool PutStamp (Point2 pos, Stamp stamp, bool autoTiling, bool isCreateCellObject)
 StampでTileを塗る More...
 
bool UpdateAutoTiles (HashSet< Point2 > points, bool aroundOnly=false)
 オートタイルによるCellの更新処理 More...
 
bool BucketTile (Point2 pos, Tile tile, int partsID, bool autoTiling, bool isCreateCellObject)
 Tileを塗りつぶし More...
 
Async BucketTileAsync (Point2 pos, Tile tile, int partsID, bool autoTiling, bool isCreateCellObject)
 Tileを塗りつぶし(非同期) More...
 
bool RemoveTile (Cell cell, bool autoTiling)
 Tile削除。 More...
 
bool RemoveTile (Point2 pos, bool autoTiling)
 Tile削除。 More...
 
bool RemoveRectangleTile (Point2 pos, int width, int height, bool autoTiling)
 矩形指定でのTile削除。 More...
 
Async RemoveRectangleTileAsync (Point2 pos, int width, int height, bool autoTiling)
 矩形指定でのTile削除(非同期)。 More...
 
bool RemoveBucketTile (Point2 pos, bool autoTiling)
 バケツ形式でのTile削除。 More...
 
Async RemoveBucketTileAsync (Point2 pos, bool autoTiling)
 バケツ形式でのTile削除(非同期) More...
 
bool ColorBrush (Vector2 center, float radius, Color color, bool halftile)
 カラーブラシで頂点を塗る。 More...
 
bool ColorBrushRectangle (Vector2 pos, float width, float height, Color color, bool halftile)
 矩形指定で頂点カラーを塗る。 More...
 
void AllClear ()
 全てクリア More...
 
Async AllClearAsync ()
 
bool UpdateCollider (Cell cell)
 CellのColliderの状態を更新する。 More...
 
MapCollider GetMapCollider (PolygonCollider2D collider)
 PolygonCollider2DからMapColliderを取得する。 More...
 
MapCollider GetMapCollider (Cell cell)
 CellからMapColliderを取得する。 More...
 
void UpdateMapCollider ()
 MapColliderを更新する。 More...
 
bool Refresh ()
 Cellを再構築します。 TileSetを更新した場合などに呼び出してください。 More...
 
Async RefreshAsync ()
 非同期でCellを再構築します。 TileSetを更新した場合などに呼び出してください。 More...
 
void SetDirty (bool repaint)
 メッシュを再構築するように設定します。 Cellを直接変更した際に呼び出してください。 More...
 
void Repaint ()
 再描画する More...
 
void Copy (Map source)
 Mapをコピーします。 More...
 
void DestroySubComponents ()
 サブコンポーネントを削除します。 通常、呼び出す必要はありません。 More...
 

Static Public Member Functions

static Map GetMap (int index)
 インデックスからMapを取得 More...
 
static CellResult FindCell (Vector3 worldPos)
 ワールド座標からCellを探す。 More...
 
static CellResult[] FindCells (Vector3 worldPos)
 指定したワールド座標上にある全てのCellを探す。 More...
 
static Cell FindCell (Collider2D collider)
 Collider2DからCellを取得。 More...
 

Properties

int width [get]
 横幅を取得。 More...
 
int height [get]
 縦幅を取得。 More...
 
TileSet tileSet [get, set]
 TileSetを取得/設定する。 More...
 
bool edgeCombine [get, set]
 マップ端とオートタイルを結合するかどうか More...
 
bool isCanvas [get]
 Canvasにレンダリングするかどうか。 MapゲームオブジェクトがRectTransformを持つ場合にCanvasモードとなる。 More...
 
int cellCount [get]
 Cellの数を取得 More...
 
int chunkCount [get]
 チャンクの数を取得 More...
 
int mapColliderCount [get]
 MapColliderの数を取得 More...
 
int stampCount [get]
 Stampの数を取得 More...
 
Color color [get, set]
 マテリアルカラーの取得/設定。 More...
 
int sortingLayerID [get, set]
 SortingLayerIDの取得/設定。 More...
 
int sortingOrder [get, set]
 sortingOrderの取得/設定。 More...
 
static int mapCount [get]
 Mapの数を取得 More...
 
Material material [get]
 マテリアルを取得 More...
 

Events

OnRepainted onRepainted
 再描画時のコールバックイベント More...
 

Detailed Description

2Dタイルマップのコンポーネント。

GameObjectにアタッチして使用する。

Member Enumeration Documentation

enum HorizontalPivot
strong

横方向のピボットを指定。

Resize()メソッドで使用する。

Enumerator
Left 

左側

Center 

中央

Right 

右側

enum VerticalPivot
strong

縦方向のピボットを指定。

Resize()メソッドで使用する。

Enumerator
Top 

上側

Center 

中央

Bottom 

下側

Member Function Documentation

void AllClear ( )

全てクリア

Async AllClearAsync ( )
bool BucketTile ( Point2  pos,
Tile  tile,
int  partsID,
bool  autoTiling,
bool  isCreateCellObject 
)

Tileを塗りつぶし

Returns
true, 塗りつぶしできた。 false それ以外。
Parameters
pos座標
tileTile
partsIDパーツID
autoTilingtrueを設定した場合オートタイル。
isCreateCellObjectCellObjectを作成するかどうか
Async BucketTileAsync ( Point2  pos,
Tile  tile,
int  partsID,
bool  autoTiling,
bool  isCreateCellObject 
)

Tileを塗りつぶし(非同期)

Returns
非同期に処理するためのAsyncインスタンス
Parameters
pos座標
tileTile
partsIDパーツID
autoTilingtrueを設定した場合オートタイル。
isCreateCellObjectCellObjectを作成するかどうか
bool ColorBrush ( Vector2  center,
float  radius,
Color  color,
bool  halftile 
)

カラーブラシで頂点を塗る。

Returns
true, 変更した false それ以外
Parameters
center中心座標
radius半径
color
halftile半タイルごとに塗りつぶす。
bool ColorBrushRectangle ( Vector2  pos,
float  width,
float  height,
Color  color,
bool  halftile 
)

矩形指定で頂点カラーを塗る。

Returns
true, 変更した。 false それ以外
Parameters
pos座標
width横幅
height縦幅
color
halftile半タイルごとに塗りつぶす。
void Copy ( Map  source)

Mapをコピーします。

Parameters
sourceコピー元のMap
Stamp CreateStamp ( Point2  pos,
int  width,
int  height 
)

Stampを作成する

Parameters
pos位置
width
height高さ
Returns
作成したStamp。範囲内にCellがなかった場合はnullが返る。
void DestroySubComponents ( )

サブコンポーネントを削除します。 通常、呼び出す必要はありません。

bool FillTile ( Point2  pos,
int  width,
int  height,
Tile  tile,
int  partsID,
bool  autoTiling,
bool  isCreateCellObject 
)

Tileを塗る

Returns
true, 塗ることができた。 false それ以外
Parameters
pos座標
width横幅
height縦幅
tileTile
partsIDパーツID
autoTilingtrueを設定した場合オートタイル。
isCreateCellObjectCellObjectを作成するかどうか
Async FillTileAsync ( Point2  pos,
int  width,
int  height,
Tile  tile,
int  partsID,
bool  autoTiling,
bool  isCreateCellObject 
)

Tileを塗る(非同期)

Returns
非同期に処理するためのAsyncインスタンス。
Parameters
pos座標
width横幅
height縦幅
tileTile
partsIDパーツID
autoTilingtrueを設定した場合オートタイル。
isCreateCellObjectCellObjectを作成するかどうか
static CellResult FindCell ( Vector3  worldPos)
static

ワールド座標からCellを探す。

Returns
見つけた場合にCellResultが返る。 ない場合はnull。
Parameters
worldPosワールド座標。
static Cell FindCell ( Collider2D  collider)
static

Collider2DからCellを取得。

Parameters
colliderCellを取得するCollider2D
Returns
Cellを返す。見つからなかった場合はnullを返す。
static CellResult [] FindCells ( Vector3  worldPos)
static

指定したワールド座標上にある全てのCellを探す。

Returns
見つかったCellのCellResultの配列。
Parameters
worldPosワールド座標。
Cell GetCell ( int  index)

インデックスからCellを取得

Parameters
indexインデックス
Returns
Cell
Cell GetCell ( Point2  pos)

Cellを取得。

Returns
Cell。 ない場合はnullを返す。
Parameters
pos座標
Cell GetCellFromCollider ( Collider2D  collider)

ColliderからCellを取得する。

Returns
Colliderを保持するCell。 ない場合はnullを返す。
Parameters
colliderCollider.
Cell GetCellFromWorldPos ( Vector3  worldPos)

ワールド座標からCellを取得。

Returns
見つかったCell。 ない場合はnullを返す。
Parameters
worldPosワールド座標。
Chunk GetChunk ( int  index)

インデックスからチャンクを取得

Parameters
indexインデックス
Returns
チャンク
static Map GetMap ( int  index)
static

インデックスからMapを取得

Parameters
indexインデックス
Returns
Map
MapCollider GetMapCollider ( int  index)

インデックスからMapColliderを取得

Parameters
indexインデックス
Returns
MapCollider
MapCollider GetMapCollider ( PolygonCollider2D  collider)

PolygonCollider2DからMapColliderを取得する。

Parameters
colliderPolygonCollider2D
Returns
MapCollider。なかった場合はnull。
MapCollider GetMapCollider ( Cell  cell)

CellからMapColliderを取得する。

Parameters
cellCell
Returns
MapCollider。なかった場合はnull。
Stamp GetStamp ( int  index)

インデックスからStampを取得

Parameters
indexインデックス
Returns
Stamp
Tile GetTile ( Point2  pos)

Tileを取得。

Returns
Tile ない場合はnullを返す。
Parameters
pos座標
int IndexOfStamp ( Stamp  stamp)

Stampからインデックスを取得

Parameters
stampStamp
Returns
インデックス
void InsertCell ( Point2  pos,
Point2  size 
)

Cellを挿入する

Parameters
pos位置
sizeサイズ
Point2 LocalPointToMapPoint ( Vector3  localPos)

ローカル座標からMap座標に変換。

Returns
Map座標
Parameters
localPosローカル座標
Vector3 MapPointToLocalPoint ( Point2  pos)

Map座標からローカル座標に変換。

Returns
ローカル座標
Parameters
pos座標
Vector3 MapPointToWorldPoint ( Point2  pos)

Map座標からワールド座標に変換。

Returns
ワールド座標
Parameters
pos座標
delegate void OnRepainted ( )

再描画時のコールバックdelegate

bool PutStamp ( Point2  pos,
Stamp  stamp,
bool  autoTiling,
bool  isCreateCellObject 
)

StampでTileを塗る

Returns
true, 塗ることができた。 false それ以外
Parameters
pos座標
stampStamp
autoTilingtrueを設定した場合オートタイル。
isCreateCellObjectCellObjectを作成するかどうか
bool PutTile ( Point2  pos,
Tile  tile,
int  partsID,
Point2  tilePos,
bool  autoTiling,
bool  changeParts,
bool  isCreateCellObject 
)

Tile配置

Returns
true, 配置できた。 false それ以外。
Parameters
pos座標
tileTile
partsIDパーツID
tilePosTileの位置
autoTilingtrueを設定した場合オートタイル。
changePartstrueを設定した場合パーツ変更。
isCreateCellObjectCellObjectを作成するかどうか
bool Raycast ( Ray  ray,
ref Vector2  localPos 
)

レイからローカル座標を取得。

Parameters
rayレイ
localPosローカル座標
bool RayToPoint ( Ray  ray,
out Point2  pos 
)

レイからMap座標に変換。

Returns
true, レイ上にMapがある。 false それ以外。
Parameters
rayレイ
pos座標
bool Refresh ( )

Cellを再構築します。 TileSetを更新した場合などに呼び出してください。

非同期でCellを再構築します。 TileSetを更新した場合などに呼び出してください。

bool RemoveBucketTile ( Point2  pos,
bool  autoTiling 
)

バケツ形式でのTile削除。

Returns
true, Tile削除できた。 false それ以外。
Parameters
pos座標
autoTilingtrueを設定した場合オートタイル。
Async RemoveBucketTileAsync ( Point2  pos,
bool  autoTiling 
)

バケツ形式でのTile削除(非同期)

Returns
非同期に処理するためのAsyncインスタンス
Parameters
pos座標
autoTilingtrueを設定した場合オートタイル。
void RemoveCell ( Point2  pos,
Point2  size 
)

Cellを削除する

Parameters
pos位置
sizeサイズ
bool RemoveRectangleTile ( Point2  pos,
int  width,
int  height,
bool  autoTiling 
)

矩形指定でのTile削除。

Returns
true, Tile削除できた。 false それ以外。
Parameters
pos座標
width横幅
height縦幅
autoTilingtrueを設定した場合オートタイル。
Async RemoveRectangleTileAsync ( Point2  pos,
int  width,
int  height,
bool  autoTiling 
)

矩形指定でのTile削除(非同期)。

Returns
非同期に処理するためのAsyncインスタンス。
Parameters
pos座標
width横幅
height縦幅
autoTilingtrueを設定した場合オートタイル。
void RemoveStamp ( Stamp  stamp)

Stampを削除する

Parameters
stamp削除するStamp
bool RemoveTile ( Cell  cell,
bool  autoTiling 
)

Tile削除。

Returns
true, Tile削除できた。 false それ以外。
Parameters
cellCell
autoTilingtrueを設定した場合オートタイル。
bool RemoveTile ( Point2  pos,
bool  autoTiling 
)

Tile削除。

Returns
true, Tile削除できた。 false それ以外。
Parameters
pos座標
autoTilingtrueを設定した場合オートタイル。
void Repaint ( )

再描画する

void Resize ( int  width,
int  height,
HorizontalPivot  horizontalPivot,
VerticalPivot  verticalPivot 
)

サイズ変更。

Parameters
width横幅
height縦幅
horizontalPivot横方向のピボット
verticalPivot縦方向のピボット
void SetDirty ( bool  repaint)

メッシュを再構築するように設定します。 Cellを直接変更した際に呼び出してください。

Parameters
repaint再描画するかどうか
bool UpdateAutoTiles ( HashSet< Point2 points,
bool  aroundOnly = false 
)

オートタイルによるCellの更新処理

Parameters
points更新する座標
aroundOnly周辺のみ更新するかどうか
Returns
更新したかどうか
bool UpdateCollider ( Cell  cell)

CellのColliderの状態を更新する。

Parameters
cellColliderを更新するCell
Returns
更新したかどうか
void UpdateMapCollider ( )

MapColliderを更新する。

Point2 WorldPointToMapPoint ( Vector3  worldPos)

ワールド座標からMap座標に変換。

Returns
Map座標
Parameters
worldPosワールド座標

Property Documentation

int cellCount
get

Cellの数を取得

int chunkCount
get

チャンクの数を取得

Color color
getset

マテリアルカラーの取得/設定。

bool edgeCombine
getset

マップ端とオートタイルを結合するかどうか

int height
get

縦幅を取得。

縦幅。

bool isCanvas
get

Canvasにレンダリングするかどうか。 MapゲームオブジェクトがRectTransformを持つ場合にCanvasモードとなる。

int mapColliderCount
get

MapColliderの数を取得

int mapCount
staticget

Mapの数を取得

Material material
get

マテリアルを取得

int sortingLayerID
getset

SortingLayerIDの取得/設定。

int sortingOrder
getset

sortingOrderの取得/設定。

int stampCount
get

Stampの数を取得

TileSet tileSet
getset

TileSetを取得/設定する。

TileSet

int width
get

横幅を取得。

横幅。

Event Documentation

OnRepainted onRepainted

再描画時のコールバックイベント