Пример #1
0
        private bool TileValue(ITilemap tilemap, Vector3Int position)
        {
            TileBase tile = tilemap.GetTile(position);

            return(tile != null && tile == this);
        }
Пример #2
0
 //Use to change how tile instantiates connected game object
 public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go)
 {
     return(base.StartUp(position, tilemap, go));
 }
Пример #3
0
 private bool HasWater(ITilemap tilemap, Vector3Int position)
 {
     return(tilemap.GetTile(position) == this);
 }
Пример #4
0
    public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go)
    {
        AStar.NoDiagonalTiles.Add(position);

        return(base.StartUp(position, tilemap, go));
    }
Пример #5
0
 public override bool GetTileAnimationData(Vector3Int position, ITilemap tilemap, ref TileAnimationData tileAnimationData)
 {
     return(base.GetTileAnimationData(position, tilemap, ref tileAnimationData));
 }
Пример #6
0
 public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
 {
     tileData.gameObject = Resources.Load <GameObject>("Prefabs/Basic/Water");
 }
 bool IsWatered(ITilemap tilemap, Vector3Int position)
 {
     return(tilemap.GetTile(position) == this);
 }
Пример #8
0
 // Set sprite and/or gameobject for rendering, this method is useful as context can be used to determine the desired sprite/gameobject
 public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
 {
     tileData.gameObject = Resources.Load <GameObject>("Prefabs/Buildings/Skyscraper");
 }
Пример #9
0
 bool HasTile(ITilemap t, Vector3Int p)
 {
     return(t.GetTile(p) == this);
 }
Пример #10
0
    public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
    {
        string composition = string.Empty;

        for (int x = -1; x <= 1; x++)
        {
            for (int y = -1; y <= 1; y++)
            {
                if (x != 0 || y != 0)
                {
                    if (IsVent(tilemap, new Vector3Int(position.x + x, position.y + y, position.z)))
                    {
                        composition += 'V';
                    }
                    else
                    {
                        composition += 'W';
                    }
                }
            }
        }

        tileData.sprite = ventSprites[3];

        if (composition[1] == 'V' && composition[3] == 'V' && composition[6] == 'V')
        {
            tileData.sprite = IntersectionBottomRandom();
        }
        else if (composition[1] == 'V' && composition[4] == 'V' && composition[6] == 'V')
        {
            tileData.sprite = IntersectionTopRandom();
        }
        else if (composition[1] == 'V' && composition[3] == 'V' && composition[4] == 'V')
        {
            tileData.sprite = IntersectionLeftRandom();
        }
        else if (composition[3] == 'V' && composition[4] == 'V' && composition[6] == 'V')
        {
            tileData.sprite = IntersectionRightRandom();
        }
        else if (composition[1] == 'V' && composition[3] == 'V')
        {
            tileData.sprite = CornerURRandom();
        }
        else if (composition[1] == 'V' && composition[4] == 'V')
        {
            tileData.sprite = CornerBRRandom();
        }
        else if (composition[3] == 'V' && composition[6] == 'V')
        {
            tileData.sprite = CornerULRandom();
        }
        else if (composition[4] == 'V' && composition[6] == 'V')
        {
            tileData.sprite = CornerBLRandom();
        }
        else if (composition[1] == 'V')
        {
            tileData.sprite = HorizontalRandom();
        }
        else if (composition[3] == 'V')
        {
            tileData.sprite = VerticalRandom();
        }
        else if (composition[4] == 'V')
        {
            tileData.sprite = VerticalRandom();
        }
        else if (composition[6] == 'V')
        {
            tileData.sprite = HorizontalRandom();
        }
    }
Пример #11
0
    private bool IsWall(Vector3Int pos, ITilemap tilemap, bool includeCaps = true)
    {
        var tile = tilemap.GetTile(pos);

        return(tile is WallTile && (includeCaps || !((WallTile)tile).isCap));
    }
Пример #12
0
 private bool IsVent(ITilemap tilemap, Vector3Int position)
 {
     return(tilemap.GetTile(position) == this);
 }
Пример #13
0
 public static ISprite ToSprite(this ITilemap map) => ToSprite(map, Offset.Default);
Пример #14
0
 /// <summary>
 /// StartUp : Surcharge la fonction StartUp du script Tile
 /// </summary>
 /// <param name="position">Position de la cellule</param>
 /// <param name="tilemap">Layer de la cellule</param>
 /// <param name="go">Objet de la cellule</param>
 public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go)
 {
     // Appelle StartUp sur la classe mère
     return(base.StartUp(position, tilemap, go));
 }
Пример #15
0
 private bool isAlcohol(ITilemap map, Vector3Int pos)
 {
     return(map.GetTile(pos) == this);
 }
 public override void GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
 {
     tileData.sprite     = m_Sprite;
     tileData.gameObject = m_Prefab;
 }
Пример #17
0
        public override void GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
        {
            int sprite       = 0;
            int rotationMask = 0;

            //left  1000 8
            //right 0100 4
            //up    0010 2
            //down  0001 1

            if (tileUpdates == TileActions.Checks.Cardinal)
            {
                rotationMask |= HasTile(location + Vector3Int.right, tilemap) ? 8 : 0;
                rotationMask |= HasTile(location + Vector3Int.left, tilemap) ? 4 : 0;
                rotationMask |= HasTile(location + Vector3Int.up, tilemap) ? 2 : 0;
                rotationMask |= HasTile(location + Vector3Int.down, tilemap) ? 1 : 0;
            }

            switch (rotationMask)
            {
            case 0: sprite = 0; break;

            case 1: sprite = 1; break;

            case 2: sprite = 1; break;

            case 3: sprite = 3; break;

            case 4: sprite = 1; break;

            case 5: sprite = 2; break;

            case 6: sprite = 2; break;

            case 7: sprite = 4; break;

            case 8: sprite = 1; break;

            case 9: sprite = 2; break;

            case 10: sprite = 2; break;

            case 11: sprite = 4; break;

            case 12: sprite = 3; break;

            case 13: sprite = 4; break;

            case 14: sprite = 4; break;

            case 15: sprite = 5; break;
            }

            tileData.sprite = sprites[sprite];

            var m = tileData.transform;

            m.SetTRS(Vector3.zero, GetRotation(rotationMask), Vector3.one);
            tileData.transform = m;

            tileData.flags        = TileFlags.LockTransform;      //Somehow this is absolutely necessary
            tileData.colliderType = collider;
        }
 public override bool StartUp(Vector3Int location, ITilemap tilemap, GameObject go)
 {
     return(true);
 }
Пример #19
0
 public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go)
 {
     // GameManager.MyInstance.Blocked.Add(position);
     return(base.StartUp(position, tilemap, go));
 }
Пример #20
0
 public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
 {
     InitTileData();
     tileData.gameObject = trap;
     base.GetTileData(position, tilemap, ref tileData);
 }
    /// <summary>
    /// Changes the tiles sprite to the correct sprites based on the situation
    /// </summary>
    /// <param name="location">The location of this sprite</param>
    /// <param name="tilemap">A reference to the tilemap, that this tile belongs to</param>
    /// <param name="tileData">A reference to the actual object, that this tile belongs to</param>
    public override void GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
    {
        string composition = string.Empty; //Makes an empty string as compostion, we need this so that we change the sprite

        for (int x = -1; x <= 1; x++)      //Runs through all neighbours
        {
            for (int y = -1; y <= 1; y++)
            {
                if (x != 0 || y != 0) //Makes sure that we aren't checking our self
                {
                    //If the value is a tilledtile
                    if (IsWatered(tilemap, new Vector3Int(location.x + x, location.y + y, location.z)))
                    {
                        composition += 'W';
                    }
                    else
                    {
                        composition += 'G';
                    }
                }
            }
        }



        //Changes the sprite based on what we see.
        if (composition[1] == 'G' && composition[3] == 'G' && composition[4] == 'G' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[0];
        }
        else if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'G' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[3];
        }
        else if (composition[1] == 'W' && composition[3] == 'G' && composition[4] == 'W' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[9];
        }
        else if (composition[1] == 'G' && composition[3] == 'G' && composition[4] == 'W' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[7];
        }
        else if (composition[1] == 'G' && composition[3] == 'W' && composition[4] == 'G' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[1];
        }
        else if (composition[1] == 'W' && composition[3] == 'G' && composition[4] == 'G' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[14];
        }
        else if (composition[1] == 'G' && composition[3] == 'G' && composition[4] == 'G' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[13];
        }
        else if (composition[1] == 'G' && composition[3] == 'G' && composition[4] == 'W' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[12];
        }
        else if (composition[1] == 'G' && composition[3] == 'W' && composition[4] == 'G' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[10];
        }
        else if (composition[1] == 'W' && composition[3] == 'G' && composition[4] == 'G' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[15];
        }
        else if (composition[1] == 'G' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[4];
        }
        else if (composition[1] == 'W' && composition[3] == 'G' && composition[4] == 'W' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[8];
        }
        else if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'G' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[2];
        }
        else if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[6];
        }
        else if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'W')
        {
            tileData.sprite = tilledground[5];
        }
        else if (composition[1] == 'G' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'G')
        {
            tileData.sprite = tilledground[11];
        }
    }
Пример #22
0
 public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
 {
     tileData.sprite = sprite;
 }
Пример #23
0
 public override void RefreshTile(Vector3Int position, ITilemap tilemap)
 {
     base.RefreshTile(position, tilemap);
 }
Пример #24
0
 public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go)
 {
     Override();
     return(m_RuntimeTile.StartUp(position, tilemap, go));
 }
Пример #25
0
 public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
 {
     base.GetTileData(position, tilemap, ref tileData);
 }
Пример #26
0
        public override void GetTileData(Vector3Int cell, ITilemap tilemap, ref TileData tileData)
        {
            int spriteIndex = 0;
            // This shit better exist before you try this
            int        spriteDirection = MapManager.s.homeCellData[cell].direction;
            Vector3Int vectorDirection = cell - MapManager.s.homeCellData[cell].cell;

            if (vectorDirection.x < 0)
            {
                if (vectorDirection.y < 0)
                {
                    spriteIndex = 1;
                }
                else if (vectorDirection.y == 0)
                {
                    if (spriteDirection > 0)
                    {
                        spriteIndex = 0;
                    }
                    else
                    {
                        spriteIndex = 2;
                    }
                }
                else
                {
                    spriteIndex = 1;
                }
            }
            else if (vectorDirection.x == 0)
            {
                if (vectorDirection.y < 0)
                {
                    if (spriteDirection == 1)
                    {
                        spriteIndex = 2;
                    }
                    else
                    {
                        spriteIndex = 0;
                    }
                }
                else
                {
                    if (spriteDirection == 0)
                    {
                        spriteIndex = 0;
                    }
                    else
                    {
                        spriteIndex = 2;
                    }
                }
            }
            else
            {
                if (vectorDirection.y < 0)
                {
                    spriteIndex = 1;
                }
                else if (vectorDirection.y == 0)
                {
                    if (spriteDirection == 2)
                    {
                        spriteIndex = 2;
                    }
                    else
                    {
                        spriteIndex = 0;
                    }
                }
                else
                {
                    spriteIndex = 1;
                }
            }

            // House sizes ARE ONLY 2, but they may have some fence tiles to pad to the nearest road.
            tileData.sprite = tileSprites[spriteIndex];
            var m = tileData.transform;

            m.SetTRS(Vector3.zero, GetRotation((byte)spriteDirection), Vector3.one);
            tileData.transform = m;

            tileData.flags        = TileFlags.LockTransform;
            tileData.colliderType = ColliderType.Sprite;
        }
Пример #27
0
 public bool isWall(ITilemap tilemap, Vector3Int pos)
 {
     return(tilemap.GetTile(pos) == this);
 }
Пример #28
0
 private World.BlockType BlockType(ITilemap tilemap, Vector3 position)
 {
     return(World.Instance.GetBlockType(position));
 }
Пример #29
0
    public override void GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
    {
        string composition = string.Empty;

        for (int x = -1; x <= 1; x++)//Runs through all neighbours
        {
            for (int y = -1; y <= 1; y++)
            {
                if (x != 0 || y != 0) //Makes sure that we aren't checking our self
                {
                    //If the value is a watertile
                    if (HasWater(tilemap, new Vector3Int(location.x + x, location.y + y, location.z)))
                    {
                        composition += 'W';
                    }
                    else
                    {
                        composition += 'E';
                    }
                }
            }
        }

        int randomVal = Random.Range(0, 100);

        if (randomVal < 15)
        {
            tileData.sprite = waterSprites[46];
        }
        else if (randomVal >= 15 && randomVal < 35)
        {
            tileData.sprite = waterSprites[48];
        }
        else
        {
            tileData.sprite = waterSprites[47];
        }



        if (composition[1] == 'E' && composition[3] == 'E' && composition[4] == 'E' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[0];
        }
        else if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'E' && composition[5] == 'W' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[1];
        }
        else if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'E' && composition[5] == 'E' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[2];
        }
        else if (composition[0] == 'W' && composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[5] == 'W' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[3];
        }
        else if (composition[0] == 'W' && composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[4];
        }
        else if (composition[0] == 'E' && composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[5];
        }
        else if (composition[0] == 'E' && composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[5] == 'W' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[6];
        }
        else if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[5] == 'W' && composition[6] == 'W' && composition[7] == 'W')
        {
            tileData.sprite = waterSprites[7];
        }
        else if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'W' && composition[5] == 'E' && composition[7] == 'W')
        {
            tileData.sprite = waterSprites[8];
        }
        else if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[5] == 'W' && composition[6] == 'W' && composition[7] == 'E')
        {
            tileData.sprite = waterSprites[9];
        }
        else if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[5] == 'E' && composition[6] == 'W' && composition[7] == 'E')
        {
            tileData.sprite = waterSprites[10];
        }
        else if (composition[0] == 'E' && composition[1] == 'W' && composition[2] == 'W' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[11];
        }
        else if (composition[0] == 'W' && composition[1] == 'W' && composition[2] == 'W' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[12];
        }
        else if (composition[0] == 'W' && composition[1] == 'W' && composition[2] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[13];
        }
        else if (composition[0] == 'W' && composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[5] == 'E' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[14];
        }
        else if (composition[0] == 'E' && composition[1] == 'W' && composition[2] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[15];
        }
        else if (composition[0] == 'E' && composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[5] == 'E' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[16];
        }
        else if (composition[1] == 'E' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'W' && composition[7] == 'W')
        {
            tileData.sprite = waterSprites[17];
        }
        else if (composition[1] == 'E' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'W' && composition[7] == 'E')
        {
            tileData.sprite = waterSprites[18];
        }
        else if (composition[1] == 'W' && composition[2] == 'W' && composition[4] == 'W' && composition[3] == 'E' && composition[6] == 'W' && composition[7] == 'W')
        {
            tileData.sprite = waterSprites[19];
        }
        else if (composition[1] == 'W' && composition[2] == 'W' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'W' && composition[7] == 'E')
        {
            tileData.sprite = waterSprites[20];
        }
        else if (composition[1] == 'W' && composition[2] == 'E' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'W' && composition[7] == 'W')
        {
            tileData.sprite = waterSprites[21];
        }
        else if (composition[1] == 'W' && composition[2] == 'E' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'W' && composition[7] == 'E')
        {
            tileData.sprite = waterSprites[22];
        }
        else if (composition[1] == 'W' && composition[2] == 'W' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[23];
        }
        else if (composition[1] == 'W' && composition[2] == 'E' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[24];
        }
        else if (composition[1] == 'W' && composition[3] == 'E' && composition[4] == 'E' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[25];
        }
        else if (composition[1] == 'E' && composition[3] == 'E' && composition[4] == 'E' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[26];
        }
        else if (composition[1] == 'W' && composition[3] == 'E' && composition[4] == 'E' && composition[6] == 'W')
        {
            tileData.sprite = waterSprites[27];
        }
        else if (composition[1] == 'E' && composition[4] == 'W' && composition[3] == 'W' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[28];
        }
        else if (composition[1] == 'E' && composition[3] == 'E' && composition[6] == 'E' && composition[4] == 'W')
        {
            tileData.sprite = waterSprites[29];
        }
        else if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'E' && composition[6] == 'E')
        {
            tileData.sprite = waterSprites[30];
        }
        else if (composition == "EWWWWEWW")
        {
            tileData.sprite = waterSprites[31];
        }
        else if (composition == "EWEWWWWE")
        {
            tileData.sprite = waterSprites[32];
        }
        else if (composition == "EWEWWWWW")
        {
            tileData.sprite = waterSprites[33];
        }
        else if (composition == "WWWWWEWW")
        {
            tileData.sprite = waterSprites[34];
        }
        else if (composition == "WWEWWWWE")
        {
            tileData.sprite = waterSprites[35];
        }
        else if (composition == "WWWWWWWE")
        {
            tileData.sprite = waterSprites[36];
        }
        else if (composition == "EWWWWWWW")
        {
            tileData.sprite = waterSprites[37];
        }
        else if (composition == "WWEWWWWW")
        {
            tileData.sprite = waterSprites[38];
        }
        else if (composition == "EWWWWWWE")
        {
            tileData.sprite = waterSprites[39];
        }
        else if (composition == "EWWWWEWE")
        {
            tileData.sprite = waterSprites[40];
        }
        else if (composition == "WWWWWEWE")
        {
            tileData.sprite = waterSprites[41];
        }
        else if (composition == "WWEWWEWW")
        {
            tileData.sprite = waterSprites[42];
        }
        else if (composition == "EWEWWEWW")
        {
            tileData.sprite = waterSprites[43];
        }
        else if (composition == "WWEWWEWE")
        {
            tileData.sprite = waterSprites[44];
        }
        else if (composition == "EWEWWEWE")
        {
            tileData.sprite = waterSprites[45];
        }
    }
Пример #30
0
 public override bool GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
 {
     UpdateTile(location, tilemap, ref tileData);
     return(true);
 }