import React from "react"; import KepzettsegSelector from "./KepzettsegSelector2E"; import { Kepzettseg, Kepzettsegek, KepzettsegId, TolvajKepzettsegList, } from "../domain-models/kepzettsegek2E"; import {arraySetN} from "../../util"; function InternalKepzettsegekSelector(props: { title: string, numberOfKepzettseg: number, getKepzettsegListaN: (n: number) => Kepzettseg[], kepzettsegek: KepzettsegId[], changeKepzettsegek: (newKepzettsegek: KepzettsegId[]) => void }) { const {title, numberOfKepzettseg, getKepzettsegListaN, kepzettsegek, changeKepzettsegek} = props const klist = Array.from(new Array(numberOfKepzettseg).keys()) const preCalculated: { kepzettsegek: Kepzettseg[], changeKepzettseg: (newKepzettseg: KepzettsegId) => void, selected: Kepzettseg, }[] = []; for (let i = 0; i < numberOfKepzettseg; i++) { preCalculated.push({ kepzettsegek: getKepzettsegListaN(i), selected: Kepzettsegek[kepzettsegek[i]], changeKepzettseg: (newKepzettseg: KepzettsegId) => changeKepzettsegek(arraySetN(kepzettsegek, i, newKepzettseg)) }) } return <>
{klist.map((idx) => ) }
} function KarakterKepzettsegek (props: { numberOfKepzettsegek: number kepzettsegek: KepzettsegId[], changeKepzettsegek: (newKepzettsegek: KepzettsegId[]) => void tolvajKepzettsegek: KepzettsegId[], changeTolvajKepzettsegek: (newKepzettsegek: KepzettsegId[]) => void getKepzettsegListaN: (n: number) => Kepzettseg[] }) { const { kepzettsegek, numberOfKepzettsegek, getKepzettsegListaN, changeKepzettsegek, tolvajKepzettsegek, changeTolvajKepzettsegek} = props // TODO: Birodalmi tolvajnal az Alikmia, vagy Meregkeveres kezelese const getTolvajKepzettsegListaN = (n: number) : Kepzettseg[] => { const tolvajKepzettsegekWithoutN = [...tolvajKepzettsegek.slice(0, n), ...tolvajKepzettsegek.slice(n+1)] return TolvajKepzettsegList.filter(x => !kepzettsegek.includes(x.Id) && !tolvajKepzettsegekWithoutN.includes(x.Id)) } return <> {tolvajKepzettsegek.length > 0 && } } export default KarakterKepzettsegek