Ejemplo n.º 1
0
    /// <summary> Recycles or creates a falling ring as specified </summary>
    /// <param name="_pos"> Starting position </param>
    /// <param name="_scale"> Scale </param>
    /// <param name="_color"> Colour </param>
    public void SpawnFallingRing(Vector3 _pos, float _scale, Color _color)
    {
        GameObject  gameObj     = RecyclePool.RetrieveOrCreate(RecyclePool.PoolTypes.FallingRing, fallingRingPrefab);
        FallingRing fallingRing = gameObj.GetComponent <FallingRing>();

        fallingRing.Init(_pos, _scale, _color);
        fallingRings.Add(fallingRing);
    }
Ejemplo n.º 2
0
    /// <summary> Creates (or reuses) a shockwave GameObject </summary>
    /// <param name="_position"> Centre position </param>
    /// <param name="_color"> Ripple's colour </param>
    public void StartRipple(Vector3 _position, Color _color)
    {
        GameObject gameObj = RecyclePool.RetrieveOrCreate(RecyclePool.PoolTypes.Shockwave, shockwavePrefab);

        // Set position & rotation
        gameObj.transform.parent     = myTrans;
        gameObj.transform.position   = _position;
        gameObj.transform.localScale = Vector3.zero;

        // (Re)start popup animation
        Shockwave shockwaveScript = gameObj.GetComponent <Shockwave>();

        shockwaveScript.Init(_color);

        shockwaves.Add(shockwaveScript);
    }
Ejemplo n.º 3
0
    /// <summary> Creates (or reuses) a disappearing block GameObject </summary>
    /// <param name="_block"> Block from which to create </param>
    public static void StartDisappearing(Block _block, GameObject _disappearPrefab)
    {
        GameObject gameObj = RecyclePool.RetrieveOrCreate(RecyclePool.PoolTypes.BlockDisappear, _disappearPrefab);

        // Match pos/rot/scale of original block
        Transform trans      = gameObj.transform;
        Transform blockTrans = _block.trans;

        trans.parent        = blockTrans.parent;
        trans.localPosition = blockTrans.localPosition;
        trans.localRotation = blockTrans.localRotation;
        trans.localScale    = blockTrans.localScale;

        // (Re)start the disappear anim
        gameObj.GetComponent <BlockDisappear>().ResetAnim();
    }