merge dev

This commit is contained in:
phyzical
2022-04-07 16:25:33 +08:00
176 changed files with 3905 additions and 3147 deletions
+44 -35
View File
@@ -8,8 +8,8 @@ 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 LockIcon from "@mui/icons-material/Lock";
import LockOpenIcon from "@mui/icons-material/LockOpen";
import { IPlayer } from "../../PersonObjects/IPlayer";
import { achievements } from "../../Achievements/Achievements";
@@ -21,26 +21,26 @@ interface IProps {
}
export function Achievements(props: IProps): React.ReactElement {
const [playerAchievement, setPlayerAchievements] = useState(props.player.achievements.map(m => m.ID));
const [playerAchievement, setPlayerAchievements] = useState(props.player.achievements.map((m) => m.ID));
function grantAchievement(id: string): void {
props.player.giveAchievement(id);
setPlayerAchievements(props.player.achievements.map(m => m.ID));
setPlayerAchievements(props.player.achievements.map((m) => m.ID));
}
function grantAllAchievements(): void {
Object.values(achievements).forEach(a => props.player.giveAchievement(a.ID));
setPlayerAchievements(props.player.achievements.map(m => m.ID));
Object.values(achievements).forEach((a) => props.player.giveAchievement(a.ID));
setPlayerAchievements(props.player.achievements.map((m) => m.ID));
}
function removeAchievement(id: string): void {
props.player.achievements = props.player.achievements.filter(a => a.ID !== id);
setPlayerAchievements(props.player.achievements.map(m => m.ID));
props.player.achievements = props.player.achievements.filter((a) => a.ID !== id);
setPlayerAchievements(props.player.achievements.map((m) => m.ID));
}
function clearAchievements(): void {
props.player.achievements = [];
setPlayerAchievements(props.player.achievements.map(m => m.ID));
setPlayerAchievements(props.player.achievements.map((m) => m.ID));
}
function disableEngine(): void {
@@ -48,7 +48,7 @@ export function Achievements(props: IProps): React.ReactElement {
}
function enableEngine(): void {
props.engine.Counters.achievementsCounter = 0
props.engine.Counters.achievementsCounter = 0;
}
return (
@@ -60,8 +60,7 @@ export function Achievements(props: IProps): React.ReactElement {
<table>
<tbody>
<tr>
<td>
</td>
<td></td>
<td>
<Typography>Achievements:</Typography>
</td>
@@ -76,30 +75,40 @@ export function Achievements(props: IProps): React.ReactElement {
</tr>
{Object.values(achievements).map((i) => {
const achieved = playerAchievement.includes(i.ID);
return <tr key={"ach-" + i.ID}>
<td>
{achieved ? (
<Tooltip title="Achieved">
<LockOpenIcon color="primary" />
return (
<tr key={"ach-" + i.ID}>
<td>
{achieved ? (
<Tooltip title="Achieved">
<LockOpenIcon color="primary" />
</Tooltip>
) : (
<Tooltip title="Locked">
<LockIcon color="secondary" />
</Tooltip>
)}
</td>
<td>
<Tooltip
title={
<>
{i.ID}
<br />
{i.Description}
</>
}
>
<Typography color={achieved ? "primary" : "secondary"}>{i.Name}:</Typography>
</Tooltip>
) : (
<Tooltip title="Locked">
<LockIcon color="secondary" />
</Tooltip>
)}
</td>
<td>
<Tooltip title={<>{i.ID}<br />{i.Description}</>}>
<Typography color={achieved ? 'primary': 'secondary'}>{i.Name}:</Typography>
</Tooltip>
</td>
<td>
<ButtonGroup>
<Button onClick={() => grantAchievement(i.ID)}>Grant</Button>
<Button onClick={() => removeAchievement(i.ID)}>Clear</Button>
</ButtonGroup>
</td>
</tr>
</td>
<td>
<ButtonGroup>
<Button onClick={() => grantAchievement(i.ID)}>Grant</Button>
<Button onClick={() => removeAchievement(i.ID)}>Clear</Button>
</ButtonGroup>
</td>
</tr>
);
})}
</tbody>
</table>
+1 -1
View File
@@ -37,7 +37,7 @@ export function Factions(props: IProps): React.ReactElement {
}
function receiveAllInvites(): void {
Object.values(FactionNames).forEach(faction => props.player.receiveInvite(faction))
Object.values(FactionNames).forEach((faction) => props.player.receiveInvite(faction));
}
function modifyFactionRep(modifier: number): (x: number) => void {