Beispiel #1
0
 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;
         }
     }
 }
Beispiel #4
0
        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();
 }
Beispiel #7
0
 public bool Equals(TileProp prop)
 {
     return((this.id == prop.id) && (this.type == prop.type));
 }
Beispiel #8
0
 public Tile(TileType type, int id)
 {
     this.prop = new TileProp(type, id);
 }
Beispiel #9
0
        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;
            }
        }