コード例 #1
0
    void NewWave()
    {
        startPos.SetActive(true);
        startPosMain.transform.position = startPosNext.transform.position;
        startPosNext.SetActive(false);

        _first = true;

        GameObject newLine = RandomizeLine();
        LineScript script  = newLine.GetComponent <LineScript>();
        LineScript copy    = script;

        copy._blockHealth     = _blockHealth;
        copy._crystalsForGame = _crystalsForGame;
        copy._maxAmmo         = _maxAmmo;
        copy._saveScore       = _score;
        lAllLine.Add(copy);
        GameObject obj;

        for (int i = 0; i < 7; i++)
        {
            Vector3 pos = Camera.main.ScreenToWorldPoint(_firstSpawnPosition);
            int     id  = script.blocksId[i];
            if (id != 0)
            {
                obj = Instantiate(blocksPrefabs[id], canvas.transform);
            }
            else
            {
                obj = null;
            }
            if (obj != null)
            {
                if (obj.GetComponent <BlockScript>() != null)
                {
                    BlockScript blockScript = obj.GetComponent <BlockScript>();
                    blockScript.setParram(_blockHealth, pos, _blockId, this, blockSizeX);
                    blockScript.step = blockSizeX;
                    blockScript.movePosition();
                    blockScript.SetSize(blockSizeX);
                    lBlock.Add(blockScript);
                    _blockId++;
                }
                else
                {
                    BonusScript bonusScript = obj.GetComponent <BonusScript>();
                    bonusScript.setParram(this, _bonusId, pos, blockSizeX);
                    bonusScript.step = blockSizeX;
                    bonusScript.movePosition();
                    bonusScript.SetSize(blockSizeX);
                    lBonus.Add(bonusScript);
                    _bonusId++;
                }
            }

            _firstSpawnPosition.x += blockSizeX;


            //blockScript[i].setParram(_blockHealth, _blockId, this);
            //blockScript[i].step = blockSizeX;
            //blockScript[i].movePosition();
            //blockScript[i].SetSize(blockSizeX);
            //lBlock.Add(blockScript[i]);
            //_blockId++;
        }
        //for(int i = 0; i < bonusScript.Length; i++)
        //{
        //    bonusScript[i].setParram(this,_bonusId);
        //    bonusScript[i].step = blockSizeX;
        //    bonusScript[i].movePosition();
        //    bonusScript[i].SetSize(blockSizeX);
        //    lBonus.Add(bonusScript[i]);
        //    _bonusId++;
        //}
        // MovePositionsBlocks();

        _firstSpawnPosition.y = _firstSpawnY;
        _firstSpawnPosition.x = _firstSpawnX;
        lLine.Add(newLine);
        _canShoot = true;
        _blockHealth++;
        textScript.ammoCount.gameObject.SetActive(true);
        textScript.underLineAmmoText.SetActive(true);
        textScript.ammoCount.text = _maxAmmo.ToString();
        textScript.score.text     = Mathf.RoundToInt(_score).ToString();
        textScript.BestScore.text = "Best- " + Mathf.RoundToInt(_bestScore).ToString();
    }