Fix entity rendering bug when zooming out, add "Wires update" label to main menu

This commit is contained in:
tobspr 2020-07-06 18:36:10 +02:00
parent 0d74af92a7
commit 0bba6a9d79
5 changed files with 35 additions and 16 deletions

View File

@ -147,6 +147,7 @@
flex-grow: 1;
align-items: center;
justify-content: center;
flex-direction: column;
@include S(padding-top, 20px);
img {
@ -160,6 +161,24 @@
background: uiResource("demo_badge.png") center center / contain no-repeat;
display: inline-block;
}
position: relative;
.updateLabel {
position: absolute;
transform: translateX(50%) rotate(-5deg);
color: $colorRedBright;
@include Heading;
text-transform: uppercase;
font-weight: bold;
@include S(right, 40px);
@include S(bottom, 20px);
@include InlineAnimation(1.3s ease-in-out infinite) {
50% {
transform: translateX(50%) rotate(-7deg) scale(1.1);
}
}
}
}
.betaWarning {

View File

@ -35,6 +35,7 @@ export class MapView extends BaseMap {
this.root.signals.entityAdded.add(this.onEntityChanged, this);
this.root.signals.entityDestroyed.add(this.onEntityChanged, this);
this.root.signals.entityChanged.add(this.onEntityChanged, this);
}
cleanup() {
@ -44,7 +45,7 @@ export class MapView extends BaseMap {
}
/**
* Called when an entity was added or removed
* Called when an entity was added, removed or changed
* @param {Entity} entity
*/
onEntityChanged(entity) {

View File

@ -141,6 +141,7 @@ export class GameRoot {
// Entities
entityManuallyPlaced: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityAdded: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityChanged: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityGotNewComponent: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityComponentRemoved: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityQueuedForDestroy: /** @type {TypedSignal<[Entity]>} */ (new Signal()),

View File

@ -185,6 +185,9 @@ export class BeltSystem extends GameSystemWithFilter {
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
this.debug_verifyBeltPaths();
}
// Make sure the chunks know about the update
this.root.signals.entityChanged.dispatch(targetEntity);
}
}
}

View File

@ -46,18 +46,15 @@ export class MainMenuState extends GameState {
: ""
}
</div>
${
G_IS_STANDALONE
? ""
: `<video autoplay muted loop class="fullscreenBackgroundVideo">
<video autoplay muted loop class="fullscreenBackgroundVideo">
<source src="${cachebust("res/bg_render.webm")}" type="video/webm">
</video>`
}
</video>
<div class="logo">
<img src="${cachebust("res/logo.png")}" alt="shapez.io Logo">
<span class="updateLabel">Wires update!</span>
</div>
@ -208,14 +205,12 @@ export class MainMenuState extends GameState {
// Initialize video
this.videoElement = this.htmlElement.querySelector("video");
if (this.videoElement) {
this.videoElement.playbackRate = 0.9;
this.videoElement.addEventListener("canplay", () => {
if (this.videoElement) {
this.videoElement.classList.add("loaded");
}
});
}
this.videoElement.playbackRate = 0.9;
this.videoElement.addEventListener("canplay", () => {
if (this.videoElement) {
this.videoElement.classList.add("loaded");
}
});
this.trackClicks(qs(".settingsButton"), this.onSettingsButtonClicked);
this.trackClicks(qs(".changelog"), this.onChangelogClicked);