XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

feat(webui): add resource drones & their blueprints via "add items" (#1137)

Closes #1133 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1137

758135d1
Sainan <sainan@calamity.inc>
提交于

代码差异

3 个文件 +19 -9
Modified src/controllers/custom/getItemListsController.ts +13 -6
@@ -3,6 +3,7 @@ import { getDict, getItemName, getString } from "@/src/services/itemDataService"
3 3 import {
4 4 ExportArcanes,
5 5 ExportAvionics,
6 ExportDrones,
6 7 ExportGear,
7 8 ExportMisc,
8 9 ExportRecipes,
@@ -80,7 +81,7 @@ const getItemListsController: RequestHandler = (req, response) => {
80 81 });
81 82 if (uniqueName.split("/")[5] != "SentTrainingAmplifier") {
82 83 res.miscitems.push({
83 uniqueName: "MiscItems:" + uniqueName,
84 uniqueName: uniqueName,
84 85 name: getString(item.name, lang)
85 86 });
86 87 }
@@ -100,7 +101,7 @@ const getItemListsController: RequestHandler = (req, response) => {
100 101 }
101 102 } else if (!item.excludeFromCodex) {
102 103 res.miscitems.push({
103 uniqueName: "MiscItems:" + uniqueName,
104 uniqueName: uniqueName,
104 105 name: getString(item.name, lang)
105 106 });
106 107 }
@@ -119,14 +120,14 @@ const getItemListsController: RequestHandler = (req, response) => {
119 120 }
120 121 if (uniqueName.substr(0, 30) != "/Lotus/Types/Game/Projections/") {
121 122 res.miscitems.push({
122 uniqueName: item.productCategory + ":" + uniqueName,
123 uniqueName: uniqueName,
123 124 name: name
124 125 });
125 126 }
126 127 }
127 128 for (const [uniqueName, item] of Object.entries(ExportRelics)) {
128 129 res.miscitems.push({
129 uniqueName: "MiscItems:" + uniqueName,
130 uniqueName: uniqueName,
130 131 name:
131 132 getString("/Lotus/Language/Relics/VoidProjectionName", lang)
132 133 .split("|ERA|")
@@ -137,7 +138,7 @@ const getItemListsController: RequestHandler = (req, response) => {
137 138 }
138 139 for (const [uniqueName, item] of Object.entries(ExportGear)) {
139 140 res.miscitems.push({
140 uniqueName: "Consumables:" + uniqueName,
141 uniqueName: uniqueName,
141 142 name: getString(item.name, lang)
142 143 });
143 144 }
@@ -147,12 +148,18 @@ const getItemListsController: RequestHandler = (req, response) => {
147 148 const resultName = getItemName(item.resultType);
148 149 if (resultName) {
149 150 res.miscitems.push({
150 uniqueName: "Recipes:" + uniqueName,
151 uniqueName: uniqueName,
151 152 name: recipeNameTemplate.replace("|ITEM|", getString(resultName, lang))
152 153 });
153 154 }
154 155 }
155 156 }
157 for (const [uniqueName, item] of Object.entries(ExportDrones)) {
158 res.miscitems.push({
159 uniqueName: uniqueName,
160 name: getString(item.name, lang)
161 });
162 }
156 163
157 164 res.mods = [];
158 165 for (const [uniqueName, upgrade] of Object.entries(ExportUpgrades)) {
Modified src/services/itemDataService.ts +4 -0
@@ -20,6 +20,7 @@ import {
20 20 dict_zh,
21 21 ExportArcanes,
22 22 ExportCustoms,
23 ExportDrones,
23 24 ExportGear,
24 25 ExportKeys,
25 26 ExportRecipes,
@@ -87,6 +88,9 @@ export const getItemName = (uniqueName: string): string | undefined => {
87 88 if (uniqueName in ExportCustoms) {
88 89 return ExportCustoms[uniqueName].name;
89 90 }
91 if (uniqueName in ExportDrones) {
92 return ExportDrones[uniqueName].name;
93 }
90 94 if (uniqueName in ExportKeys) {
91 95 return ExportKeys[uniqueName].name;
92 96 }
Modified static/webui/script.js +2 -3
@@ -796,12 +796,11 @@ function disposeOfItems(category, type, count) {
796 796 }
797 797
798 798 function doAcquireMiscItems() {
799 const data = getKey(document.getElementById("miscitem-type"));
800 if (!data) {
799 const uniqueName = getKey(document.getElementById("miscitem-type"));
800 if (!uniqueName) {
801 801 $("#miscitem-type").addClass("is-invalid").focus();
802 802 return;
803 803 }
804 const [category, uniqueName] = data.split(":");
805 804 revalidateAuthz(() => {
806 805 $.post({
807 806 url: "/custom/addItems?" + window.authz,