feat: implemented param ignoreDialogConditions for player

This commit is contained in:
Andrey Terentev 2025-03-13 02:46:57 +07:00
parent a6fc0924a7
commit c4c39c6f11
2 changed files with 6 additions and 0 deletions

View File

@ -31,6 +31,10 @@ public class DialogButton {
private List<DialogCondition> conditions;
public boolean checkConditions(Player player, Dialog dialog, DialogButton button, DialogueRenderer renderer) {
if (PlayerContext.of(player, TalksContext.class).isIgnoreDialogConditions()) {
return true;
}
for (var condition: conditions) {
if (!condition.check(player, dialog, button, renderer)) return false;
}

View File

@ -1,6 +1,7 @@
package ru.dragonestia.msb3.api.player.defaults;
import lombok.Getter;
import lombok.Setter;
import ru.dragonestia.msb3.api.dialog.DialogRegistry;
import ru.dragonestia.msb3.api.dialog.data.TalksPlayerData;
import ru.dragonestia.msb3.api.player.MsbPlayer;
@ -13,6 +14,7 @@ import java.util.Set;
@Getter
public class TalksContext extends PlayerContext {
@Setter private boolean ignoreDialogConditions = false;
private final Set<String> openedDialogues = Collections.synchronizedSet(new HashSet<>());
private final Set<String> clickedButtons = Collections.synchronizedSet(new HashSet<>());