2020-07-26 21:55:51 +00:00
|
|
|
<ShipItem {cost} {mass} >
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
<div class="nbr_layers">
|
|
|
|
<Field label="armour layers">
|
|
|
|
<input type="number" min="0" bind:value={nbr_layers} />
|
|
|
|
</Field>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="layers">
|
|
|
|
{#each armour as layer ( layer.layer )}
|
|
|
|
<Layer {...layer} on:ship_change/>
|
|
|
|
{/each}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</ShipItem>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { createEventDispatcher} from 'svelte';
|
|
|
|
|
2021-05-17 13:48:31 +00:00
|
|
|
import ShipItem from '$lib/components/ShipItem/index.svelte';
|
|
|
|
import Field from '$lib/components/Field/index.svelte';
|
2020-07-26 21:55:51 +00:00
|
|
|
import Layer from './Layer/index.svelte';
|
2021-05-17 13:48:31 +00:00
|
|
|
import dux from '$lib/dux/structure/armour';
|
2020-07-26 21:55:51 +00:00
|
|
|
import _ from 'lodash';
|
|
|
|
|
|
|
|
export let armour = [];
|
|
|
|
export let cost = 0;
|
|
|
|
export let mass = 0;
|
|
|
|
|
|
|
|
$: cost = _.sum( _.map( armour, 'cost' ) );
|
|
|
|
$: mass = _.sum( _.map( armour, 'mass' ) );
|
|
|
|
|
|
|
|
let nbr_layers = armour.length;
|
|
|
|
|
|
|
|
const dispatch = createEventDispatcher();
|
|
|
|
|
|
|
|
$: dispatch( 'ship_change', dux.actions.set_armour_nbr_layers(nbr_layers) );
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
.layers {
|
|
|
|
display: flex;
|
2020-07-28 18:55:08 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
input {
|
|
|
|
width: 5em;
|
2020-07-26 21:55:51 +00:00
|
|
|
}
|
2020-07-28 18:55:08 +00:00
|
|
|
|
2020-07-26 21:55:51 +00:00
|
|
|
</style>
|