Slight Adjustments, Added Fuels Output
This commit is contained in:
parent
42628b6a57
commit
f85faeb6ad
3 changed files with 89 additions and 30 deletions
|
@ -169,6 +169,30 @@ const localization = new Map([
|
|||
["en-GB", "Atmospheric Density"],
|
||||
["de-DE", "Atmosphärendichte"]
|
||||
])],
|
||||
["results", new Map([
|
||||
["en-GB", "Results"],
|
||||
["de-DE", "Ergebnisse"],
|
||||
])],
|
||||
["settings", new Map([
|
||||
["en-GB", "Settings"],
|
||||
["de-DE", "Einstellungen"],
|
||||
])],
|
||||
["fuels", new Map([
|
||||
["en-GB", "Fuels"],
|
||||
["de-DE", "Treibstoffe"],
|
||||
])],
|
||||
["electric", new Map([
|
||||
["en-GB", "Electricity"],
|
||||
["de-DE", "Elektrizität"],
|
||||
])],
|
||||
["hydrogen", new Map([
|
||||
["en-GB", "Hydrogen"],
|
||||
["de-DE", "Wasserstoff"],
|
||||
])],
|
||||
["deuterium", new Map([
|
||||
["en-GB", "Deuterium"],
|
||||
["de-DE", "Deuterium"],
|
||||
])]
|
||||
])
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import {Thruster, THRUSTER_LIST} from "$lib/thruster.svelte";
|
||||
import {Thruster, THRUSTER_LIST, THRUSTER_TYPE_LIST} from "$lib/thruster.svelte";
|
||||
import {Grid} from "$lib/grid";
|
||||
import {INVENTORIES, Inventory} from "$lib/containers.svelte";
|
||||
import type {Fuel} from "$lib/fuel";
|
||||
|
||||
export class Ship {
|
||||
thrusters: Array<Thruster> = $state([]);
|
||||
|
@ -91,4 +92,14 @@ export class Ship {
|
|||
});
|
||||
return thrust;
|
||||
}
|
||||
|
||||
getFuelTypes(): Array<Fuel> {
|
||||
let fuels: Array<Fuel> = [];
|
||||
this.thrusters.forEach((thruster) => {
|
||||
if (!fuels.includes(thruster.details.type.details.fuel)) {
|
||||
fuels.push(thruster.details.type.details.fuel)
|
||||
}
|
||||
})
|
||||
return fuels;
|
||||
}
|
||||
}
|
|
@ -145,35 +145,59 @@
|
|||
</Card.Header>
|
||||
<Card.Content class="flex flex-col gap-3">
|
||||
<Separator />
|
||||
<Label for="gravity">{i18n.localize("gravity")}</Label>
|
||||
<Input type="number" step="0.01" id="gravity" bind:value={gravity}/>
|
||||
<Label for="atmosDensity">{i18n.localize("atmosDensity")}</Label>
|
||||
<Input type="number" step="0.01" id="atmosDensity" bind:value={atmosphericDensity}/>
|
||||
<Separator />
|
||||
<Label for="gridSize">{i18n.localize("gridSize")}</Label>
|
||||
<div id="gridSize" class="flex gap-2">
|
||||
{#each Object.values(Grid) as size}
|
||||
{#if ship.grid === size}
|
||||
<Button class="bg-primary">{i18n.localize(size)}</Button>
|
||||
{:else}
|
||||
<Button variant="secondary" onclick={() => ship.grid = size}>{i18n.localize(size)}</Button>
|
||||
{/if}
|
||||
{/each}
|
||||
</div>
|
||||
<Separator />
|
||||
<Label for="density">{i18n.localize("density")}</Label>
|
||||
<div id="density" class="flex gap-2">
|
||||
{#each Object.values(CargoMaterial) as value}
|
||||
{#if material === value}
|
||||
<Button class="bg-primary">{i18n.localize(value.name)}</Button>
|
||||
{:else}
|
||||
<Button variant="secondary" onclick={() => material = value}>{i18n.localize(value.name)}</Button>
|
||||
{/if}
|
||||
{/each}
|
||||
</div>
|
||||
<Separator />
|
||||
<p>{i18n.localize("liftableVehcileWeight")}: {weightConversion(i18n, maxVehicleWeight)}</p>
|
||||
<p>{i18n.localize("liftableWeight")}: {weightConversion(i18n, maxWeight)}</p>
|
||||
<Card.Root>
|
||||
<Card.Header>
|
||||
<Card.Title>{i18n.localize("settings")}</Card.Title>
|
||||
</Card.Header>
|
||||
<Card.Content class="flex flex-col gap-3">
|
||||
<Separator />
|
||||
<Label for="grid">{i18n.localize("gridSize")}</Label>
|
||||
<div id="grid" class="flex gap-2">
|
||||
{#each Object.values(Grid) as size}
|
||||
{#if ship.grid === size}
|
||||
<Button class="bg-primary">{i18n.localize(size)}</Button>
|
||||
{:else}
|
||||
<Button variant="secondary" onclick={() => ship.grid = size}>{i18n.localize(size)}</Button>
|
||||
{/if}
|
||||
{/each}
|
||||
</div>
|
||||
<Label for="gravity">{i18n.localize("gravity")}</Label>
|
||||
<Input type="number" step="0.01" id="gravity" bind:value={gravity}/>
|
||||
<Label for="density">{i18n.localize("density")}</Label>
|
||||
<div id="density" class="flex gap-2">
|
||||
{#each Object.values(CargoMaterial) as value}
|
||||
{#if material === value}
|
||||
<Button class="bg-primary">{i18n.localize(value.name)}</Button>
|
||||
{:else}
|
||||
<Button variant="secondary" onclick={() => material = value}>{i18n.localize(value.name)}</Button>
|
||||
{/if}
|
||||
{/each}
|
||||
</div>
|
||||
<Label for="atmosDensity">{i18n.localize("atmosDensity")}</Label>
|
||||
<Input type="number" step="0.01" id="atmosDensity" bind:value={atmosphericDensity}/>
|
||||
</Card.Content>
|
||||
</Card.Root>
|
||||
<Card.Root>
|
||||
<Card.Header>
|
||||
<Card.Title>{i18n.localize("results")}</Card.Title>
|
||||
</Card.Header>
|
||||
<Card.Content class="flex flex-col gap-3">
|
||||
<Separator />
|
||||
<div class="flex gap-2">
|
||||
<p>{i18n.localize("liftableVehcileWeight")}:</p>
|
||||
{#if maxVehicleWeight < 0}
|
||||
<p class="text-destructive">{weightConversion(i18n, maxVehicleWeight)}</p>
|
||||
{:else}
|
||||
<p>{weightConversion(i18n, maxVehicleWeight)}</p>
|
||||
{/if}
|
||||
</div>
|
||||
<p>{i18n.localize("liftableWeight")}: {weightConversion(i18n, maxWeight)}</p>
|
||||
<Separator />
|
||||
<p>{i18n.localize("fuels")}:
|
||||
{ship.getFuelTypes().map((fuel) => i18n.localize(fuel.name)).join(", ") }
|
||||
</p>
|
||||
</Card.Content>
|
||||
</Card.Root>
|
||||
</Card.Content>
|
||||
</Card.Root>
|
||||
<Card.Root class="flex-1 flex flex-col flex-grow">
|
||||
|
|
Loading…
Reference in a new issue