diff --git a/src/components/Felszereles.tsx b/src/components/Felszereles.tsx index 6572a14..84e3d4b 100644 --- a/src/components/Felszereles.tsx +++ b/src/components/Felszereles.tsx @@ -1,11 +1,12 @@ import React from "react"; import {Fegyver, KarakterFelszereles, PancelTypeLabel} from "../domain-models/felszereles"; -import {Osztaly, OsztalyAllowedFegyver} from '../domain-models/osztaly' +import {Osztaly} from '../domain-models/osztaly' import {AllowedPancelTypes} from '../domain-models/allowed-pancel-types' import pancelok from '../domain-models/pancel.json' import pajzsok from '../domain-models/pajzs.json' import fegyverek from '../domain-models/fegyver.json' import {arraySetN} from "../util"; +import {AllowedFegyver} from "../domain-models/allowed-fegyver"; export function FegyverLabel(fegyver: Fegyver): string { return `${fegyver.Name}${fegyver.Ketkezes ? '+' : ''}${fegyver.Egzotikus ? '(E)' : ''} | ${ @@ -15,13 +16,13 @@ export function FegyverLabel(fegyver: Fegyver): string { fegyver.Range > 0 ? ` | táv: ${fegyver.Range}` : ''}` } -function Felszereles(props: {felszereles: KarakterFelszereles, changeFelszereles: (felszereles: KarakterFelszereles) => void, osztaly: Osztaly}) { - const { felszereles, changeFelszereles, osztaly } = props; +function Felszereles(props: {felszereles: KarakterFelszereles, changeFelszereles: (felszereles: KarakterFelszereles) => void, osztaly: Osztaly, harcosSpec: Fegyver['Id'][]}) { + const { felszereles, changeFelszereles, osztaly, harcosSpec } = props; const allowedPancelTypes = AllowedPancelTypes([osztaly]) const valasztottFegyverek = felszereles.fegyverIDk .map((id, idx) => ({idx, fegyver: fegyverek.data.find(f => f.Id === id)})).filter((x) => x.fegyver != null).map(({idx, fegyver}) => ({idx, fegyver: fegyver as Fegyver})) - const osztalyAllowedFegyverek = OsztalyAllowedFegyver(osztaly) + const osztalyAllowedFegyverek = AllowedFegyver(osztaly, harcosSpec) const allowedFegyverek = [...osztalyAllowedFegyverek, ...valasztottFegyverek.filter(({idx, fegyver}) => !osztalyAllowedFegyverek.map(f => f.Id).includes(fegyver.Id)).map(({fegyver}) => fegyver)] const changeFegyver = (idx: number, newID: string) => { const found = fegyverek.data.find(x => x.Id === newID) @@ -33,6 +34,9 @@ function Felszereles(props: {felszereles: KarakterFelszereles, changeFelszereles } return <> +