示例#1
0
        //Call to the engine to create a new piece and create a representation of the random piece in view
        private void CreateTetrimino()
        {
            if (!pv.IsMine && !PhotonNetwork.IsMasterClient)
            {
                return;
            }
            if (mCurrentTetrimino != null)
            {
                mCurrentTetrimino.isLocked = true;
            }

            var tetrimino     = mPlayfield.CreateTetrimo();
            var tetriminoView = mTetriminoPool.Collect();

            tetriminoView.InitiateTetrimino(tetrimino);
            mTetriminos.Add(tetriminoView);

            if (mPreview != null)
            {
                mTetriminoPool.Release(mPreview);
            }

            mPreview = mTetriminoPool.Collect();
            mPreview.InitiateTetrimino(tetrimino, true);
            mRefreshPreview = true;
        }
示例#2
0
        //When all the blocks of a piece is destroyed, we must release ("destroy") it.
        private void DestroyTetrimino(TetriminoView obj)
        {
            var index = mTetriminos.FindIndex(x => x == obj);

            mTetriminoPool.Release(obj);
            mTetriminos[index].destroyed = true;
        }
示例#3
0
        //When all the blocks of a piece is destroyed, we must release ("destroy") it.
        private void DestroyTetrimino(TetriminoView obj)
        {
            if (!pv.IsMine)
            {
                return;
            }
            var index = mTetriminos.FindIndex(x => x == obj);

            mTetriminoPool.Release(obj);
            mTetriminos[index].destroyed = true;
        }
示例#4
0
        public void discardPiece()
        {
            if (mTetriminos.Count > 1)
            {
                if (!hasStashed)
                {
                    //Debug.Log(mTetriminoPool.Count);

                    int           index = (mTetriminoPool.Count == 2) ? 0 : mTetriminoPool.Count - 1;
                    TetriminoView TV    = mTetriminoPool[index];
                    DestroyTetrimino(TV);
                    mTetriminos.Remove(TV);
                    //mTetriminoPool.Release(mTetriminoPool[index]);


                    CreateTetrimino();

                    hasStashed = true;
                }
            }
        }
示例#5
0
        //Call to the engine to create a new piece and create a representation of the random piece in view
        private void CreateTetrimino()
        {
            if (mCurrentTetrimino != null)
            {
                mCurrentTetrimino.isLocked = true;
            }

            var tetrimino     = mPlayfield.CreateTetrimo();
            var tetriminoView = mTetriminoPool.Collect();

            tetriminoView.InitiateTetrimino(tetrimino);
            mTetriminos.Add(tetriminoView);

            if (mPreview != null)
            {
                mTetriminoPool.Release(mPreview);
            }

            mPreview = mTetriminoPool.Collect();
            mPreview.InitiateTetrimino(tetrimino, true);
            mRefreshPreview = true;
        }
示例#6
0
        //[PunRPC]
        //Call to the engine to create a new piece and create a representation of the random piece in view
        private void CreateTetrimino()
        {
            hasStashed = false;

            if (mCurrentTetrimino != null)
            {
                mCurrentTetrimino.isLocked = true;
            }

            var tetrimino     = mPlayfield.CreateTetrimo();
            var tetriminoView = mTetriminoPool.Collect();

            tetriminoView.InitiateTetrimino(tetrimino);
            mTetriminos.Add(tetriminoView);

            if (mPreview != null)
            {
                mTetriminoPool.Release(mPreview);
            }

            mPreview = mTetriminoPool.Collect();
            mPreview.InitiateTetrimino(tetrimino, true);

            //Try to create a nextBlock view
            if (mNextView != null)
            {
                mTetriminoPool.Release(mNextView);
            }

            mNextView = mTetriminoPool.Collect(nextTetriminoParent);
            mNextView.InitiateTetrimino(mPlayfield.mNextTetrimino);
            mRefreshPreview = true;

            if (firstPiece)
            {
                firstPiece = false;
            }
        }