Exemplo n.º 1
0
    public override void Init(int width, AbstractSubTile subTilePrefab)
    {
        base.Init(width, subTilePrefab);

        if (_boxCollider == null)
        {
            _boxCollider = gameObject.AddComponent <BoxCollider>();
        }

        _boxCollider.size = new Vector3(width, 1, width);
        var offset = 0.5f * width - 0.5f;

        _boxCollider.center = new Vector3(offset, -0.5f, -offset);

        for (var i = 0; i < width; i++)
        {
            for (var j = 0; j < width; j++)
            {
                var subTile = CreateSubTile();
                subTile.transform.SetParent(transform);
                subTile.transform.localPosition = new Vector3(i, 0, -j);
                _subTiles.Add(subTile);
            }
        }
    }
Exemplo n.º 2
0
 protected AbstractGenerator(AbstractSubTile subTilePrefab, int startPlatformWidth,
                             AbstractDiamondGenerator diamondGenerator)
 {
     _subTilePrefab      = subTilePrefab;
     _startPlatformWidth = startPlatformWidth;
     _diamondGenerator   = diamondGenerator;
     _container          = new GameObject("Level");
 }
Exemplo n.º 3
0
    protected virtual AbstractTile GenerateTile(int width, AbstractSubTile subTilePrefab,
                                                Action <AbstractTile> onCollisionExitAction)
    {
        var tile = CreateTile();

        tile.Init(width, subTilePrefab);
        tile.transform.SetParent(_container.transform);
        tile.transform.position  = _nextTilePos;
        tile.CollisionExitEvent += TileOnCollisionExitEvent;
        _tiles.Add(tile);
        return(tile);
    }
Exemplo n.º 4
0
    public virtual void Init(int width, AbstractSubTile subTilePrefab)
    {
        if (_rigidbody == null)
        {
            _rigidbody = gameObject.AddComponent <Rigidbody>();
        }
        _rigidbody.isKinematic = true;

        if (_subTiles == null)
        {
            _subTiles = new List <AbstractSubTile>();
        }

        _subTilePrefab = subTilePrefab;
    }
Exemplo n.º 5
0
 public CubeLevelGenerator(AbstractSubTile subTilePrefab, int startPlatformWidth,
                           AbstractDiamondGenerator diamondGenerator) : base(subTilePrefab, startPlatformWidth, diamondGenerator)
 {
 }