feat(graph): 战斗节点改左右两栏,利用左侧空间
原描述挤在顶部一行被截断、左下大块留白。改为两栏:左栏战斗描述占满左侧、 可换行、垂直居中;右栏胜/败出口行。.fbody align-items:flex-end + 出口列 justify-content:flex-end 保持黄点与胜/败行对齐。
This commit is contained in:
@ -74,15 +74,16 @@
|
||||
// 多出口(选择/随机/战斗):每出口一行(右对齐)。战斗节点额外在出口行上方加一行战斗描述,
|
||||
// 出口黄点靠 .kind-fight .outputs{justify-content:flex-end} 压到底部两行(胜/败)保持逐行平齐。
|
||||
if (outs.length > 1) {
|
||||
let desc = "";
|
||||
const chOpts = '<div class="ch-opts">' + outs.map(o => '<div class="ch-opt" title="' + esc(o.label) + '">' + esc(o.label) + '</div>').join("") + '</div>';
|
||||
// 战斗:左栏战斗描述(占满左侧、可换行)+ 右栏胜/败出口行
|
||||
if (!end && node.kind === "fight") {
|
||||
const ft = node.fight_type === 2 ? "死斗" : "击倒";
|
||||
const foes = (node.camp2 || []).map(s => nameOf(ir, names, s)).join("、") || "未设敌方";
|
||||
const allies = (node.camp1 || []).map(s => nameOf(ir, names, s)).join("、");
|
||||
const full = ft + " · " + (allies ? (allies + " vs ") : "vs ") + foes;
|
||||
desc = '<div class="fdesc" title="' + esc(full) + '">' + esc(full) + '</div>';
|
||||
return label + '<div class="fbody"><div class="fdesc" title="' + esc(full) + '">' + esc(full) + '</div>' + chOpts + '</div>';
|
||||
}
|
||||
return label + desc + '<div class="ch-opts">' + outs.map(o => '<div class="ch-opt" title="' + esc(o.label) + '">' + esc(o.label) + '</div>').join("") + '</div>';
|
||||
return label + chOpts;
|
||||
}
|
||||
// 线性 / 单出口:角色(可选)+ 文本
|
||||
const sm = summary(ir, names, node);
|
||||
|
||||
Reference in New Issue
Block a user