<!DOCTYPE html>
<html lang="en-us">

<head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Unity WebGL Player | TEST01</title>
    <link rel="shortcut icon" href="TemplateData/favicon.ico">
    <link rel="stylesheet" href="TemplateData/style.css">
</head>

<body>
    <div id="unity-container" class="unity-desktop">
        <canvas id="unity-canvas" width=960 height=600></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-webgl-logo"></div>
            <div id="unity-fullscreen-button"></div>
            <div id="unity-build-title">TEST01</div> -->
        </div>
    </div>
    <script>
        var container = document.querySelector("#unity-container");
        var canvas = document.querySelector("#unity-canvas");
        var loadingBar = document.querySelector("#unity-loading-bar");
        var progressBarFull = document.querySelector("#unity-progress-bar-full");
        // var fullscreenButton = document.querySelector("#unity-fullscreen-button");
        var warningBanner = document.querySelector("#unity-warning");

        // 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) {
            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 + "/222.loader.js";
        var config = {
            dataUrl: buildUrl + "/222.data.unityweb",
            frameworkUrl: buildUrl + "/222.framework.js.unityweb",
            codeUrl: buildUrl + "/222.wasm.unityweb",
            streamingAssetsUrl: "StreamingAssets",
            companyName: "DefaultCompany",
            productName: "TEST01",
            productVersion: "0.1",
            showBanner: unityShowBanner,
        };

        // 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 (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
            container.className = "unity-mobile";
            // Avoid draining fillrate performance on mobile devices,
            // and default/override low DPI mode on mobile browsers.
            config.devicePixelRatio = 1;
            unityShowBanner('WebGL builds are not supported on mobile devices.');
        } else {
            canvas.style.width = "960px";
            canvas.style.height = "600px";
        }
        loadingBar.style.display = "block";

        const gameInstance = null;
        var script = document.createElement("script");
        script.src = loaderUrl;
        script.onload = () => {
            createUnityInstance(canvas, config, (progress) => {
                progressBarFull.style.width = 100 * progress + "%";
            }).then((unityInstance) => {
                loadingBar.style.display = "none";
                // fullscreenButton.onclick = () => {
                //     unityInstance.SetFullscreen(1);
                // };
                this.gameInstance = unityInstance;
            }).catch((message) => {
                alert(message);
            });
        };
        window.ReportReady = function () {
            console.log("加载成功!!!")
        }
        function changeSize(width, height) {
            canvas.style.width = width + 'px';
            canvas.style.height = height + 'px';
        }
        function Bloomsize(size) {
            this.gameInstance.SendMessage("Car_1", "SpeedCtrl", size);
        }
        document.body.appendChild(script);
    </script>
    <script>
        // window.ReportReady = function () {
        //     console.log("加载成功!!!")
        // }

        // function SpeedCtrl(speed) {
        //     this.gameInstance.SendMessage("Car_1", "SpeedCtrl", speed);
        // }
        // setTimeout("SpeedCtrl(0.6)", 5000);
    </script>
</body>

</html>