Example #1
0
    public void AnimateTo(Vector3 prevPos, Vector3 newPos, TileAnimParams animParams)
    {
        Position = prevPos;
        _visual.transform.DOMove(newPos, animParams.animTime).SetEase(animParams.easeType);

        _adornment?.DOMove(newPos, animParams.easeType, animParams.animTime);
    }
Example #2
0
    public void ScaleTo(float from, float to, TileAnimParams animaParams, float?delay)
    {
        _visual.transform.localScale = new Vector3(from, from, from);
        var tween = _visual.transform.DOScale(to, animaParams.animTime).SetEase(animaParams.easeType);

        if (delay != null)
        {
            tween.SetDelay((float)delay);
        }
    }
 public void AnimateTo(Vector2 upperLeft, Vector2 tileSizes, TileAnimParams animParams)
 {
     for (var c = 0; c < NumColumns; c++)
     {
         for (var r = 0; r < NumRows; r++)
         {
             var prevPos = _tiles[c, r].Position;
             var newPos  = PlayfieldManager.ComputePos(upperLeft, tileSizes, c, r);
             _tiles[c, r].AnimateTo(prevPos, newPos, animParams);
         }
     }
 }
    public void GenerateTiles(GetPrefabsDelegate getPrefabs, TileAnimParams animParams)
    {
        DropPiece = new DropPieceSimple();
        DropPiece.Reset(true, DropPieceSimple.RandomCell);

        var pfTransform = GameObject.Find("Playfield").transform;

        for (var c = 0; c < NumColumns; c++)
        {
            for (var r = 0; r < NumRows; r++)
            {
                var        cell = DropPiece.Cells[c][r];
                GameObject prefab = null, adornment = null;
                Transform  transform = null;
                getPrefabs(cell, out prefab, out adornment, out transform);
                var tile = new Tile();
                tile.Instantiate(prefab, adornment, Vector3.zero, transform, animParams);
                _tiles[c, r] = tile;
            }
        }
    }
    public Tile InstantiateVisual(Cell c)
    {
        var point = c.Point;

        RemoveCell(point);

        GameObject prefabCell    = null;
        GameObject prefabOverlay = null;

        switch (c.RemoveState)
        {
        case Cell.RemoveStates.JewelWillBeRemoved:
        case Cell.RemoveStates.JewelRemoving:
            prefabCell = prefabJewelWillBeRemoved;
            //prefabCell = prefabRemoving;
            Debug.Log("jewel removing");
            break;

        case Cell.RemoveStates.Removing:
            prefabCell = prefabRemoving;
            break;

        case Cell.RemoveStates.NotRemoved:
            //case Cell.RemoveStates.WillBeRemoved:
        {
            switch (c.State)
            {
            case Cell.States.Black:
                prefabCell = Level.prefabBlack;
                break;

            case Cell.States.BlackJeweledBoth:
                prefabCell    = Level.prefabBlack;
                prefabOverlay = prefabJewelBoth;
                break;

            case Cell.States.BlackJeweledHorz:
                prefabCell    = Level.prefabBlack;
                prefabOverlay = prefabJewelHorz;
                break;

            case Cell.States.BlackJeweledVert:
                prefabCell    = Level.prefabBlack;
                prefabOverlay = prefabJewelVert;
                break;

            case Cell.States.WhiteJeweledBoth:
                prefabCell    = Level.prefabWhite;
                prefabOverlay = prefabJewelBoth;
                break;

            case Cell.States.WhiteJeweledVert:
                prefabCell    = Level.prefabWhite;
                prefabOverlay = prefabJewelVert;
                break;

            case Cell.States.WhiteJeweledHorz:
                prefabCell    = Level.prefabWhite;
                prefabOverlay = prefabJewelHorz;
                break;

            case Cell.States.White:
                prefabCell = Level.prefabWhite;
                break;
            }
        }
        break;
        }

        var result = (Tile)null;
        var parent = GameObject.Find("Playfield").transform;

        if (prefabCell != null)
        {
            var anim = new TileAnimParams(_dropPieceView.jewelEaseType, _dropPieceView.jewelHighlightAnimTime);
            var pos  = ComputePos(point.Column, point.Row);
            _tiles[point.Column, point.Row].Instantiate(prefabCell, prefabOverlay, pos, parent, anim);
            result = _tiles[point.Column, point.Row];
        }

        return(result);
    }
Example #6
0
    public void Instantiate(GameObject prefab, GameObject prefabAdornment, Vector3 position, Transform parent, TileAnimParams animParams)
    {
        Prefab = prefab;
        if (Prefab != null)
        {
            _visual = UnityEngine.Object.Instantiate(Prefab, Vector3.zero, Quaternion.identity);
            _visual.transform.SetParent(parent, false);
            _visual.transform.position = position;
        }

        if (prefabAdornment != null)
        {
            _adornment = new Adornment();
            _adornment.Instantiate(prefabAdornment, parent, animParams.easeType, animParams.animTime);
            _adornment.UpdatePosition(position);
        }
    }