Exemplo n.º 1
0
    public void PopObjectRandomly(GameObject _Prefab)
    {
        m_PosBuffer.Set(Random.Range(-m_TerrainManager.WorldHalfWidth + c_PowerUpPadding, m_TerrainManager.WorldHalfWidth - c_PowerUpPadding),
                        0.0f,
                        Random.Range(-m_TerrainManager.WorldHalfHeight + c_PowerUpPadding, m_TerrainManager.WorldHalfHeight - c_PowerUpPadding));

        if (Mathf.Abs(m_PosBuffer.x) < c_PowerUpPadding)
        {
            m_PosBuffer.x += c_PowerUpPadding * Mathf.Sign(m_PosBuffer.x);
        }
        if (Mathf.Abs(m_PosBuffer.z) < c_PowerUpPadding)
        {
            m_PosBuffer.z += c_PowerUpPadding * Mathf.Sign(m_PosBuffer.z);
        }

        m_TerrainManager.ClampPosition(ref m_PosBuffer, Constants.c_SpawnBorderOffset);
        m_Objects.Add(Instantiate(_Prefab, m_PosBuffer, Quaternion.identity));
    }