Vector3 getNextDirections(Vector3 currentPosition, Vector3 targetPosition) { if (targetPosition - currentPosition == Vector3.forward) { m_snakeDir = Direciton.FORWARD; m_snakeDirection = Vector3.forward; } if (targetPosition - currentPosition == Vector3.back) { m_snakeDir = Direciton.BACK; m_snakeDirection = Vector3.back; } if (targetPosition - currentPosition == Vector3.left) { m_snakeDir = Direciton.LEFT; m_snakeDirection = Vector3.left; } if (targetPosition - currentPosition == Vector3.right) { m_snakeDir = Direciton.RIGHT; m_snakeDirection = Vector3.right; } return(m_snakeDirection); }
void SetDirection(Direciton d) { if (!isOpposite(d)) { targetDirection = d; } }
public void StartNewGame() { ClearReferences(); CreateMap(); PlacePlayer(); PlaceCamera(); CreateApple(); targetDirection = Direciton.right; // bunu yazmazsan random başlıyor isGameOver = false; currentScore = 0; UpdateScore(); AdsManager(); StartCoroutine(TakeSs()); }
bool isOpposite(Direciton d) { switch (d) { default: case Direciton.up: if (curDirection == Direciton.down) { return(true); } else { return(false); } case Direciton.left: if (curDirection == Direciton.right) { return(true); } else { return(false); } case Direciton.right: if (curDirection == Direciton.left) { return(true); } else { return(false); } case Direciton.down: if (curDirection == Direciton.up) { return(true); } else { return(false); } } }
private void Update() { GetInput(); if (isGameOver) { //if (Input.GetKeyDown(KeyCode.R)) // PC için /*if(tap) //telefon için * { * onStart.Invoke(); * * }*/ return; } if (isFirstInput) { SetPlayerDirection(); timer += Time.deltaTime; if (timer > MenuCtrl.instance.moveRate) { timer = 0; curDirection = targetDirection; MovePlayer(); } } else { if (up || down || left || right) //hem telefon hem PC için tap yapmıyoruz çünkü restart veya reklam tuşunca basınca direk oynuyor //if(tap) { SetPlayerDirection(); isFirstInput = true; firstInput.Invoke(); } } }