import React, { useState } from "react"; import Accordion from "@mui/material/Accordion"; import AccordionSummary from "@mui/material/AccordionSummary"; import AccordionDetails from "@mui/material/AccordionDetails"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import Typography from "@mui/material/Typography"; import Button from "@mui/material/Button"; import ButtonGroup from "@mui/material/ButtonGroup"; import { Tooltip } from "@mui/material"; import LockIcon from "@mui/icons-material/Lock"; import LockOpenIcon from "@mui/icons-material/LockOpen"; import { Player } from "@player"; import { achievements } from "../../Achievements/Achievements"; import { Engine } from "../../engine"; export function Achievements(): React.ReactElement { const [playerAchievement, setPlayerAchievements] = useState(Player.achievements.map((m) => m.ID)); function grantAchievement(id: string): void { Player.giveAchievement(id); setPlayerAchievements(Player.achievements.map((m) => m.ID)); } function grantAllAchievements(): void { Object.values(achievements).forEach((a) => Player.giveAchievement(a.ID)); setPlayerAchievements(Player.achievements.map((m) => m.ID)); } function removeAchievement(id: string): void { Player.achievements = Player.achievements.filter((a) => a.ID !== id); setPlayerAchievements(Player.achievements.map((m) => m.ID)); } function clearAchievements(): void { Player.achievements = []; setPlayerAchievements(Player.achievements.map((m) => m.ID)); } function disableEngine(): void { Engine.Counters.achievementsCounter = Number.MAX_VALUE; } function enableEngine(): void { Engine.Counters.achievementsCounter = 0; } return ( }> Achievements {Object.values(achievements).map((i) => { const achieved = playerAchievement.includes(i.ID); return ( ); })}
Achievements:
{achieved ? ( ) : ( )} {i.ID}
{i.Description} } > {i.Name}:
); }