From adf4e4b9bf400c1ef595f3e1eab84a5cd6f4ae5d Mon Sep 17 00:00:00 2001 From: Vasyl Kazakov Date: Wed, 3 Jun 2026 11:49:30 +0300 Subject: [PATCH] fixed bugs --- src/configUIParams/globalSettings.ts | 6 +- src/controllers/Map/GatherC.ts | 2 + src/controllers/Map/InteractiveZoneC.ts | 5 + src/controllers/Map/Map.ts | 6 + src/controllers/Map/PropHpBar.ts | 324 ++++++++++++++++++------ src/controllers/Map/PropHpUIC.ts | 63 ++++- src/controllers/TestSceneC.ts | 4 + src/controllers/UI/PreGameplayUIC.ts | 45 ++++ src/css/preGameplay.css | 154 +++++++++++ src/css/ui.css | 52 ---- src/index.html | 1 + src/resources/meshes/hpBar.glb | Bin 0 -> 100908 bytes src/resources/meshes/meshes.ts | 4 + src/templateConfig/firstClickCb.ts | 4 +- stats.html | 2 +- 15 files changed, 523 insertions(+), 149 deletions(-) create mode 100644 src/controllers/UI/PreGameplayUIC.ts create mode 100644 src/css/preGameplay.css create mode 100644 src/resources/meshes/hpBar.glb diff --git a/src/configUIParams/globalSettings.ts b/src/configUIParams/globalSettings.ts index 9aad6d6..25e2cfc 100644 --- a/src/configUIParams/globalSettings.ts +++ b/src/configUIParams/globalSettings.ts @@ -88,7 +88,7 @@ export const globalSettings: ConfigUiParamsCategories[] = [ values: [ 30, 150, - 30 + 33 ] }, { @@ -106,7 +106,7 @@ export const globalSettings: ConfigUiParamsCategories[] = [ [ 0, 15, - 9 + 8 ], [ -10, @@ -125,7 +125,7 @@ export const globalSettings: ConfigUiParamsCategories[] = [ [ -360, 360, - 5 + 7 ], [ -360, diff --git a/src/controllers/Map/GatherC.ts b/src/controllers/Map/GatherC.ts index 0c0c1bf..1b217d1 100644 --- a/src/controllers/Map/GatherC.ts +++ b/src/controllers/Map/GatherC.ts @@ -2,6 +2,7 @@ import { EasyEvent, JoystickC, UpdateController } from "@24tools/playable_templa import { Vector3 } from "three"; import { PhysicsTriggerC } from "./PhysicsTriggerC"; import { PropC, PropRegistry } from "./PropC"; +import { PropHpUIC } from "./PropHpUIC"; import { Player } from "../Presets/Player"; export class GatherC { @@ -119,6 +120,7 @@ export class GatherC { if (Player.isMoving() || Player.isCombatBusy()) return; const targetPosition = this.getTargetPosition(props); + PropHpUIC.showFor(props); Player.startAutoAttack( () => this.onAttackStrike(), () => {}, diff --git a/src/controllers/Map/InteractiveZoneC.ts b/src/controllers/Map/InteractiveZoneC.ts index 8340270..01e19ed 100644 --- a/src/controllers/Map/InteractiveZoneC.ts +++ b/src/controllers/Map/InteractiveZoneC.ts @@ -57,7 +57,12 @@ export class InteractiveZoneC { if ("color" in cloned) { this.baseColors.set(cloned, (cloned.color as Color).clone()); } + cloned.depthWrite = true; + cloned.polygonOffset = true; + cloned.polygonOffsetFactor = 2; + cloned.polygonOffsetUnits = 2; mesh.material = cloned; + mesh.renderOrder = 0; }); this.refreshFillVisual(); diff --git a/src/controllers/Map/Map.ts b/src/controllers/Map/Map.ts index 55f3701..2cf27a9 100644 --- a/src/controllers/Map/Map.ts +++ b/src/controllers/Map/Map.ts @@ -22,12 +22,18 @@ export class Map { mapObject.position.set(0, 0, 0); ThreeC.setShadowsStateForChildren(mapObject, true, true); ThreeC.addToScene(mapObject); + this.hideReferenceHpUi(mapObject); PhysicsTriggerC.init(); this.buildPhysics(mapObject); InteractiveZoneC.init(mapObject); } + private static hideReferenceHpUi(mapObject: Object3D) { + const ui = mapObject.getObjectByName("UI"); + if (ui) ui.visible = false; + } + private static buildPhysics(mapObject: Object3D) { for (const layerName of MAP_PHYSICS_LAYERS) { const layer = mapObject.getObjectByName(layerName); diff --git a/src/controllers/Map/PropHpBar.ts b/src/controllers/Map/PropHpBar.ts index a6be40f..a81ffba 100644 --- a/src/controllers/Map/PropHpBar.ts +++ b/src/controllers/Map/PropHpBar.ts @@ -1,42 +1,108 @@ -import { Box3, Mesh, Object3D, Vector3 } from "three"; -import { CameraC } from "../CameraC"; +import { + Box3, + Color, + DoubleSide, + Material, + Matrix4, + Mesh, + MeshBasicMaterial, + MeshStandardMaterial, + Object3D, + Quaternion, + Vector3, +} from "three"; +import { ResourcesC } from "@24tools/playable_template"; +import { GLTF } from "three/examples/jsm/loaders/GLTFLoader"; +import { ThreeC } from "../ThreeC"; +import { ResourcesType } from "../Presets/Enums/ResourcesType"; import { PropC } from "./PropC"; -const BAR_Y_OFFSET = 0.8; -const BAR_X_OFFSET = -0.3; +const HP_BAR_MESH = "hpBar"; +const NODE_UI = "UI"; +const NODE_BACKGROUND = "UI_Background"; +const NODE_FOREGROUND = "UI_Foreground"; +const NODE_MIDDLEGROUND = "UI_Middleground"; + +const BAR_Y_OFFSET = 0.55; +const BAR_X_OFFSET = -0.2; const CATCHUP_SPEED = 2.5; +const BAR_WORLD_SCALE = 1; + +/** Transparent pass + renderOrder above all map decals. */ +export const OVERLAY_RENDER_ORDER = 10000; +const RENDER_ORDER_BACKGROUND = OVERLAY_RENDER_ORDER; +const RENDER_ORDER_MIDDLEGROUND = OVERLAY_RENDER_ORDER + 1; +const RENDER_ORDER_FOREGROUND = OVERLAY_RENDER_ORDER + 2; + +type FillPart = { + node: Object3D; + baseScaleX: number; + basePosX: number; + /** Local mesh min.x (negative); keeps left edge fixed when scaling. */ + anchorMinX: number; +}; export class PropHpBar { + static readonly OVERLAY_RENDER_ORDER = OVERLAY_RENDER_ORDER; + private static readonly identityMatrix = new Matrix4(); + private static readonly tempMatrix = new Matrix4(); + private static readonly tempPosition = new Vector3(); + private static readonly tempQuaternion = new Quaternion(); + private static readonly tempScale = new Vector3(); + private static readonly worldAnchor = new Vector3(); + private readonly prop: PropC; - private readonly root: HTMLElement; - private readonly currentEl: HTMLElement; - private readonly delayedEl: HTMLElement; - private readonly anchor = new Vector3(); + private readonly root: Object3D; + private readonly foreground: FillPart | null; + private readonly middleground: FillPart | null; private readonly bounds = new Box3(); private displayedHealth: number; private visible = false; - constructor(prop: PropC, parent: HTMLElement) { + static getPrefab(): Object3D | null { + const fromScene = ThreeC.getObject(HP_BAR_MESH); + if (fromScene) return fromScene; + + const gltf = ResourcesC.getResource(ResourcesType.Mesh, HP_BAR_MESH); + return gltf?.scene ?? null; + } + + constructor(prop: PropC, parent: Object3D) { + const template = PropHpBar.getPrefab(); + if (!template) { + throw new Error(`HP bar mesh resource not found: ${HP_BAR_MESH}`); + } + + const sourceUi = template.getObjectByName(NODE_UI); + if (!sourceUi) { + throw new Error(`HP bar node not found: ${NODE_UI}`); + } + this.prop = prop; this.displayedHealth = prop.health; - this.root = document.createElement("div"); - this.root.className = "prop-hp-bar"; + this.root = new Object3D(); + this.root.visible = false; + this.root.scale.setScalar(BAR_WORLD_SCALE); + this.root.frustumCulled = false; + this.root.renderOrder = RENDER_ORDER_FOREGROUND; - const track = document.createElement("div"); - track.className = "prop-hp-bar__track"; + const ui = sourceUi.clone(true); + this.bakeMatrices(ui); + this.centerGroup(ui); + this.prepareMeshes(ui); - this.delayedEl = document.createElement("div"); - this.delayedEl.className = "prop-hp-bar__delayed"; + this.root.add(ui); + parent.add(this.root); - this.currentEl = document.createElement("div"); - this.currentEl.className = "prop-hp-bar__current"; + const fgNode = ui.getObjectByName(NODE_FOREGROUND); + const mgNode = ui.getObjectByName(NODE_MIDDLEGROUND); + this.foreground = fgNode ? this.createFillPart(fgNode) : null; + this.middleground = mgNode ? this.createFillPart(mgNode) : null; - track.appendChild(this.delayedEl); - track.appendChild(this.currentEl); - this.root.appendChild(track); - parent.appendChild(this.root); + const background = ui.getObjectByName(NODE_BACKGROUND); + if (background) background.visible = true; this.applyWidths(); } @@ -61,32 +127,68 @@ export class PropHpBar { ); } - this.delayedEl.style.width = `${this.getHealthRatio(this.displayedHealth) * 100}%`; + if (this.middleground) { + this.applyFill(this.middleground, this.getHealthRatio(this.displayedHealth)); + } if (!this.visible) return; - this.updatePosition(); + this.updateTransform(); } setVisible(value: boolean) { this.visible = value; - this.root.classList.toggle("is-visible", value); + this.root.visible = value; if (value) { this.displayedHealth = this.prop.health; this.applyWidths(); - this.updatePosition(); + this.updateTransform(); } } destroy() { - this.root.remove(); + this.root.removeFromParent(); } private applyWidths() { - const ratio = this.getHealthRatio(this.prop.health); - this.currentEl.style.width = `${ratio * 100}%`; - this.delayedEl.style.width = `${this.getHealthRatio(this.displayedHealth) * 100}%`; + if (this.foreground) { + this.applyFill(this.foreground, this.getHealthRatio(this.prop.health)); + } + if (this.middleground) { + this.applyFill(this.middleground, this.getHealthRatio(this.displayedHealth)); + } + } + + private applyFill(part: FillPart, ratio: number) { + const clamped = Math.max(0, Math.min(1, ratio)); + part.node.scale.x = part.baseScaleX * clamped; + part.node.position.x = + part.basePosX + part.anchorMinX * part.baseScaleX * (1 - clamped); + } + + private createFillPart(node: Object3D): FillPart { + const meshMinX = this.getMeshMinX(node); + const isForeground = node.name.includes(NODE_FOREGROUND); + + node.renderOrder = isForeground + ? RENDER_ORDER_FOREGROUND + : RENDER_ORDER_MIDDLEGROUND; + + return { + node, + baseScaleX: node.scale.x, + basePosX: node.position.x, + anchorMinX: meshMinX, + }; + } + + private getMeshMinX(node: Object3D) { + const mesh = node as Mesh; + if (!mesh.isMesh || !mesh.geometry) return -0.935; + + mesh.geometry.computeBoundingBox(); + return mesh.geometry.boundingBox?.min.x ?? -0.935; } private getHealthRatio(health: number) { @@ -94,78 +196,138 @@ export class PropHpBar { return Math.max(health, 0) / this.prop.maxHealth; } - private updatePosition() { + private updateTransform() { if (!this.computeVisualBounds()) { - this.root.style.display = "none"; + this.root.visible = false; return; } - this.bounds.getCenter(this.anchor); - this.anchor.x += BAR_X_OFFSET; - this.anchor.y = this.bounds.max.y + BAR_Y_OFFSET; + PropHpBar.worldAnchor.set( + (this.bounds.min.x + this.bounds.max.x) * 0.5 + BAR_X_OFFSET, + this.bounds.max.y + BAR_Y_OFFSET, + (this.bounds.min.z + this.bounds.max.z) * 0.5, + ); - const camera = CameraC.camera; - const projected = this.anchor.project(camera); - - if (projected.z > 1) { - this.root.style.display = "none"; - return; - } - - const screenPos = PropHpBar.worldToLayerPosition(projected, this.root.parentElement); - if (!screenPos) { - this.root.style.display = "none"; - return; - } - - this.root.style.display = ""; - this.root.style.left = `${screenPos.x}px`; - this.root.style.top = `${screenPos.y}px`; - } - - private static worldToLayerPosition( - projected: Vector3, - layer: HTMLElement | null, - ): { x: number; y: number } | null { - const canvas = document.querySelector("canvas"); - if (!canvas || !layer) return null; - - const canvasRect = canvas.getBoundingClientRect(); - const layerRect = layer.getBoundingClientRect(); - - return { - x: - (projected.x * 0.5 + 0.5) * canvasRect.width + - canvasRect.left - - layerRect.left, - y: - (-projected.y * 0.5 + 0.5) * canvasRect.height + - canvasRect.top - - layerRect.top, - }; + this.root.position.copy(PropHpBar.worldAnchor); + this.root.quaternion.set(0, 0, 0, 1); + this.root.visible = this.visible; } private computeVisualBounds() { this.prop.object.updateWorldMatrix(true, true); this.bounds.makeEmpty(); - const includeMesh = (node: Object3D) => { - if (!(node as Mesh).isMesh) return; + this.prop.object.traverse((child) => { + if (!(child as Mesh).isMesh) return; - const name = node.name.toLowerCase(); + const name = child.name.toLowerCase(); if (name.includes("collider") || name.includes("trigger") || name.includes("gathertrigger")) { return; } - this.bounds.expandByObject(node); - }; - - includeMesh(this.prop.object); - this.prop.object.traverse((child) => includeMesh(child)); + this.bounds.expandByObject(child); + }); if (!this.bounds.isEmpty()) return true; this.bounds.setFromObject(this.prop.object); return !this.bounds.isEmpty(); } + + private bakeMatrices(ui: Object3D) { + this.decomposeNodeMatrix(ui); + ui.traverse((child) => { + if (child === ui) return; + this.decomposeNodeMatrix(child); + }); + } + + private decomposeNodeMatrix(node: Object3D) { + node.updateMatrix(); + PropHpBar.tempMatrix.copy(node.matrix); + if (PropHpBar.tempMatrix.equals(PropHpBar.identityMatrix)) return; + + PropHpBar.tempMatrix.decompose( + PropHpBar.tempPosition, + PropHpBar.tempQuaternion, + PropHpBar.tempScale, + ); + + node.matrix.identity(); + node.position.copy(PropHpBar.tempPosition); + node.quaternion.copy(PropHpBar.tempQuaternion); + node.scale.copy(PropHpBar.tempScale); + node.matrixAutoUpdate = true; + } + + private centerGroup(group: Object3D) { + const box = new Box3().setFromObject(group); + const center = new Vector3(); + box.getCenter(center); + group.position.sub(center); + } + + private prepareMeshes(root: Object3D) { + root.traverse((child) => { + child.frustumCulled = false; + + if (!(child as Mesh).isMesh) return; + + const mesh = child as Mesh; + mesh.castShadow = false; + mesh.receiveShadow = false; + + if (child.name.includes(NODE_BACKGROUND)) { + child.renderOrder = RENDER_ORDER_BACKGROUND; + } else if (child.name.includes(NODE_MIDDLEGROUND)) { + child.renderOrder = RENDER_ORDER_MIDDLEGROUND; + } else if (child.name.includes(NODE_FOREGROUND)) { + child.renderOrder = RENDER_ORDER_FOREGROUND; + } + + if (Array.isArray(mesh.material)) { + mesh.material = mesh.material.map((material) => this.toVisibleMaterial(material)); + } else { + mesh.material = this.toVisibleMaterial(mesh.material); + } + }); + } + + /** Keeps GLB map/color; unlit basic material renders reliably in playable. */ + private toVisibleMaterial(source: Material) { + if (source instanceof MeshBasicMaterial) { + const cloned = source.clone(); + cloned.side = DoubleSide; + cloned.depthTest = false; + cloned.depthWrite = false; + cloned.toneMapped = false; + cloned.transparent = true; + return cloned; + } + + const src = source as MeshStandardMaterial; + const material = new MeshBasicMaterial({ + side: DoubleSide, + depthTest: false, + depthWrite: false, + toneMapped: false, + transparent: true, + opacity: src.opacity ?? 1, + }); + + if (src.map) { + material.map = src.map; + } + if (src.color) { + material.color.copy(src.color); + } else { + material.color = new Color(0xffffff); + } + if (src.alphaTest) { + material.alphaTest = src.alphaTest; + material.transparent = true; + } + + return material; + } } diff --git a/src/controllers/Map/PropHpUIC.ts b/src/controllers/Map/PropHpUIC.ts index 7f4e961..9568662 100644 --- a/src/controllers/Map/PropHpUIC.ts +++ b/src/controllers/Map/PropHpUIC.ts @@ -1,4 +1,6 @@ +import { Object3D } from "three"; import { UpdateController } from "@24tools/playable_template"; +import { ThreeC } from "../ThreeC"; import { PropC } from "./PropC"; import { PropHpBar } from "./PropHpBar"; @@ -7,20 +9,15 @@ const DEBUG_ALWAYS_VISIBLE_HP_BARS = false; export class PropHpUIC { private static inited = false; - private static root: HTMLElement | null = null; + private static overlayLayer: Object3D | null = null; private static bars = new Map(); static init() { if (this.inited) return; this.inited = true; - const uiRoot = document.getElementById("ui"); - if (!uiRoot) return; - - this.root = document.createElement("div"); - this.root.id = "prop-hp-layer"; - this.root.className = "prop-hp-layer"; - uiRoot.appendChild(this.root); + this.hideSceneTemplate(); + this.ensureOverlayLayer(); UpdateController.Instance.onUpdate.addDelegate((delta) => { for (const bar of this.bars.values()) { @@ -29,10 +26,31 @@ export class PropHpUIC { }); } - static createBar(prop: PropC): PropHpBar | undefined { - if (!this.root || this.bars.has(prop)) return this.bars.get(prop); + /** Call after map/scene objects are added so overlay renders last. */ + static bringOverlayToFront() { + this.ensureOverlayLayer(); + const layer = this.overlayLayer; + if (!layer) return; - const bar = new PropHpBar(prop, this.root); + let parent = layer.parent; + if (!parent) { + ThreeC.addToScene(layer); + parent = layer.parent; + if (!parent) return; + } + + parent.remove(layer); + parent.add(layer); + } + + static createBar(prop: PropC): PropHpBar | undefined { + if (!PropHpBar.getPrefab()) { + console.warn("HP bar prefab not loaded"); + return undefined; + } + if (this.bars.has(prop)) return this.bars.get(prop); + + const bar = new PropHpBar(prop, this.getOverlayLayer()); this.bars.set(prop, bar); if (DEBUG_ALWAYS_VISIBLE_HP_BARS) { @@ -79,4 +97,27 @@ export class PropHpUIC { bar.destroy(); this.bars.delete(prop); } + + private static hideSceneTemplate() { + const template = PropHpBar.getPrefab(); + if (!template || !template.parent) return; + + template.visible = false; + template.removeFromParent(); + } + + private static ensureOverlayLayer() { + if (!this.overlayLayer) { + this.overlayLayer = new Object3D(); + this.overlayLayer.name = "prop-hp-overlay"; + this.overlayLayer.frustumCulled = false; + this.overlayLayer.renderOrder = PropHpBar.OVERLAY_RENDER_ORDER; + ThreeC.addToScene(this.overlayLayer); + } + } + + private static getOverlayLayer() { + this.ensureOverlayLayer(); + return this.overlayLayer!; + } } diff --git a/src/controllers/TestSceneC.ts b/src/controllers/TestSceneC.ts index 1ea824f..3a50ff2 100644 --- a/src/controllers/TestSceneC.ts +++ b/src/controllers/TestSceneC.ts @@ -9,17 +9,21 @@ import { ResourceDepositC } from "./Resources/ResourceDepositC"; import { PropHpUIC } from "./Map/PropHpUIC"; import { PropVfxC } from "./Map/PropVfxC"; import { InvasionProgressUIC } from "./UI/InvasionProgressUIC"; +import { PreGameplayUIC } from "./UI/PreGameplayUIC"; export class TestSceneC { static init() { InvasionProgressUIC.init(); ResourceUIC.init(); + PreGameplayUIC.init(); ResourceFlyC.init(); PropHpUIC.init(); PropVfxC.Init(); Map.init(); + PropHpUIC.bringOverlayToFront(); GatherC.init(); Player.init(); + PropHpUIC.bringOverlayToFront(); const mapObject = ThreeC.getObject("map"); if (mapObject) { diff --git a/src/controllers/UI/PreGameplayUIC.ts b/src/controllers/UI/PreGameplayUIC.ts new file mode 100644 index 0000000..6a32156 --- /dev/null +++ b/src/controllers/UI/PreGameplayUIC.ts @@ -0,0 +1,45 @@ +export class PreGameplayUIC { + private static root: HTMLElement | null = null; + + static init() { + const ui = document.getElementById("ui"); + if (!ui) return; + + ui.classList.add("is-pre-gameplay"); + + const root = document.createElement("div"); + root.className = "pre-gameplay"; + + const hurry = document.createElement("p"); + hurry.className = "pre-gameplay__hurry"; + hurry.textContent = "HURRY UP"; + + const bottom = document.createElement("div"); + bottom.className = "pre-gameplay__bottom"; + + const drag = document.createElement("p"); + drag.className = "pre-gameplay__drag"; + drag.textContent = "DRAG TO MOVE"; + + const joystick = document.createElement("div"); + joystick.className = "pre-gameplay-joystick"; + + const base = document.createElement("div"); + base.className = "pre-gameplay-joystick__base"; + + const knob = document.createElement("div"); + knob.className = "pre-gameplay-joystick__knob"; + + joystick.append(base, knob); + bottom.append(drag, joystick); + root.append(hurry, bottom); + ui.appendChild(root); + this.root = root; + } + + static dismiss() { + document.getElementById("ui")?.classList.remove("is-pre-gameplay"); + this.root?.remove(); + this.root = null; + } +} diff --git a/src/css/preGameplay.css b/src/css/preGameplay.css new file mode 100644 index 0000000..0c81e0b --- /dev/null +++ b/src/css/preGameplay.css @@ -0,0 +1,154 @@ +#ui.is-pre-gameplay .hud-invasion-title, +#ui.is-pre-gameplay .hud-progress, +#ui.is-pre-gameplay .hud-top-right { + display: none !important; +} + +.pre-gameplay { + position: absolute; + inset: 0; + pointer-events: none; + z-index: 11; +} + +.pre-gameplay__hurry { + position: absolute; + top: 14vh; + left: 50%; + transform: translateX(-50%); + margin: 0; + font-size: 5vh; + font-weight: 700; + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.04em; + text-align: center; + line-height: 1; + white-space: nowrap; + -webkit-text-stroke: 0.14vh #000000; + paint-order: stroke fill; + animation: pre-gameplay-pulse 1.2s ease-in-out infinite; +} + +.pre-gameplay__bottom { + position: absolute; + left: 50%; + bottom: 10vh; + transform: translateX(-50%); + display: flex; + flex-direction: column; + align-items: center; + gap: 2.5vh; +} + +.pre-gameplay__drag { + margin: 0; + font-size: 4.2vh; + font-weight: 700; + color: #ffffff; + text-transform: uppercase; + letter-spacing: 0.04em; + text-align: center; + line-height: 1; + white-space: nowrap; + -webkit-text-stroke: 0.12vh #000000; + paint-order: stroke fill; +} + +.pre-gameplay-joystick { + position: relative; + width: 22vh; + height: 22vh; +} + +.pre-gameplay-joystick__base { + position: absolute; + inset: 0; + border-radius: 50%; + border: 0.35vh solid rgba(255, 255, 255, 0.55); + background: rgba(255, 255, 255, 0.12); + box-sizing: border-box; +} + +.pre-gameplay-joystick__knob { + position: absolute; + left: 50%; + top: 50%; + width: 8vh; + height: 8vh; + margin-left: -4vh; + margin-top: -4vh; + border-radius: 50%; + background: #ffffff; + animation: pre-gameplay-joystick-knob 2.4s ease-in-out infinite; +} + +@keyframes pre-gameplay-pulse { + 0%, + 100% { + transform: translateX(-50%) scale(1); + } + 50% { + transform: translateX(-50%) scale(1.06); + } +} + +@keyframes pre-gameplay-joystick-knob { + 0%, + 100% { + transform: translate(0, 0); + } + 25% { + transform: translate(5vh, 0); + } + 50% { + transform: translate(0, -3.5vh); + } + 75% { + transform: translate(-5vh, 0); + } +} + +@media (orientation: landscape) { + .pre-gameplay__hurry { + top: 8vh; + font-size: 4vh; + } + + .pre-gameplay__bottom { + bottom: 6vh; + gap: 1.5vh; + } + + .pre-gameplay__drag { + font-size: 3.2vh; + } + + .pre-gameplay-joystick { + width: 18vh; + height: 18vh; + } + + .pre-gameplay-joystick__knob { + width: 6.5vh; + height: 6.5vh; + margin-left: -3.25vh; + margin-top: -3.25vh; + } + + @keyframes pre-gameplay-joystick-knob { + 0%, + 100% { + transform: translate(0, 0); + } + 25% { + transform: translate(4vh, 0); + } + 50% { + transform: translate(0, -2.8vh); + } + 75% { + transform: translate(-4vh, 0); + } + } +} diff --git a/src/css/ui.css b/src/css/ui.css index 290e6b1..49ba7be 100644 --- a/src/css/ui.css +++ b/src/css/ui.css @@ -184,58 +184,6 @@ z-index: 20; } -.prop-hp-layer { - position: absolute; - inset: 0; - pointer-events: none; -} - -.prop-hp-bar { - position: absolute; - width: 8vh; - height: 1.2vh; - transform: translate(-50%, -100%); - opacity: 0; - visibility: hidden; - pointer-events: none; - z-index: 15; - transition: opacity 0.15s ease; -} - -.prop-hp-bar.is-visible { - opacity: 1; - visibility: visible; -} - -.prop-hp-bar__track { - position: relative; - width: 100%; - height: 100%; - background: #000000; - border-radius: 0.25vh; - overflow: hidden; -} - -.prop-hp-bar__delayed, -.prop-hp-bar__current { - position: absolute; - left: 0; - top: 0; - height: 100%; - border-radius: 0.25vh; - width: 100%; -} - -.prop-hp-bar__delayed { - background: #ffffff; - z-index: 1; -} - -.prop-hp-bar__current { - background: #3b8bff; - z-index: 2; -} - @media (orientation: landscape) { .hud-top-center { top: 1.2vh; diff --git a/src/index.html b/src/index.html index 7b6c863..9b05361 100644 --- a/src/index.html +++ b/src/index.html @@ -12,6 +12,7 @@ + diff --git a/src/resources/meshes/hpBar.glb b/src/resources/meshes/hpBar.glb new file mode 100644 index 0000000000000000000000000000000000000000..40538bdf5d33a3f54980adc0f946144a660560c3 GIT binary patch literal 100908 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†ubjKYVtsqoAo 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 literal 0 HcmV?d00001 diff --git a/src/resources/meshes/meshes.ts b/src/resources/meshes/meshes.ts index cf774d9..32faa4c 100644 --- a/src/resources/meshes/meshes.ts +++ b/src/resources/meshes/meshes.ts @@ -17,6 +17,10 @@ export const meshes : ConvertResourceType = { name: "wood", value: ConvertToBase64WhenRelease("./wood.glb"), }, + { + name: "hpBar", + value: ConvertToBase64WhenRelease("./hpBar.glb"), + }, ], loader: Template3d.meshLoader } \ No newline at end of file diff --git a/src/templateConfig/firstClickCb.ts b/src/templateConfig/firstClickCb.ts index e15cb6b..4a55e57 100644 --- a/src/templateConfig/firstClickCb.ts +++ b/src/templateConfig/firstClickCb.ts @@ -1,5 +1,7 @@ import { InvasionProgressUIC } from "../controllers/UI/InvasionProgressUIC"; +import { PreGameplayUIC } from "../controllers/UI/PreGameplayUIC"; export const firstClickCb: () => void = () => { + PreGameplayUIC.dismiss(); InvasionProgressUIC.startTimer(); -}; +}; \ No newline at end of file diff --git a/stats.html b/stats.html index 204e14d..a18ed10 100644 --- a/stats.html +++ b/stats.html @@ -4929,7 +4929,7 @@ var drawChart = (function (exports) {