File "index.html"

Full path: /www/upfile/WebGLData/index.html
File size: 7.67 KiB (7858 bytes)
MIME-type: text/html
Charset: utf-8

Download   Open   Back

<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Unity Web Player | DTBeta</title>
    <link rel="shortcut icon" href="TemplateData/favicon.ico">
    <link rel="stylesheet" href="TemplateData/style.css">
  <script src="TemplateData/profiler.js"></script>
  </head>
  <body>
    <div id="unity-container" class="unity-desktop">
      <canvas id="unity-canvas" width=960 height=600 tabindex="-1"></canvas>
      <div id="unity-loading-bar">
        <div id="unity-logo"></div>
        <div id="unity-progress-bar-empty">
          <div id="unity-progress-bar-full"></div>
        </div>
      </div>
      <div id="unity-warning"> </div>
      <div id="unity-footer">
        <div id="unity-logo-title-footer"></div>
        <div id="unity-fullscreen-button"></div>
        <div id="unity-build-title">DTBeta</div>
      </div>
    </div>
    <script>
      var canvas = document.querySelector("#unity-canvas");

      // Shows a temporary message banner/ribbon for a few seconds, or
      // a permanent error message on top of the canvas if type=='error'.
      // If type=='warning', a yellow highlight color is used.
      // Modify or remove this function to customize the visually presented
      // way that non-critical warnings and error messages are presented to the
      // user.
      function unityShowBanner(msg, type) {
        var warningBanner = document.querySelector("#unity-warning");
        function updateBannerVisibility() {
          warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
        }
        var div = document.createElement('div');
        div.innerHTML = msg;
        warningBanner.appendChild(div);
        if (type == 'error') div.style = 'background: red; padding: 10px;';
        else {
          if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
          setTimeout(function() {
            warningBanner.removeChild(div);
            updateBannerVisibility();
          }, 5000);
        }
        updateBannerVisibility();
      }

      var buildUrl = "Build";
      var loaderUrl = buildUrl + "/test2.loader.js";
      var config = {
        arguments: [],
        dataUrl: buildUrl + "/test2.data",
        frameworkUrl: buildUrl + "/test2.framework.js",
        codeUrl: buildUrl + "/test2.wasm",
        streamingAssetsUrl: "StreamingAssets",
        companyName: "DefaultCompany",
        productName: "DTBeta",
        productVersion: "0.1",
        showBanner: unityShowBanner,
        // errorHandler: function(err, url, line) {
        //    alert("error " + err + " occurred at line " + line);
        //    // Return 'true' if you handled this error and don't want Unity
        //    // to process it further, 'false' otherwise.
        //    return true;
        // },
      };

      // By default, Unity keeps WebGL canvas render target size matched with
      // the DOM size of the canvas element (scaled by window.devicePixelRatio)
      // Set this to false if you want to decouple this synchronization from
      // happening inside the engine, and you would instead like to size up
      // the canvas DOM size and WebGL render target sizes yourself.
      // config.matchWebGLToCanvasSize = false;

      // If you would like all file writes inside Unity Application.persistentDataPath
      // directory to automatically persist so that the contents are remembered when
      // the user revisits the site the next time, uncomment the following line:
      // config.autoSyncPersistentDataPath = true;
      // This autosyncing is currently not the default behavior to avoid regressing
      // existing user projects that might rely on the earlier manual
      // JS_FileSystem_Sync() behavior, but in future Unity version, this will be
      // expected to change.

      if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
        // Mobile device style: fill the whole browser client area with the game canvas:

        var meta = document.createElement('meta');
        meta.name = 'viewport';
        meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
        document.getElementsByTagName('head')[0].appendChild(meta);
        document.querySelector("#unity-container").className = "unity-mobile";
        canvas.className = "unity-mobile";

        // To lower canvas resolution on mobile devices to gain some
        // performance, uncomment the following line:
        // config.devicePixelRatio = 1;


      } else {
        // Desktop style: Render the game canvas in a window that can be maximized to fullscreen:
        canvas.style.width = "960px";
        canvas.style.height = "600px";
      }

      document.querySelector("#unity-loading-bar").style.display = "block";

      var script = document.createElement("script");
      script.src = loaderUrl;
      script.onload = () => {
        createUnityInstance(canvas, config, (progress) => {
          document.querySelector("#unity-progress-bar-full").style.width = 100 * progress + "%";
              }).then((unityInstance) => {
                document.querySelector("#unity-loading-bar").style.display = "none";
                document.querySelector("#unity-fullscreen-button").onclick = () => {
                  unityInstance.SetFullscreen(1);
                };

                var profile = unityProfiler.createButton(unityInstance);
                profile.style.marginLeft = '5px';
                document.querySelector("#unity-build-title").appendChild(profile);

                // Unloading web content from DOM so that browser GC can run can be tricky to get right.
                // This code snippet shows how to correctly implement a Unity content Unload mechanism to a web page.

                // Unloading Unity content enables a web page to reclaim the memory used by Unity, e.g. for
                // the purpose of later loading another Unity content instance on the _same_ web page.

                // When using this functionality, take caution to carefully make sure to clear all JavaScript code,
                // DOM element and event handler references to the old content you may have retained, or
                // otherwise the browser's garbage collector will be unable to reclaim the old page.

                // N.b. Unity content does _not_ need to be manually unloaded when the user is navigating away from
                // the current page to another web page. The browser will take care to clear memory of old visited
                // pages automatically. This functionality is only needed if you want to switch between loading
                // multiple Unity builds on a single web page.
                var quit = document.createElement("button");
                quit.style = "margin-left: 5px; background-color: lightgray; border: none; padding: 5px; cursor: pointer";
                quit.innerHTML = "Unload";
                document.querySelector("#unity-build-title").appendChild(quit);
                quit.onclick = () => {
                  // Quit Unity application execution
                  unityInstance.Quit().then(() => {
                    unityProfiler.shutDown();
                    // Remove DOM elements from the page so GC can run
                    document.querySelector("#unity-container").remove();
                    canvas = null;
                    // Remover script elements from the page so GC can run
                    script.remove();
                    script = null;
                  });
                };
              }).catch((message) => {
                alert(message);
              });
            };

      document.body.appendChild(script);

    </script>
  </body>
</html>

PHP File Manager