public Tile(Tile tile) { this.prop = tile.prop; this.owner = tile.owner; this.stolenPlayer = tile.stolenPlayer; this.zone = tile.zone; this.deckIdx = tile.deckIdx; }
private void CreateTileTemplate(int x, int y) { Vector3 tilePosition = new Vector3(x, y, 0); GameObject newTile = Instantiate(tileTemplate, tilePosition, Quaternion.identity, parentMap.transform); newTile.name = "New Tile"; TileProp tileProp = newTile.GetComponent <TileProp>(); almacenedTiles.Add(tileProp); tileProp.positionCoordinates = new Vector2(x, y); }
private void SetTerrainData(float[,] noiseMap, TileProp tile, int x, int y) { foreach (NoiseToTerrain terrain in terrainMapings) { if (noiseMap[x, y] <= terrain.maxHeigth) { tile.terrain = terrain.terrain; tile.SpriteSync(); break; } } }
public override bool Equals(object obj) { if (obj == null) { return(false); } TileProp prop = (TileProp)obj; if ((System.Object)prop == null) { return(false); } return(this.Equals(prop)); }
public void CreateMapUsingNoiseMap(float[,] noiseMap, Vector2 offSet) { int width = noiseMap.GetLength(0); int heigth = noiseMap.GetLength(1); for (int y = 0; y < heigth; y++) { for (int x = 0; x < width; x++) { foreach (NoiseToTerrain terrain in terrainMapings) { if (noiseMap[x, y] <= terrain.maxHeigth) { Vector3 tilePosition = new Vector3(x + offSet.x, y + offSet.y, 0); GameObject newTile = Instantiate(tileTemplate, tilePosition, Quaternion.identity, parentMap.transform); newTile.name = terrain.terrain.ToString() + " tile"; TileProp tileProp = newTile.GetComponent <TileProp>(); tileProp.terrain = terrain.terrain; tileProp.positionCoordinates = new Vector2(x, y); tileProp.SpriteSync(); break; } } } } Vector3[] meshVertices = new Vector3[4] { new Vector3(offSet.x, offSet.y, 0), new Vector3(offSet.x + width, offSet.y, 0), new Vector3(offSet.x, offSet.y + heigth, 0), new Vector3(offSet.x + width, offSet.y + heigth, 0) }; MeshGenerator.GenerateCuadMesh(parentMap, meshVertices); }
private void UpdateTile(TileProp tileToUpdate, MapTerrain newTerrain) { tileToUpdate.terrain = newTerrain; tileToUpdate.SpriteSync(); }
public bool Equals(TileProp prop) { return((this.id == prop.id) && (this.type == prop.type)); }
public Tile(TileType type, int id) { this.prop = new TileProp(type, id); }
public SCTileDef(TileProp tileProp) { TileProp = tileProp; BitFlags = SCBitFlags.None; OWBitFlags = SCBitFlags.None; SpBitFlags = SCBitFlags.None; if ((TileProp.TilePropFunc & (TilePropFunc.TP_SPEC_MASK | TilePropFunc.TP_NOMOVE)) == TilePropFunc.TP_NOMOVE) { BitFlags = SCBitFlags.Blocked; OWBitFlags = SCBitFlags.Blocked; } else if ((TileProp.TilePropFunc & (TilePropFunc.TP_SPEC_DOOR | TilePropFunc.TP_SPEC_LOCKED | TilePropFunc.TP_NOMOVE)) == (TilePropFunc.TP_SPEC_LOCKED | TilePropFunc.TP_NOMOVE)) { BitFlags = SCBitFlags.Key; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_CROWN) { BitFlags |= SCBitFlags.Crown; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_CUBE) { BitFlags |= SCBitFlags.Cube; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_4ORBS) { BitFlags |= SCBitFlags.Orbs; } if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_USEROD) { SpBitFlags = SCBitFlags.UseRod; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_USELUTE) { SpBitFlags = SCBitFlags.UseLute; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_TELE_MASK) == TilePropFunc.TP_TELE_WARP) { BitFlags |= SCBitFlags.Impassable; SpBitFlags = SCBitFlags.Warp; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_TELE_MASK) == TilePropFunc.TP_TELE_NORM) { BitFlags |= SCBitFlags.Impassable; SpBitFlags = SCBitFlags.Teleport; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_TELE_MASK) == TilePropFunc.TP_TELE_EXIT) { //they share the same code BitFlags |= SCBitFlags.Impassable; SpBitFlags = SCBitFlags.Exit; SpBitFlags |= SCBitFlags.UseFloater; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_TREASURE) { SpBitFlags = SCBitFlags.Treasure; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_EARTHORB) { SpBitFlags = SCBitFlags.EarthOrb; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_FIREORB) { SpBitFlags = SCBitFlags.FireOrb; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_WATERORB) { SpBitFlags = SCBitFlags.WaterOrb; } else if ((TileProp.TilePropFunc & TilePropFunc.TP_SPEC_MASK) == TilePropFunc.TP_SPEC_AIRORB) { SpBitFlags = SCBitFlags.AirOrb; } if ((TileProp.TilePropFunc & TilePropFunc.OWTP_NORMAL) == 0) { OWBitFlags = SCBitFlags.Land; } else if ((TileProp.TilePropFunc & TilePropFunc.OWTP_RIVER) == 0) { OWBitFlags = SCBitFlags.River; } else if ((TileProp.TilePropFunc & TilePropFunc.OWTP_OCEAN) == 0) { OWBitFlags = SCBitFlags.Ocean; } else { OWBitFlags = SCBitFlags.Blocked; } if ((TileProp.TilePropFunc & TilePropFunc.OWTP_DOCKAIRSHIP) == 0) { OWBitFlags |= SCBitFlags.AirDock; } if ((TileProp.TilePropFunc & TilePropFunc.OWTP_EXT_MASK) == TilePropFunc.OWTP_DOCKSHIP) { OWBitFlags |= SCBitFlags.ShipDock; } if ((TileProp.TilePropFunc & TilePropFunc.OWTP_SPEC_MASK) == TilePropFunc.OWTP_SPEC_CHIME) { OWBitFlags |= SCBitFlags.Chime; } if ((TileProp.TilePropFunc & TilePropFunc.OWTP_SPEC_MASK) == TilePropFunc.OWTP_SPEC_CARAVAN) { OWBitFlags |= SCBitFlags.Caravan; } if (TileProp.Byte2 >= (byte)0x80) { OWBitFlags |= SCBitFlags.Enter; } }