コード例 #1
0
ファイル: BallSpawner.cs プロジェクト: mmanevski/BallSplitter
    private void OnSplitBalls(int numOfBalls, BallSplitter parentSplitter, bool activate)
    {
        float _newScaleFactor = numOfBalls <= 4 ? currentBallScale * 0.8f : currentBallScale * 0.5f;

        _newScaleFactor  = Mathf.Clamp(_newScaleFactor, gameParameters.minBallScale, gameParameters.maxBallScale);
        currentBallScale = _newScaleFactor;

        StartCoroutine(SpawnBalls(numOfBalls, parentSplitter, _newScaleFactor, activate));
    }
コード例 #2
0
 public void Init(Vector3 pos, float scaleFactor, bool activate, BallSplitter splitter = null)
 {
     transform.localPosition = pos;
     parentSplitter          = splitter;
     if (activate)
     {
         ActivateRigidbody();
     }
     transform.localScale = new Vector3(scaleFactor, scaleFactor, scaleFactor);
 }
コード例 #3
0
ファイル: BallSpawner.cs プロジェクト: mmanevski/BallSplitter
    private IEnumerator SpawnBalls(int numOfBalls, BallSplitter parentSplitter, float _scaleFactor, bool activate = true)
    {
        for (int i = 0; i < numOfBalls; i++)
        {
            Vector3   spawnPos  = new Vector3();
            SpawnArea spawnArea = parentSplitter.spawnArea;

            float spawnPosZLBound = parentSplitter.transform.localPosition.z - spawnArea.rightBoundry;
            float spawnPosZRBound = parentSplitter.transform.localPosition.z + spawnArea.rightBoundry;

            float spawnPosZ = Random.Range(spawnPosZLBound, spawnPosZRBound);

            spawnPos = new Vector3(parentSplitter.transform.localPosition.x, parentSplitter.transform.localPosition.y, spawnPosZ);

            Transform _parent = currentLevel.transform;

            BallController _newBall = Instantiate(ballPrefab, spawnPos, Quaternion.identity, _parent).GetComponent <BallController>();
            _newBall.Init(spawnPos, _scaleFactor, activate, parentSplitter);
            yield return(new WaitForSeconds(0.05f));
        }
    }
コード例 #4
0
ファイル: TripleBall.cs プロジェクト: eliwaksbaum/breakout
    protected override void DoPower(GameObject paddle)
    {
        BallSplitter splitter = paddle.GetComponent <BallSplitter>();

        splitter.ball.Split();
    }