public void MoveTet(string thisDir) { bool blocked = IsAnyBlockBlockedSide(thisDir); if (!blocked) { mTet.lastMoveWasRotate = false; if (thisDir == "left") { aTAP--; if (mTetState == TetState.Grounded) { oFT += 0.35f; mTetState = TetState.Falling; } } else { aTAP++; if (mTetState == TetState.Grounded) { oFT += 0.35f; mTetState = TetState.Falling; } } DrawGameState(); } }
void Update() { if (mC != null) { mC.transform.GetChild(0).gameObject.GetComponent <Text>().text = "Score: " + mScore; } if (mTetState == TetState.Grounded) { oFT += Time.deltaTime; if (oFT >= 0.5f) { oFT = 0.0F; mTetState = TetState.Placed; LockTetInPlace(); } } tempTimer += Time.deltaTime; // old gravity /* * if (tempTimer > 1.0F) * { * tempTimer -= 1.0F; * TryDropDown(); * * }*/ }
// spawn new tet private void SpawnNewTet() { mTetState = TetState.Falling; // start position of the new Tet aTAP = 204; if (nextTets.Count < System.Enum.GetValues(typeof(TetShape)).Length) { PopulateNextTets(); } mTet.rotS = 0; mTet.lSRotS = 0; mTet.SetUpTet(nextTets[0], aTAP); nextTets.RemoveAt(0); mUniRx.DoTetPreview(); }
public void DropDown(bool fromKey = false, bool hardDropDown = false) { if (!iSetUp) { return; } if (mTetState == TetState.Falling) { if (aTAP - cols >= 0) { bool blocked = IsAnyBlockBlockedBelow(); if (!blocked) { mTet.lastMoveWasRotate = false; aTAP -= cols; oFT = 0.0f; if (fromKey) { mScore++; } if (hardDropDown) { DrawGameState(); DropDown(fromKey, hardDropDown); } } else { if (mTetState == TetState.Falling) { mTetState = TetState.Grounded; } } } else { if (mTetState == TetState.Falling) { mTetState = TetState.Grounded; } } } }