/// <summary>
    /// Make the character rotate to face diection they will move in
    /// </summary>
    /// <param name="direction">Direction will the character will face</param>
    private void turn(directionFacing direction)
    {
        //throw new System.NotImplementedException();
        if (direction == directionFacing.up)
        {
            transform.eulerAngles = new Vector3(transform.rotation.x, 0, transform.rotation.z);
            thisDirection         = directionFacing.up;
        }

        if (direction == directionFacing.right)
        {
            transform.eulerAngles = new Vector3(transform.rotation.x, 90, transform.rotation.z);
            thisDirection         = directionFacing.right;
        }

        if (direction == directionFacing.down)
        {
            transform.eulerAngles = new Vector3(transform.rotation.x, 180, transform.rotation.z);
            thisDirection         = directionFacing.down;
        }

        if (direction == directionFacing.left)
        {
            transform.eulerAngles = new Vector3(transform.rotation.x, 270, transform.rotation.z);
            thisDirection         = directionFacing.left;
        }
    }
Пример #2
0
    private IEnumerator turnLeft(int item_number)
    {
        yield return(new WaitForSeconds(item_number * speed));

        transform.Rotate(new Vector3(0, 0, 90));
        if (direction == directionFacing.facingEast)
        {
            direction = directionFacing.facingNorth;
        }
        else if (direction == directionFacing.facingNorth)
        {
            direction = directionFacing.facingWest;
        }
        else if (direction == directionFacing.facingWest)
        {
            direction = directionFacing.facingSouth;
        }
        else if (direction == directionFacing.facingSouth)
        {
            direction = directionFacing.facingEast;
        }
        else
        {
            Debug.LogError("I don't seem to be facing a direction. Karel.cs:turnLeft");
        }
    }
Пример #3
0
 public void startKarel()
 {
     if (!custom_karel_mode)
     {
         custom_karel_mode    = true;
         start_position       = transform.position;
         beepers_in_bag_start = beepers_in_bag;
         start_direction      = direction;
         is_karel_dead        = false;
     }
 }
 public void GoLeft()
 {
     if (!isLocalPlayer)
     {
         return;
     }
     if (playerDirection != directionFacing.Right)
     {
         playerDirection = directionFacing.Left;
         SetDirection(directionLeft);
     }
 }
 public void GoDown()
 {
     if (!isLocalPlayer)
     {
         return;
     }
     if (playerDirection != directionFacing.Up)
     {
         playerDirection = directionFacing.Down;
         SetDirection(directionDown);
     }
 }
Пример #6
0
    /*
     * turnLeft
     * rotate Karel 90 degrees then keep track of what direction karel is facing
     */
    public void turnLeft()
    {
        if (!custom_karel_mode && is_karel_dead)
        {
            is_karel_dead = false;
        }

        if (!is_karel_dead)
        {
            transform.Rotate(new Vector3(0, 0, 90));
            if (direction == directionFacing.facingEast)
            {
                direction = directionFacing.facingNorth;
            }
            else if (direction == directionFacing.facingNorth)
            {
                direction = directionFacing.facingWest;
            }
            else if (direction == directionFacing.facingWest)
            {
                direction = directionFacing.facingSouth;
            }
            else if (direction == directionFacing.facingSouth)
            {
                direction = directionFacing.facingEast;
            }
            else
            {
                Debug.LogError("I don't seem to be facing a direction. Karel.cs:turnLeft");
            }
            if (custom_karel_mode)
            {
                instructions.Add(Instructions.turnLeft);
            }
        }
    }
Пример #7
0
 void Start()
 {
     DirectionFacing = directionFacing.down;
     attackCollider  = attackSprt.GetComponent <Collider2D>();
 }