Пример #1
0
    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);
    }
Пример #2
0
 void SetDirection(Direciton d)
 {
     if (!isOpposite(d))
     {
         targetDirection = d;
     }
 }
Пример #3
0
 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());
 }
Пример #4
0
        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);
                }
            }
        }
Пример #5
0
        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();
                }
            }
        }