ROTATE DEVICE

Bitrace requires landscape mode and dont forget to lock the rotation

LOADING

// ===================================================== // WOMBAT — ADD CAR TO MAZE // ===================================================== window._wombatAddCarToMaze = async function(assetId) { try { const ok = await window._ensureWombatSigner(); if ( !ok || !window.eosApi || !window.waxAccount ) { throw new Error( "Wombat wallet not connected" ); } const result = await window.eosApi.transact({ actions: [{ account: "atomicassets", name: "transfer", authorization: [{ actor: window.waxAccount, permission: "active" }], data: { from: window.waxAccount, to: "bitracevalid", asset_ids: [ String(assetId) ], memo: "bitrace:addcar_to_maze" } }] }, { blocksBehind: 3, expireSeconds: 120 }); window.unityInstance?.SendMessage( "WombatBridge", "OnWalletTxSuccess", result.transaction_id ); } catch (e) { console.error( "WOMBAT ADD CAR TO MAZE ERROR", e ); window.unityInstance?.SendMessage( "WombatBridge", "OnWalletTxError", e.message ); } }; // ===================================================== // WOMBAT — ADD MAP TO MAZE // ===================================================== window._wombatAddMapToMaze = async function(assetId) { try { const ok = await window._ensureWombatSigner(); if ( !ok || !window.eosApi || !window.waxAccount ) { throw new Error( "Wombat wallet not connected" ); } const result = await window.eosApi.transact({ actions: [{ account: "atomicassets", name: "transfer", authorization: [{ actor: window.waxAccount, permission: "active" }], data: { from: window.waxAccount, to: "bitracevalid", asset_ids: [ String(assetId) ], memo: "bitrace:addmap_to_maze" } }] }, { blocksBehind: 3, expireSeconds: 120 }); window.unityInstance?.SendMessage( "WombatBridge", "OnWalletTxSuccess", result.transaction_id ); } catch (e) { console.error( "WOMBAT ADD MAP TO MAZE ERROR", e ); window.unityInstance?.SendMessage( "WombatBridge", "OnWalletTxError", e.message ); } }; // ===================================================== // GET RACE CARS // ===================================================== window._wombatGetRaceCars = async function() { const account = window.waxAccount || window.anchorAccount || window.wcwAccount; if (!account) { console.error( "Wallet not logged in" ); return; } try { const result = await rpc.get_table_rows({ json: true, code: "bitraceowner", scope: "bitraceowner", table: "racecar", limit: 100 }); const myCars = result.rows.filter( r => r.owner === account ); window.unityInstance?.SendMessage( "WombatBridge", "OnRaceCarsLoaded", JSON.stringify(myCars) ); } catch (e) { console.error( "GET RACE CARS ERROR:", e ); } };