2025-05-28 15:36:51 -07:00

52 lines
1.7 KiB
JavaScript

import { getCharacters } from './accessors';
import { PartyInventorySharingStateEnum } from './constants';
/**
*
* @param sharingState
* @returns {Boolean}
* @description Returns true as long as the sharing state is not OFF. WARNING: DELETE_ONLY overlaps with the inactive sharing state
*/
export function isSharingStateActive(sharingState) {
return sharingState !== PartyInventorySharingStateEnum.OFF;
}
/**
*
* @param sharingState
* @returns {Boolean}
* @description Returns true as long as the sharing state is not ON. WARNING: DELETE_ONLY overlaps with the active sharing state
*/
export function isSharingStateInactive(sharingState) {
return sharingState !== PartyInventorySharingStateEnum.ON;
}
/**
*
* @param campaign
* @param characterId
* @returns {CampaignDataContract | null}
*/
export function getCharacterById(campaign, characterId) {
var _a, _b;
return (_b = (_a = getCharacters(campaign)) === null || _a === void 0 ? void 0 : _a.find((character) => character.characterId === characterId)) !== null && _b !== void 0 ? _b : null;
}
/**
*
* @param campaign
* @param characterId
* @returns {string}
*/
export function getCharacterName(campaign, characterId) {
var _a, _b;
return (_b = (_a = getCharacterById(campaign, characterId)) === null || _a === void 0 ? void 0 : _a.characterName) !== null && _b !== void 0 ? _b : '';
}
/**
* @description Given a character id, this determines whether or not that character in the campaign is assigned
* to a player.
* @param campaign
* @param characterId
* @returns {boolean}
*/
export function isCharacterAssignedToAPlayer(campaign, characterId) {
var _a;
return !!((_a = getCharacterById(campaign, characterId)) === null || _a === void 0 ? void 0 : _a.isAssigned);
}