Пример #1
0
 public JumpTileCollision(Collision col, Player player, JumpTile tile)
 {
     Collision = col;
     Tile      = tile;
     Player    = player;
 }
Пример #2
0
    private void GenerateSingleTile(JumpTile tile)
    {
        if (tile == null)
        {
            return;
        }

        Vector3 tilePosition = tile.transform.position;

        tilePosition.y = lastTileY + tileGapY;

        lastTileY = tilePosition.y;

        tilePosition.x = Random.Range(minTileX, maxTileX + 1);

        tile.transform.position = tilePosition;

        if (!tile.gameObject.activeSelf)
        {
            tile.gameObject.SetActive(true);
        }

        Collider tileCollider = tile.GetComponent <Collider> ();

        if (tileCollider != null && !tileCollider.enabled)
        {
            tileCollider.enabled = true;
        }

        int tileType = Random.Range(0, 201);

        MeshRenderer tileMesh      = tile.GetComponentInChildren <MeshRenderer> ();
        bool         isSpecialTile = false;

        if (tileType == 1)
        {
            tile.Type               = JumpTile.TileType.DOUBLE_SCORE;
            tile.MoveStyle          = JumpTile.MovementStyle.HORIZONTAL;
            tileMesh.material.color = Color.blue;
            isSpecialTile           = true;
        }

        //if (tilePosition.y > 100f)
        {
            // brick
            if (tileType >= 10 && tileType <= 15)
            {
                tile.Type = JumpTile.TileType.BRICK;

                tileMesh.material.color = Color.red;
                isSpecialTile           = true;
            }
        }

        //if (tilePosition.y > 500f)
        {
            // spike
            if (tileType == 200)
            {
                tile.Type = JumpTile.TileType.SPIKE;

                tileMesh.material.color = Color.black;
                isSpecialTile           = true;
            }

            // shield
            if (tileType >= 50 && tileType <= 55)
            {
                tile.Type = JumpTile.TileType.SHIELD;

                tileMesh.material.color = Color.cyan;
                isSpecialTile           = true;
            }
        }

        //if (tilePosition.y > 1000f)
        {
            if (tileType == 150)
            {
                tile.Type = JumpTile.TileType.ROCKET;

                tileMesh.material.color = Color.magenta;
                isSpecialTile           = true;
            }
        }

        if (!isSpecialTile)
        {
            tile.MoveStyle          = JumpTile.MovementStyle.NONE;
            tile.Type               = JumpTile.TileType.REGULAR;
            tileMesh.material.color = Color.white;
        }
    }