// Update is called once per frame void Update() { transform.position = HexMapHelper.GetWorldPointFromTile( tilePositionObject.GetPivotTilePosition(), tilePositionObject.GetPivotTileLevel()) + (HexMapHelper.GetFacingVector(tilePositionObject.GetPivotTilePosition(), hexDirectionObject.GetTileFacing()) * centerOffset); triangle.color = HexMapUI.GetLevelColor(tilePositionObject.GetPivotTileLevel()); transform.rotation = HexMapHelper.GetRotationFromFacing(tilePositionObject.GetPivotTilePosition(), hexDirectionObject.GetTileFacing()); }
public void PositionAndOrientPiece() { transform.position = HexMapHelper.GetWorldPointFromTile(currentTile, currentLevel); gamePieceModel.transform.rotation = HexMapHelper.GetRotationFromFacing(currentTile, currentTileFacing); footprint.SetPivotTile(new TileWithFacing() { position = currentTile, facing = currentTileFacing }, currentLevel); }
public void SetDestination(TileCoords tileCoords, TileCoords facingTile, int level) { destinationTile = tileCoords; destinationFacingTile = facingTile; destinationLevel = level; //Position the sprite within the Hex sprite.transform.position = HexMapHelper.GetWorldPointFromTile(tileCoords, level) + ((HexMapHelper.GetFacingVector(tileCoords, facingTile) * HexMapHelper.HexWidth * 0.3f)); //Face the sprite the correct direction sprite.transform.rotation = HexMapHelper.GetRotationFromFacing(tileCoords, facingTile); //Color the sprite based on height sprite.GetComponentInChildren <SpriteRenderer>().color = HexMapUI.GetLevelColor(level); SetSpline(sourcePosition, sourceHeading, HexMapHelper.GetWorldPointFromTile(tileCoords, level), HexMapHelper.GetFacingVector(tileCoords, facingTile)); }
void Start() { //Randomly Generate Model GameObject prefab = template.modelPrefabs.RandomItem(); GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, modelHolder); if (pivotPosition.index == 0) { pivotPosition = HexMapHelper.GetTileFromWorldPoint(transform.position); } TileCoords pivotFacing = HexMapHelper.GetNeighborTiles(pivotPosition).RandomItem(); transform.position = HexMapHelper.GetWorldPointFromTile(pivotPosition, pivotLevel); modelHolder.transform.rotation = HexMapHelper.GetRotationFromFacing(pivotPosition, pivotFacing); footprint = new StaticFootprint(template.footprint, pivotPosition, pivotFacing, pivotLevel); }
public static void SpawnMissile(TileCoords tileCoords, TileCoords tileFacing, int level, BaseGamePiece spawningPiece, MissileStats template) { GameObject newMissile = SimplePool.Spawn( instance.missilePrefab, Vector3.zero, Quaternion.identity, instance.gamePieceHolder); newMissile.GetComponentInChildren <MissileGamePiece>().currentTileFacing = tileFacing; newMissile.GetComponentInChildren <MissileGamePiece>().currentTile = tileCoords; newMissile.GetComponentInChildren <MissileGamePiece>().currentLevel = level; newMissile.GetComponentInChildren <MissileGamePiece>().PositionAndOrientPiece(); newMissile.GetComponentInChildren <PieceController>().worldBase.transform.position = HexMapHelper.GetWorldPointFromTile(tileCoords, level); newMissile.GetComponentInChildren <PieceController>().worldModel.transform.rotation = HexMapHelper.GetRotationFromFacing(tileCoords, tileFacing); newMissile.GetComponentInChildren <NavigationSystem>().GenerateCommandPoints(); newMissile.GetComponentInChildren <MissileBrain>().FindTarget(); var selectedCommand = newMissile.GetComponentInChildren <MissileBrain>().SelectCommand(); newMissile.GetComponentInChildren <PieceController>().SetSelectedCommandPoint(selectedCommand); }
void ResetToGamePiecePosition() { worldBase.transform.position = HexMapHelper.GetWorldPointFromTile(gamePiece.currentTile, gamePiece.currentLevel); worldModel.transform.rotation = HexMapHelper.GetRotationFromFacing(gamePiece.currentTile, gamePiece.currentTileFacing); }