public void AddToConstruction(ShipTile new_tile, ShipTile.Coordinates coordinates) { /* Called when a new ShipTile is constructed to register it with this ShipConstruction's child ShipTiles. */ new_tile.transform.parent = ShipTileEditor.main.player_ship.transform; new_tile.coordinates = coordinates; new_tile.SetPositionByCoordinates(); tiles.Add(new_tile); tilemap.Insert( new_tile.coordinates.x, new_tile.coordinates.y, new_tile); }
public void OnMouseDown() { /* "Build" this PotentialShipTile. * * Destroys the PotentialShipTile and replaces it with an OpenShipTile. * TODO(Derek): Instead issue a build order, so that construction is not instantaneous. * * Adds the OpenShipTile to the PlayerShipConstruct's tileset and refreshes the Editor's tile availability. */ if (!valid || !ShipTileEditor.main.player_ship.in_placement_mode) { return; } particles.startLifetime = 0f; valid = false; GameObject open_ship_tile_object = Instantiate(MainComponentDict.get().open_ship_tile) as GameObject; OpenShipTile open_ship_tile = open_ship_tile_object.GetComponent <OpenShipTile>(); ShipTile.Coordinates coordinates = ShipTileEditor.main.GetCoordinatesByIndex(editor_index); ShipTileEditor.main.player_ship.AddToConstruction(open_ship_tile, coordinates); ShipTileEditor.main.NeedsRefresh(); // This should set a timed construction job, but for now construction is insantaneous. ShipTileEditor.main.Refresh(); }