public void ResetToStartGame() { m_deletedRows = 0; m_blockMoveModeChangeTime_s = 0.0f; m_blockMoveDeltaTime_s = 0.0f; m_blockFallDeltaTime = 0.0f; m_gameState = GameState.PLAY_GAME; m_waitUpDownArrowKey = false; resetFieldState(); setEnableGameObject(); resetControlBlockParameter(); m_blockManager.ResetForGameStart(); m_waitUpDownArrowKey = false; m_scoreLevelRendererObject.GetComponent <Score_LevelRenderer> ().Reset(); BLOCK_FALL_TIME_MAX_SEC = BLOCK_FALL_TIME_MAX_SEC_DEFAULT; m_rendererObject.GetComponent <BlockRenderer>().SetRenderNextBlock( m_blockManager.GetNextBlock(), m_blockManager.GetNextBlockType()); m_enableVanishEffect = false; m_scoreLevelRendererObject.GetComponent <Score_LevelRenderer>().SetLevelUpRowCountMax( LEVEL_UP_ROW_COUNT); }
public cTetrisManager(GameObject rendererObject) { m_blockManager = new ControlBlockManager(); m_field = new FieldBlockType[cTetrisParam.MAP_HEIGHT, cTetrisParam.MAP_WIDTH]; m_blockRenderer = rendererObject.GetComponent <BlockRenderer> (); m_blockRenderer.Initialize(cTetrisParam.MAP_WIDTH, cTetrisParam.MAP_HEIGHT); m_blockMoveModeChangeTime_s = 0.0f; m_blockMoveDeltaTime_s = 0.0f; BLOCK_FALL_TIME_MAX_SEC = cTetrisParam.BLOCK_FALL_TIME_MAX_SEC_DEFAULT; m_blockFallDeltaTime = 0.0f; m_waitUpDownArrowKey = false; resetFieldState(); setEnableGameObject(); resetControlBlockParameter(); m_blockManager.ResetForGameStart(); m_blockRenderer.SetRenderNextBlock( m_blockManager.GetNextBlock(), m_blockManager.GetNextBlockType()); }
private void deleteRows() { resetControlBlockParameter(); deleteRow(); m_blockRenderer.SetRenderNextBlock( m_blockManager.GetNextBlock(), m_blockManager.GetNextBlockType()); m_waitUpDownArrowKey = true; // 新たに生成したブロックが出現時点で設置済みのブロックと衝突している場合. if (checkCollision(m_controlBlockLeft, m_controlBlockTop, m_blockManager.GetControlBlock())) { // ゲームオーバーに遷移する. m_gameState = GameState.GAME_OVER; clearFieldState(); setEnableGameObject(); m_blockRenderer.ResetRenderNextBlock(); } }