示例#1
0
        public Tile GetNextTile(Tile currentTile, ref LookingSide lookingSide)
        {
            var tilePosV2 = currentTile.position + GetDirection(lookingSide);

            if (tilePosV2.x >= size)
            {
                lookingSide = LookSide.NextLookingSide(lookingSide);
                tilePosV2   = currentTile.position + GetDirection(lookingSide);
                lookingSide = LookSide.NextLookingSide(lookingSide);
            }
            if (tilePosV2.x < 0)
            {
                lookingSide = LookSide.NextLookingSide(lookingSide);
                tilePosV2   = currentTile.position + GetDirection(lookingSide);
                lookingSide = LookSide.NextLookingSide(lookingSide);
            }
            if (tilePosV2.y >= size)
            {
                lookingSide = LookSide.NextLookingSide(lookingSide);
                tilePosV2   = currentTile.position + GetDirection(lookingSide);
                lookingSide = LookSide.NextLookingSide(lookingSide);
            }
            if (tilePosV2.y < 0)
            {
                lookingSide = LookSide.NextLookingSide(lookingSide);
                tilePosV2   = currentTile.position + GetDirection(lookingSide);
                lookingSide = LookSide.NextLookingSide(lookingSide);
            }
            return(GetTile(tilePosV2));
        }
 public MarakeshModelController(GameObject marakeshGameObject, Tile tile)
 {
     this.marakeshGameObject = Object.Instantiate(marakeshGameObject);
     this.marakeshGameObject.transform.position = tile.posV3;
     currentTile = tile;
     lookingSide = LookingSide.up;
     startRot    = marakeshGameObject.transform.rotation;
 }
示例#3
0
 public static LookingSide NextLookingSide(LookingSide lookingSide)
 {
     lookingSide++;
     if ((int)lookingSide == lookingSideLength)
     {
         lookingSide = 0;
     }
     return(lookingSide);
 }
    private void OnEnable()
    {
        attackType = GetComponent <AttackingBase>();
        if (transform.rotation.eulerAngles.y == 0)
        {
            //Смотрит направо
            currentLooking = LookingSide.RightSide;
        }

        attackType.SetEnemyController(this);

        shieldPeriod = ShieldTimePeriod;
    }
示例#5
0
        private Vector2Int GetDirection(LookingSide lookingSide)
        {
            switch (lookingSide)
            {
            case LookingSide.up:
                return(new Vector2Int(0, 1));

            case LookingSide.right:
                return(new Vector2Int(1, 0));

            case LookingSide.down:
                return(new Vector2Int(0, -1));

            case LookingSide.left:
                return(new Vector2Int(-1, 0));

            default:
                return(new Vector2Int(0, 1));
            }
        }
 public void SetMarkeshPosition(int tile, LookingSide lookingSide)
 {
     throw new NotImplementedException();
 }
 public void Rotate()
 {
     lookingSide = LookSide.NextLookingSide(lookingSide);
     CheckLookingSide();
 }