Using WH datasets

This commit is contained in:
Melvin Valster
2019-07-16 23:25:41 +02:00
parent 85f9208b4a
commit 7d1b822830
11 changed files with 12679 additions and 62 deletions
+17 -12
View File
@@ -1,33 +1,38 @@
import React from 'react'
import { List } from 'immutable'
import React, { MouseEvent } from 'react'
import { List, Map } from 'immutable'
import { TalentSlot } from './TalentSlot';
import { getTreePointCount } from '../lib/tree';
import { talentsBySpec, specNames } from '../data/talents';
interface Props {
tree: TalentTree
specId: number
spentPoints: List<number>
knownTalents: Map<number, number>
onTalentPress: TalentClickHandler
}
export const TalentTree: React.FC<Props> = ({ tree, spentPoints, onTalentPress }) => {
const { talents } = tree
export const TalentTree: React.FC<Props> = ({ specId, spentPoints, knownTalents, onTalentPress }) => {
const talents = Object.values(talentsBySpec[specId])
const handleTalentPress = (index) => {
return (e) => {
onTalentPress(index, 'add')
const handleTalentPress = (talentId: number) => {
return (e: MouseEvent) => {
onTalentPress(specId, talentId, e.shiftKey ? -1 : 1)
}
}
return (
<div className="tree">
<h2>{tree.name}</h2>
<h2>{specNames[specId]}</h2>
{talents.map((talent, index) =>
<TalentSlot
key={index}
key={talent.id}
talent={talent}
points={spentPoints.get(index, 0)}
onClick={handleTalentPress(index)}
points={knownTalents.get(talent.id, 0)}
onClick={handleTalentPress(talent.id)}
/>
)}
Spent: {getTreePointCount(spentPoints)}
</div>
)
}