private void ConnectTileViews(Board <Piece> board) { var tileViews = FindObjectsOfType <TileView>(); foreach (var tileView in tileViews) { var tilePosition = BoardPositionHelper.WorldToBoardPosition(tileView.transform.position); tileView.Modal = board.TileAt(tilePosition); } }
private void GenerateGrid() { var positions = BoardPositionHelper.GenerateBoard(_size); foreach (var position in positions) { var hex = PrefabUtility.InstantiatePrefab(_hexPrefab) as GameObject; var pos = position.ToAxial().ToPixel(); hex.transform.position = new Vector3(pos.x, 0, pos.y); hex.name = $"Hex (X:{position.x} Y:{position.y} Z:{position.z})"; } }
public PieceView CreatePieceView(Board <Piece> board, Piece modal) { var index = _movementNames.IndexOf(modal.MovementName); var prefab = _players[index]; var gameObject = Instantiate(prefab); var pieceView = gameObject.GetComponentInChildren <PieceView>(); var tile = board.TileOf(modal); gameObject.transform.position = BoardPositionHelper.BoardToWorldPosition(tile.Position); gameObject.name = $"Spauwned piece ( { modal.MovementName } )"; pieceView.Modal = modal; return(pieceView); }
public void SpawnTo(int column, int row) { var tileSize = _map.GetTileSize(); var initCoordinates = _map.GetInitCoordinates(); _position.Row = row; _position.Column = column; var position = BoardPositionHelper.GetTargetPosition(_map.Tilemap, _position, (int)tileSize, initCoordinates); this.Position = new Vector2(position.x, position.y - 28); this.Show(); }
private void ConnectPieceViews(MoveManager <Piece> moveManager) { var pieceViews = FindObjectsOfType <PieceView>(); foreach (var pieceView in pieceViews) { var worldPosition = pieceView.transform.position; var boardPosition = BoardPositionHelper.WorldToBoardPosition(worldPosition); var tile = Board.TileAt(boardPosition); var piece = new Piece(pieceView.PlayerID, pieceView.MovementName); Board.Place(tile, piece); moveManager.Register(piece, pieceView.MovementName); pieceView.Modal = piece; } }
public void SetGridPosition(int column, int row, string direction = "up") { _direction = direction; _position.Column = column; _position.Row = row; var tileSize = _map.GetTileSize(); var initCoordinates = _map.GetInitCoordinates(); var animatedSprite = this.GetNode <AnimatedSprite>("./AnimatedSprite"); animatedSprite.Animation = _direction; var position = BoardPositionHelper.GetTargetPosition(_map.Tilemap, _position, (int)tileSize, initCoordinates); this.Position = new Vector2(position.x, position.y - 28); }
public void PlaceRandomEnemies() { var spots = new List <CubicHexCoord>() { new CubicHexCoord() }; var board = BoardPositionHelper.GenerateBoard(_boardSize); while (spots.Count <= _enemyAmount) { var go = Instantiate(_enemyPrefab); CubicHexCoord spot = GetRandomSpot(board); while (spots.Contains(spot)) { spot = GetRandomSpot(board); } go.transform.position = BoardPositionHelper.BoardToWorldPosition(spot); spots.Add(spot); } }