summaryrefslogtreecommitdiff
path: root/2026/games_submissions/rpc2dot0/index.js
blob: 2a8d6747d3e033e0b1ba403829b280fba21254e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import init, { main_js, set_difficulty_js, receive_op_js } from './pkg/eatyourgreens.js';

let is_embedded = false;
let currentDifficulty = 1.0;

window.addEventListener("DOMContentLoaded", async (event) => {
  await init();
  is_embedded = window.parent !== window;
  main_js(is_embedded);
  window.addEventListener("message", (ev) => {
    if (ev.data && ev.data.op === 'play_video') {
      play_video(ev.data.video_url);
      return;
    }

    if (is_embedded && ev.data && ev.data.op) {
      currentDifficulty = ev.data.difficulty || currentDifficulty;
      set_difficulty_js(currentDifficulty);
      receive_op_js(ev.data.op);
    }
  });
});


// os (inside computer)
const osBox = document.getElementById('os-box');
const video = document.getElementById('ad-video');

video.addEventListener('ended', () => {
  osBox.style.display = 'none';
  receive_op_js('video_finished');
});

function play_video(videoUrl) {
  if (!videoUrl) {
    return;
  }
  osBox.style.display = 'block';
  video.src = videoUrl;
  video.muted = false;
  video.volume = 0.85;
  video.play().catch((e) => {
    console.error("Failed to play video with sound:", e);
    // fallback if autoplay policy blocked it
    video.muted = true;
    video.play();
  });
}