From 4672d19e51c98b5ad6b45a11dbc25d8ad5a298e0 Mon Sep 17 00:00:00 2001 From: Neloreck Date: Tue, 20 Jun 2023 02:17:20 +0300 Subject: [PATCH] `isGameStarted` moved to checkers. Generic tests updates. --- .../core/ui/debug/sections/DebugItemsSection.ts | 3 +-- .../core/ui/debug/sections/DebugObjectSection.ts | 2 +- .../core/ui/debug/sections/DebugSpawnSection.ts | 2 +- .../core/ui/debug/sections/DebugTeleportSection.ts | 2 +- .../core/ui/debug/sections/DebugWeatherSection.ts | 2 +- src/engine/core/utils/alife.test.ts | 12 +----------- src/engine/core/utils/alife.ts | 9 --------- src/engine/core/utils/check/index.ts | 2 ++ src/engine/core/utils/check/is.test.ts | 9 +++++++-- src/engine/core/utils/check/is.ts | 9 ++++++++- src/engine/core/utils/scheme/initialization.test.ts | 8 ++++---- src/engine/scripts/bind.ts | 2 +- 12 files changed, 28 insertions(+), 34 deletions(-) create mode 100644 src/engine/core/utils/check/index.ts diff --git a/src/engine/core/ui/debug/sections/DebugItemsSection.ts b/src/engine/core/ui/debug/sections/DebugItemsSection.ts index a61bd6b3b..853b9d625 100644 --- a/src/engine/core/ui/debug/sections/DebugItemsSection.ts +++ b/src/engine/core/ui/debug/sections/DebugItemsSection.ts @@ -3,8 +3,7 @@ import { CUI3tButton, CUIComboBox, CUIListBox, CUIWindow, LuabindClass, ui_event import { registry } from "@/engine/core/database"; import { AbstractDebugSection } from "@/engine/core/ui/debug/sections/AbstractDebugSection"; import { DebugItemListEntry } from "@/engine/core/ui/debug/sections/DebugItemListEntry"; -import { isGameStarted } from "@/engine/core/utils/alife"; -import { isAmmoSection } from "@/engine/core/utils/check/is"; +import { isAmmoSection, isGameStarted } from "@/engine/core/utils/check/is"; import { LuaLogger } from "@/engine/core/utils/logging"; import { getAmmoSections, diff --git a/src/engine/core/ui/debug/sections/DebugObjectSection.ts b/src/engine/core/ui/debug/sections/DebugObjectSection.ts index 052e43828..34ffe8647 100644 --- a/src/engine/core/ui/debug/sections/DebugObjectSection.ts +++ b/src/engine/core/ui/debug/sections/DebugObjectSection.ts @@ -4,7 +4,7 @@ import { registry } from "@/engine/core/database"; import { DebugManager } from "@/engine/core/managers/debug/DebugManager"; import { Squad } from "@/engine/core/objects"; import { AbstractDebugSection } from "@/engine/core/ui/debug/sections/AbstractDebugSection"; -import { isGameStarted } from "@/engine/core/utils/alife"; +import { isGameStarted } from "@/engine/core/utils/check"; import { LuaLogger } from "@/engine/core/utils/logging"; import { getNearestClientObject } from "@/engine/core/utils/object/object_find"; import { getObjectSquad } from "@/engine/core/utils/object/object_general"; diff --git a/src/engine/core/ui/debug/sections/DebugSpawnSection.ts b/src/engine/core/ui/debug/sections/DebugSpawnSection.ts index 677c1366d..756fd4af1 100644 --- a/src/engine/core/ui/debug/sections/DebugSpawnSection.ts +++ b/src/engine/core/ui/debug/sections/DebugSpawnSection.ts @@ -3,7 +3,7 @@ import { CUI3tButton, CUIComboBox, CUIListBox, CUIWindow, LuabindClass, ui_event import { Squad } from "@/engine/core/objects"; import { AbstractDebugSection } from "@/engine/core/ui/debug/sections/AbstractDebugSection"; import { DebugItemListEntry } from "@/engine/core/ui/debug/sections/DebugItemListEntry"; -import { isGameStarted } from "@/engine/core/utils/alife"; +import { isGameStarted } from "@/engine/core/utils/check"; import { LuaLogger } from "@/engine/core/utils/logging"; import { getNearestServerObject } from "@/engine/core/utils/object/object_find"; import { getSimulationGroupSections, getStalkerSections } from "@/engine/core/utils/sections"; diff --git a/src/engine/core/ui/debug/sections/DebugTeleportSection.ts b/src/engine/core/ui/debug/sections/DebugTeleportSection.ts index 0f4604b28..a794ef6b9 100644 --- a/src/engine/core/ui/debug/sections/DebugTeleportSection.ts +++ b/src/engine/core/ui/debug/sections/DebugTeleportSection.ts @@ -4,7 +4,7 @@ import { registry } from "@/engine/core/database"; import { SmartTerrain } from "@/engine/core/objects"; import { AbstractDebugSection } from "@/engine/core/ui/debug/sections/AbstractDebugSection"; import { DebugTeleportListEntry } from "@/engine/core/ui/debug/sections/DebugTeleportListEntry"; -import { isGameStarted } from "@/engine/core/utils/alife"; +import { isGameStarted } from "@/engine/core/utils/check"; import { vectorToString } from "@/engine/core/utils/general"; import { LuaLogger } from "@/engine/core/utils/logging"; import { getServerObjects } from "@/engine/core/utils/object/object_find"; diff --git a/src/engine/core/ui/debug/sections/DebugWeatherSection.ts b/src/engine/core/ui/debug/sections/DebugWeatherSection.ts index 71073772b..9ff33c698 100644 --- a/src/engine/core/ui/debug/sections/DebugWeatherSection.ts +++ b/src/engine/core/ui/debug/sections/DebugWeatherSection.ts @@ -2,7 +2,7 @@ import { CUI3tButton, CUIComboBox, CUIStatic, LuabindClass, ui_events } from "xr import { IWeatherState, WeatherManager } from "@/engine/core/managers/world/WeatherManager"; import { AbstractDebugSection } from "@/engine/core/ui/debug/sections/AbstractDebugSection"; -import { isGameStarted } from "@/engine/core/utils/alife"; +import { isGameStarted } from "@/engine/core/utils/check"; import { LuaLogger } from "@/engine/core/utils/logging"; import { resolveXmlFile } from "@/engine/core/utils/ui"; import { NIL } from "@/engine/lib/constants/words"; diff --git a/src/engine/core/utils/alife.test.ts b/src/engine/core/utils/alife.test.ts index 5c9798e4a..b547adc5d 100644 --- a/src/engine/core/utils/alife.test.ts +++ b/src/engine/core/utils/alife.test.ts @@ -1,11 +1,6 @@ import { describe, expect, it } from "@jest/globals"; -import { alife } from "xray16"; -import { - evaluateSimulationPriority, - evaluateSimulationPriorityByDistance, - isGameStarted, -} from "@/engine/core/utils/alife"; +import { evaluateSimulationPriority, evaluateSimulationPriorityByDistance } from "@/engine/core/utils/alife"; import { mockLuaTable } from "@/fixtures/lua/mocks/LuaTable.mock"; import { MockCVertex } from "@/fixtures/xray/mocks/CVertex.mock"; import { mockServerAlifeObject } from "@/fixtures/xray/mocks/objects/server/cse_alife_object.mock"; @@ -13,11 +8,6 @@ import { mockSquad } from "@/fixtures/xray/mocks/objects/server/Squad.mock"; import { MockVector } from "@/fixtures/xray/mocks/vector.mock"; describe("'alife' utils", () => { - it("'isGameStarted' should check alife", () => { - expect(isGameStarted()).toBe(true); - expect(alife()).toBeDefined(); - }); - it("'evaluateSimulationPriorityByDistance' utils should correctly evaluate priority by distance", () => { MockVector.DEFAULT_DISTANCE = 20; expect(evaluateSimulationPriorityByDistance(mockServerAlifeObject(), mockServerAlifeObject())).toBe(1.05); diff --git a/src/engine/core/utils/alife.ts b/src/engine/core/utils/alife.ts index 80c023efe..51edb1eaf 100644 --- a/src/engine/core/utils/alife.ts +++ b/src/engine/core/utils/alife.ts @@ -1,17 +1,8 @@ -import { alife } from "xray16"; - import { Squad } from "@/engine/core/objects"; import { TSimulationObject } from "@/engine/core/objects/server/types"; import { areObjectsOnSameLevel, getServerDistanceBetween } from "@/engine/core/utils/object/object_general"; import { ServerObject, TDistance, TRate } from "@/engine/lib/types"; -/** - * todo; - */ -export function isGameStarted(): boolean { - return alife() !== null; -} - /** * todo; */ diff --git a/src/engine/core/utils/check/index.ts b/src/engine/core/utils/check/index.ts new file mode 100644 index 000000000..c5148aa40 --- /dev/null +++ b/src/engine/core/utils/check/index.ts @@ -0,0 +1,2 @@ +export * from "@/engine/core/utils/check/is"; +export * from "@/engine/core/utils/check/check"; diff --git a/src/engine/core/utils/check/is.test.ts b/src/engine/core/utils/check/is.test.ts index bffa32ec8..135690ba7 100644 --- a/src/engine/core/utils/check/is.test.ts +++ b/src/engine/core/utils/check/is.test.ts @@ -1,11 +1,16 @@ import { describe, expect, it } from "@jest/globals"; -import { TXR_class_id } from "xray16"; +import { alife, TXR_class_id } from "xray16"; -import { isWeapon } from "@/engine/core/utils/check/is"; +import { isGameStarted, isWeapon } from "@/engine/core/utils/check/is"; import { classIds } from "@/engine/lib/constants/class_ids"; import { mockClientGameObject } from "@/fixtures/xray"; describe("'is' utils", () => { + it("'isGameStarted' should check alife", () => { + expect(isGameStarted()).toBe(true); + expect(alife()).toBeDefined(); + }); + it("'isWeapon' utils should correctly check object class ids", () => { const mockClassIdObject = (classId: number) => { return mockClientGameObject({ clsid: () => classId as TXR_class_id }); diff --git a/src/engine/core/utils/check/is.ts b/src/engine/core/utils/check/is.ts index aab329e32..152b6ae89 100644 --- a/src/engine/core/utils/check/is.ts +++ b/src/engine/core/utils/check/is.ts @@ -1,4 +1,4 @@ -import { clsid, system_ini } from "xray16"; +import { alife, clsid, system_ini } from "xray16"; import { getStoryIdByObjectId, registry } from "@/engine/core/database"; import { assertDefined } from "@/engine/core/utils/assertion"; @@ -22,6 +22,13 @@ import { TSection, } from "@/engine/lib/types"; +/** + * todo; + */ +export function isGameStarted(): boolean { + return alife() !== null; +} + /** * todo; */ diff --git a/src/engine/core/utils/scheme/initialization.test.ts b/src/engine/core/utils/scheme/initialization.test.ts index 0bc1b6a85..43ba2cb7f 100644 --- a/src/engine/core/utils/scheme/initialization.test.ts +++ b/src/engine/core/utils/scheme/initialization.test.ts @@ -269,9 +269,9 @@ describe("'scheme initialization' utils", () => { const object: ClientObject = mockClientGameObject(); const state: IRegistryObjectState = registerObject(object); - state.sectionLogic = "active@test"; + state.sectionLogic = "logics"; state.ini = mockIniFile("test.ltx", { - "active@test": {}, + logics: {}, }); resetFunctionMock(alife().create); @@ -283,9 +283,9 @@ describe("'scheme initialization' utils", () => { const object: ClientObject = mockClientGameObject(); const state: IRegistryObjectState = registerObject(object); - state.sectionLogic = "active@test"; + state.sectionLogic = "logics"; state.ini = mockIniFile("test.ltx", { - "active@test": { + logics: { spawn: "spawn@test", }, "spawn@test": { diff --git a/src/engine/scripts/bind.ts b/src/engine/scripts/bind.ts index c4110752b..a0c56015d 100644 --- a/src/engine/scripts/bind.ts +++ b/src/engine/scripts/bind.ts @@ -21,9 +21,9 @@ import { SmartTerrainBinder, StalkerBinder, } from "@/engine/core/objects/binders"; -import { isGameStarted } from "@/engine/core/utils/alife"; import { abort } from "@/engine/core/utils/assertion"; import { extern } from "@/engine/core/utils/binding"; +import { isGameStarted } from "@/engine/core/utils/check"; import { LuaLogger } from "@/engine/core/utils/logging"; import { ClientObject, IniFile, Optional } from "@/engine/lib/types";