Exemplo n.º 1
0
    public LS_Piece GetPiece(PieceType pt, int visualIndex)
    {
        LS_Piece p = pieces.Find(x => x.type == pt && x.visualIndex == visualIndex && !x.gameObject.activeSelf);

        if (p == null)
        {
            GameObject go = null;
            if (pt == PieceType.ramp)
            {
                go = ramps[visualIndex].gameObject;
            }
            else if (pt == PieceType.longblock)
            {
                go = longblocks[visualIndex].gameObject;
            }
            else if (pt == PieceType.jump)
            {
                go = jumps[visualIndex].gameObject;
            }

            go = Instantiate(go);
            p  = go.GetComponent <LS_Piece>();
            pieces.Add(p);
        }

        return(p);
    }
Exemplo n.º 2
0
    public void Spawn()
    {
        int amtObj = 0;

        switch (type)
        {
        case PieceType.jump:
            amtObj = LS_LevelManager.instance.jumps.Count;
            break;

        case PieceType.longblock:
            amtObj = LS_LevelManager.instance.longblocks.Count;
            break;

        case PieceType.ramp:
            amtObj = LS_LevelManager.instance.ramps.Count;
            break;
        }

        currentPiece = LS_LevelManager.instance.GetPiece(type, Random.Range(0, amtObj));
        currentPiece.gameObject.SetActive(true);
        currentPiece.transform.SetParent(transform, false);
    }