feature:支持Enka面板更新:%更新展柜面板

This commit is contained in:
UCPr 2025-06-09 15:40:27 +08:00
parent 0fea67a389
commit 21b8915418
25 changed files with 36048 additions and 382 deletions

View file

@ -1,8 +1,9 @@
import settings from '../settings.js';
import settings from '../settings.js'
// import PartnerId2SpriteId from '../../resources/map/PartnerId2Data.json' assert { type: 'json' };
import { getMapData } from '../../utils/file.js';
import { getMapData } from '../../utils/file.js'
const PartnerId2SpriteId = getMapData('PartnerId2Data');
/** @type {import('../../model/Enka/interface.js').Map.PartnerId2Data} */
const PartnerId2Data = getMapData('PartnerId2Data')
/**
*
@ -12,12 +13,12 @@ const PartnerId2SpriteId = getMapData('PartnerId2Data');
* @returns {string | null}
*/
export const IDToCharName = (id, full = true, en = false) => {
const data = PartnerId2SpriteId?.[id];
if (!data) return null;
if (en) return data?.['en_name'];
if (full) return data?.['full_name'];
return data?.['name'];
};
const data = PartnerId2Data?.[id]
if (!data) return null
if (en) return data?.['en_name']
if (full) return data?.['full_name']
return data?.['name']
}
/**
*
@ -25,73 +26,73 @@ export const IDToCharName = (id, full = true, en = false) => {
* @returns {string | null}
*/
export const IDToCharSprite = id => {
const data = PartnerId2SpriteId?.[id];
if (!data) return null;
return data?.['sprite_id'];
};
const data = PartnerId2Data?.[id]
if (!data) return null
return data?.['sprite_id']
}
/**
* @param {string} name
* @returns {number | null}
*/
export const charNameToID = name => {
for (const [id, data] of Object.entries(PartnerId2SpriteId)) {
if (data['name'] === name) return Number(id);
for (const [id, data] of Object.entries(PartnerId2Data)) {
if (data['name'] === name) return Number(id)
}
return null;
};
return null
}
/**
* @param {string} name
* @returns {string | null}
*/
export const charNameToSprite = name => {
for (const [_id, data] of Object.entries(PartnerId2SpriteId)) {
if (data['name'] === name) return data['sprite'];
for (const [_id, data] of Object.entries(PartnerId2Data)) {
if (data['name'] === name) return data['sprite_id']
}
return null;
};
return null
}
/**
* @param {string} _alias
* @returns {string | null}
*/
export const aliasToName = _alias => {
const alias = settings.getConfig('alias');
const alias = settings.getConfig('alias')
for (const [id, data] of Object.entries(alias)) {
if (id === _alias) return id;
if (data.includes(_alias)) return id;
if (id === _alias) return id
if (data.includes(_alias)) return id
}
// 判断PartnerId2SpriteId是否有对应的name
for (const [_, data] of Object.entries(PartnerId2SpriteId)) {
if (data['name'] === _alias) return data['name'];
for (const [_, data] of Object.entries(PartnerId2Data)) {
if (data['name'] === _alias) return data['name']
}
return null;
};
return null
}
/**
* @param {string} _alias
* @returns {string | null}
*/
export const aliasToSprite = _alias => {
const name = aliasToName(_alias);
return charNameToSprite(name);
};
const name = aliasToName(_alias)
return charNameToSprite(name)
}
/**
* @param {string} name
* @returns {number | null}
*/
export const aliasToID = name => {
const _name = aliasToName(name);
const id = charNameToID(_name);
return id;
};
const _name = aliasToName(name)
const id = charNameToID(_name)
return id
}
/**
* 获取所有角色ID
* @returns {string[]}
*/
export const getAllCharactersID = () => {
return Object.keys(PartnerId2SpriteId);
};
return Object.keys(PartnerId2Data)
}