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)); }