1using System.Collections.Generic;
2using System.Runtime.Serialization;
3using CreativeSpore.SuperTilemapEditor;
122 public string idMap =>
"map_ntyris";
132 for (
int i = 0; i <
h; i++)
134 for (
int j = 0; j <
w; j++)
151 for (
int i = 0; i <
h; i++)
153 for (
int j = 0; j <
w; j++)
182 for (
int i = 0; i <
h; i++)
184 for (
int j = 0; j <
w; j++)
198 Debug.Log(
"cell is null:" + x +
"/" + y);
204 cell.obj = zone.
icon;
207 for (
int k = 0; k <
h; k++)
209 for (
int l = 0; l <
w; l++)
218 if (cell2.
zone !=
null)
232 objmap.UpdateMeshImmediate();
235 public void SetZone(
int gx,
int gy,
Zone z,
bool updateMesh =
false)
240 Debug.Log(
"cell is null:" + gx +
"/" + gy);
242 else if (z ==
null || cell.
obj != z.
icon)
244 cell.obj = z?.
icon ?? 0;
245 if (z !=
null && z.
source.tag.Contains(
"iconFlag"))
268 objmap.UpdateMeshImmediate();
291 group.Tilemaps.ForeachReverse(delegate(STETilemap m)
293 if (!(m ==
fogmap || skip))
295 int tileIdFromTileData = Tileset.GetTileIdFromTileData(m.GetTileData(gx, gy));
296 TileData tileData =
new TileData(m.GetTileData(gx, gy));
297 int tileId = tileData.tileId;
298 if (tileId >= 22 && tileId <= 25)
300 bool flipHorizontal = tileData.flipHorizontal;
301 bool flipVertical = tileData.flipVertical;
302 bool rot = tileData.rot90;
303 int num = (flipHorizontal ? 1 : 0) + (flipVertical ? 1 : 0) * 2 + (rot ? 1 : 0) * 4;
305 t.roadLeft = tileId == 23 || (tileId == 24 && (num == 4 || num == 0)) || (tileId == 25 && num != 6);
306 t.roadRight = tileId == 23 || (tileId == 24 && (num == 6 || num == 1)) || (tileId == 25 && num != 4);
307 t.roadUp = tileId == 22 || (tileId == 24 && (num == 4 || num == 6)) || (tileId == 25 && num != 0);
308 t.roadDown = tileId == 22 || (tileId == 24 && (num == 0 || num == 1)) || (tileId == 25 && num != 2);
345 foreach (STETilemap tilemap
in group.Tilemaps)
349 int tileIdFromTileData = Tileset.GetTileIdFromTileData(tilemap.GetTileData(gx, gy));
363 for (
int i = gy - radius; i < gy + radius + 1; i++)
365 for (
int j = gx - radius; j < gx + radius + 1; j++)
376 if (cell ==
null || cell.
zone !=
null ||
cloudmap.GetTileData(gx, gy) != uint.MaxValue)
394 if (row ==
null || !row.
tag.Contains(
"site"))
430 if (child.
x == gx && child.
y == gy && (child as
Zone)?.instance ==
null && (zone ==
null || zone is
Zone_Field))
432 zone = child as
Zone;
444 for (
int i = 0; i < 100; i++)
446 for (
int j = gy - i; j < gy + i + 1; j++)
448 for (
int k = gx - i; k < gx + i + 1; k++)
450 if (j == gy - i || j == gy + i || k == gx - i || k == gx + i)
453 if (((tileData != uint.MaxValue) ? ((tileData & 0xFFF0000) >> 16) : 0) == 3)
457 tileData =
seaMap.GetTileData(k, j);
458 if (((tileData != uint.MaxValue) ? ((tileData & 0xFFF0000) >> 16) : 0) == 3)
469 public void AddLight(
int gx,
int gy,
string id =
"elolight")
479 spriteRenderer.transform.position = TilemapUtils.GetGridWorldPos(
fogmap, gx, gy);
486 if (light.
gx == gx && light.
gy == gy)
488 Object.DestroyImmediate(light.
sr.gameObject);
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
static SourceManager sources
void Initialize(EloMap _elomap)
List< EloMapLight > lights
SourceGlobalTile.Row source
void OnDeserialized(StreamingContext context)
void SetZone(int gx, int gy, Zone z, bool updateMesh=false)
void RemoveLight(int gx, int gy)
bool IsSnow(int gx, int gy)
void AddLight(int gx, int gy, string id="elolight")
Cell GetCell(int gx, int gy)
void OnSerializing(StreamingContext context)
bool CanBuildSite(int gx, int gy, int radius=0, ElomapSiteType type=ElomapSiteType.Nefia)
void Init(EloMapActor _actor)
int GetRoadDist(int gx, int gy)
List< SourceGlobalTile.Row > GetSources(int gx, int gy)
TileInfo GetTileInfo(int gx, int gy)
Zone GetZone(int gx, int gy)
Dictionary< int, Row > tileAlias
SourceGlobalTile globalTiles