new version + metric
This commit is contained in:
parent
f6b7e465d1
commit
4e2c157358
BIN
data/menu.ui
BIN
data/menu.ui
Binary file not shown.
|
|
@ -1,51 +1,88 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="user-scalable=no, height=device-height, width=device-width, initial-scale=1.0">
|
||||
<title>Platformer</title>
|
||||
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<script type="module" defer src="main.js"></script>
|
||||
</head>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="user-scalable=no, height=device-height, width=device-width, initial-scale=1.0">
|
||||
<title>Platformer</title>
|
||||
|
||||
<body>
|
||||
<noscript>This page contains WebAssembly and JavaScript content, please enable JavaScript in your browser.</noscript>
|
||||
<div class="lds-default" style="display: none;"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
|
||||
|
||||
<main id="main">
|
||||
<button class="button-3d" id="button-start" type="button" role="button" onclick="preloaderEnable()">
|
||||
Start
|
||||
</button>
|
||||
</main>
|
||||
</body>
|
||||
<script>
|
||||
function preloaderEnable() {
|
||||
document.querySelector('.lds-default').style = null;
|
||||
}
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<script type="module" defer src="main.js"></script>
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript">
|
||||
(function (m, e, t, r, i, k, a) {
|
||||
m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
|
||||
m[i].l = 1 * new Date();
|
||||
for (var j = 0; j < document.scripts.length; j++) { if (document.scripts[j].src === r) { return; } }
|
||||
k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
|
||||
})
|
||||
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
|
||||
|
||||
const intervalId = setInterval(function() {
|
||||
if (document.querySelector('canvas') !== null) {
|
||||
document.querySelector('canvas');
|
||||
clearInterval(intervalId);
|
||||
resize(document.querySelector('canvas'));
|
||||
}
|
||||
}, 1000);
|
||||
new ResizeObserver(() => {
|
||||
const canvasObj = document.querySelector('canvas')
|
||||
if (canvasObj == null) {
|
||||
return;
|
||||
}
|
||||
resize(canvasObj);
|
||||
}).observe(document.body);
|
||||
|
||||
function resize(canvasObj) {
|
||||
document.querySelector('.lds-default').style.display = "none";
|
||||
canvasObj.style = null;
|
||||
canvasObj.width = window.screen.width * window.devicePixelRatio;
|
||||
canvasObj.height = window.screen.height * window.devicePixelRatio;
|
||||
canvasObj.style.width = window.screen.width + "px";
|
||||
canvasObj.style.height = window.screen.widheightth + "px";
|
||||
}
|
||||
ym(96918237, "init", {
|
||||
clickmap: true,
|
||||
trackLinks: true,
|
||||
accurateTrackBounce: true
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
<noscript>
|
||||
<div><img src="https://mc.yandex.ru/watch/96918237" style="position:absolute; left:-9999px;" alt="" /></div>
|
||||
</noscript>
|
||||
<!-- /Yandex.Metrika counter -->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript>This page contains WebAssembly and JavaScript content, please enable JavaScript in your browser.</noscript>
|
||||
<div class="lds-default" style="display: none;">
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<main id="main">
|
||||
<button class="button-3d" id="button-start" type="button" role="button" onclick="preloaderEnable()">
|
||||
Start
|
||||
</button>
|
||||
</main>
|
||||
</body>
|
||||
<script>
|
||||
function preloaderEnable() {
|
||||
document.querySelector('.lds-default').style = null;
|
||||
}
|
||||
|
||||
const intervalId = setInterval(function () {
|
||||
if (document.querySelector('canvas') !== null) {
|
||||
document.querySelector('canvas');
|
||||
clearInterval(intervalId);
|
||||
resize(document.querySelector('canvas'));
|
||||
}
|
||||
}, 1000);
|
||||
new ResizeObserver(() => {
|
||||
const canvasObj = document.querySelector('canvas')
|
||||
if (canvasObj == null) {
|
||||
return;
|
||||
}
|
||||
resize(canvasObj);
|
||||
}).observe(document.body);
|
||||
|
||||
function resize(canvasObj) {
|
||||
document.querySelector('.lds-default').style.display = "none";
|
||||
canvasObj.style = null;
|
||||
canvasObj.width = window.screen.width * window.devicePixelRatio;
|
||||
canvasObj.height = window.screen.height * window.devicePixelRatio;
|
||||
canvasObj.style.width = window.screen.width + "px";
|
||||
canvasObj.style.height = window.screen.widheightth + "px";
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</html>
|
||||
|
|
@ -12,13 +12,13 @@ export interface InitOutput {
|
|||
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
||||
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
||||
readonly __wbindgen_export_2: WebAssembly.Table;
|
||||
readonly wasm_bindgen__convert__closures__invoke1_mut__h1174b3f5d0f364f0: (a: number, b: number, c: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke0_mut__he7eec17026fa9bbe: (a: number, b: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke2_mut__h87cce4bf568ddd8d: (a: number, b: number, c: number, d: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke0_mut__h0ec95cd6d7bcd320: (a: number, b: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke1_mut__h0f1d8e7262983e79: (a: number, b: number, c: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke0_mut__h79d5b69c906304b3: (a: number, b: number) => void;
|
||||
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4d122b4606e1c898: (a: number, b: number, c: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke1_mut__h0cf0487b290ee515: (a: number, b: number, c: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke2_mut__h1e72dedd4c45cc2a: (a: number, b: number, c: number, d: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke0_mut__ha79470fcd860256d: (a: number, b: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke0_mut__h1766ce1cfdba25b3: (a: number, b: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke1_mut__h05c77783bcb49ea5: (a: number, b: number, c: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke0_mut__h2bdf352ddaf30b28: (a: number, b: number) => void;
|
||||
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22a129863ce3f604: (a: number, b: number, c: number) => void;
|
||||
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
||||
readonly __wbindgen_exn_store: (a: number) => void;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -222,31 +222,31 @@ function makeMutClosure(arg0, arg1, dtor, f) {
|
|||
return real;
|
||||
}
|
||||
function __wbg_adapter_32(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke1_mut__h1174b3f5d0f364f0(arg0, arg1, addHeapObject(arg2));
|
||||
wasm.wasm_bindgen__convert__closures__invoke1_mut__h0cf0487b290ee515(arg0, arg1, addHeapObject(arg2));
|
||||
}
|
||||
|
||||
function __wbg_adapter_35(arg0, arg1) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke0_mut__he7eec17026fa9bbe(arg0, arg1);
|
||||
function __wbg_adapter_35(arg0, arg1, arg2, arg3) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke2_mut__h1e72dedd4c45cc2a(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
||||
}
|
||||
|
||||
function __wbg_adapter_44(arg0, arg1, arg2, arg3) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke2_mut__h87cce4bf568ddd8d(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
||||
function __wbg_adapter_38(arg0, arg1) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke0_mut__ha79470fcd860256d(arg0, arg1);
|
||||
}
|
||||
|
||||
function __wbg_adapter_49(arg0, arg1) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke0_mut__h0ec95cd6d7bcd320(arg0, arg1);
|
||||
wasm.wasm_bindgen__convert__closures__invoke0_mut__h1766ce1cfdba25b3(arg0, arg1);
|
||||
}
|
||||
|
||||
function __wbg_adapter_52(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke1_mut__h0f1d8e7262983e79(arg0, arg1, addHeapObject(arg2));
|
||||
wasm.wasm_bindgen__convert__closures__invoke1_mut__h05c77783bcb49ea5(arg0, arg1, addHeapObject(arg2));
|
||||
}
|
||||
|
||||
function __wbg_adapter_61(arg0, arg1) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke0_mut__h79d5b69c906304b3(arg0, arg1);
|
||||
function __wbg_adapter_57(arg0, arg1) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke0_mut__h2bdf352ddaf30b28(arg0, arg1);
|
||||
}
|
||||
|
||||
function __wbg_adapter_68(arg0, arg1, arg2) {
|
||||
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4d122b4606e1c898(arg0, arg1, addHeapObject(arg2));
|
||||
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22a129863ce3f604(arg0, arg1, addHeapObject(arg2));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -407,22 +407,22 @@ function __wbg_get_imports() {
|
|||
const ret = getObject(arg0).offsetY;
|
||||
return ret;
|
||||
};
|
||||
imports.wbg.__wbg_onpointerrawupdate_e087759b4021ec00 = function(arg0) {
|
||||
const ret = getObject(arg0).onpointerrawupdate;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_requestFullscreen_a851d70cb190396a = function(arg0) {
|
||||
const ret = getObject(arg0).requestFullscreen;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_getCoalescedEvents_4665669d237be577 = function(arg0) {
|
||||
const ret = getObject(arg0).getCoalescedEvents;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_requestFullscreen_f4349fb8a7429cf9 = function(arg0) {
|
||||
const ret = getObject(arg0).requestFullscreen();
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_onpointerrawupdate_e087759b4021ec00 = function(arg0) {
|
||||
const ret = getObject(arg0).onpointerrawupdate;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_getCoalescedEvents_4665669d237be577 = function(arg0) {
|
||||
const ret = getObject(arg0).getCoalescedEvents;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_scheduler_6932606c19435996 = function(arg0) {
|
||||
const ret = getObject(arg0).scheduler;
|
||||
return addHeapObject(ret);
|
||||
|
|
@ -1607,68 +1607,68 @@ function __wbg_get_imports() {
|
|||
const ret = wasm.memory;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper11046 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 9777, __wbg_adapter_32);
|
||||
imports.wbg.__wbindgen_closure_wrapper6031 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 5473, __wbg_adapter_32);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper11047 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 9777, __wbg_adapter_35);
|
||||
imports.wbg.__wbindgen_closure_wrapper6032 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 5473, __wbg_adapter_35);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper11048 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 9777, __wbg_adapter_32);
|
||||
imports.wbg.__wbindgen_closure_wrapper6033 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 5473, __wbg_adapter_38);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper11049 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 9777, __wbg_adapter_32);
|
||||
imports.wbg.__wbindgen_closure_wrapper6034 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 5473, __wbg_adapter_32);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper11050 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 9777, __wbg_adapter_32);
|
||||
imports.wbg.__wbindgen_closure_wrapper6035 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 5473, __wbg_adapter_32);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper11051 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 9777, __wbg_adapter_44);
|
||||
imports.wbg.__wbindgen_closure_wrapper6036 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 5473, __wbg_adapter_32);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper11053 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 9777, __wbg_adapter_32);
|
||||
imports.wbg.__wbindgen_closure_wrapper6037 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 5473, __wbg_adapter_32);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper42107 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 36555, __wbg_adapter_49);
|
||||
imports.wbg.__wbindgen_closure_wrapper41986 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 36440, __wbg_adapter_49);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper43423 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37188, __wbg_adapter_52);
|
||||
imports.wbg.__wbindgen_closure_wrapper43300 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37073, __wbg_adapter_52);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper43424 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37188, __wbg_adapter_52);
|
||||
imports.wbg.__wbindgen_closure_wrapper43301 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37073, __wbg_adapter_52);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper43425 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37188, __wbg_adapter_52);
|
||||
imports.wbg.__wbindgen_closure_wrapper43302 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37073, __wbg_adapter_57);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper43426 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37188, __wbg_adapter_52);
|
||||
imports.wbg.__wbindgen_closure_wrapper43303 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37073, __wbg_adapter_52);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper43427 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37188, __wbg_adapter_61);
|
||||
imports.wbg.__wbindgen_closure_wrapper43304 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37073, __wbg_adapter_52);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper43428 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37188, __wbg_adapter_52);
|
||||
imports.wbg.__wbindgen_closure_wrapper43305 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37073, __wbg_adapter_52);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper43429 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37188, __wbg_adapter_52);
|
||||
imports.wbg.__wbindgen_closure_wrapper43306 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37073, __wbg_adapter_52);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper45615 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37673, __wbg_adapter_68);
|
||||
imports.wbg.__wbindgen_closure_wrapper45492 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 37558, __wbg_adapter_68);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -5,12 +5,12 @@ export function main(): void;
|
|||
export function __wbindgen_malloc(a: number, b: number): number;
|
||||
export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number;
|
||||
export const __wbindgen_export_2: WebAssembly.Table;
|
||||
export function wasm_bindgen__convert__closures__invoke1_mut__h1174b3f5d0f364f0(a: number, b: number, c: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke0_mut__he7eec17026fa9bbe(a: number, b: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke2_mut__h87cce4bf568ddd8d(a: number, b: number, c: number, d: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke0_mut__h0ec95cd6d7bcd320(a: number, b: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke1_mut__h0f1d8e7262983e79(a: number, b: number, c: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke0_mut__h79d5b69c906304b3(a: number, b: number): void;
|
||||
export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4d122b4606e1c898(a: number, b: number, c: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke1_mut__h0cf0487b290ee515(a: number, b: number, c: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke2_mut__h1e72dedd4c45cc2a(a: number, b: number, c: number, d: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke0_mut__ha79470fcd860256d(a: number, b: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke0_mut__h1766ce1cfdba25b3(a: number, b: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke1_mut__h05c77783bcb49ea5(a: number, b: number, c: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke0_mut__h2bdf352ddaf30b28(a: number, b: number): void;
|
||||
export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h22a129863ce3f604(a: number, b: number, c: number): void;
|
||||
export function __wbindgen_free(a: number, b: number, c: number): void;
|
||||
export function __wbindgen_exn_store(a: number): void;
|
||||
|
|
|
|||
100
game/src/lib.rs
100
game/src/lib.rs
|
|
@ -13,9 +13,9 @@ use fyrox::{
|
|||
engine::GraphicsContext,
|
||||
event::{Event, WindowEvent},
|
||||
gui::{
|
||||
font::Font,
|
||||
brush::Brush,
|
||||
button::ButtonMessage,
|
||||
font::Font,
|
||||
grid::{Column, GridBuilder, Row},
|
||||
message::{MessageDirection, UiMessage},
|
||||
text::TextBuilder,
|
||||
|
|
@ -63,6 +63,9 @@ pub struct Game {
|
|||
scene: Handle<Scene>,
|
||||
|
||||
new_game: Handle<UiNode>,
|
||||
new_game_with_plot: Handle<UiNode>,
|
||||
next: Handle<UiNode>,
|
||||
new_game_after_plot: Handle<UiNode>,
|
||||
exit: Handle<UiNode>,
|
||||
level_node: Handle<UiNode>,
|
||||
level: u32,
|
||||
|
|
@ -74,7 +77,6 @@ pub struct Game {
|
|||
}
|
||||
|
||||
impl Game {
|
||||
|
||||
pub fn default() -> Self {
|
||||
return Game {
|
||||
level: START_LEVEL,
|
||||
|
|
@ -92,6 +94,18 @@ impl Game {
|
|||
.user_interface
|
||||
.find_by_name_from_root("NewGame")
|
||||
.unwrap();
|
||||
(game.new_game_with_plot, _) = ctx
|
||||
.user_interface
|
||||
.find_by_name_from_root("NewGameWithPlot")
|
||||
.unwrap();
|
||||
(game.next, _) = ctx
|
||||
.user_interface
|
||||
.find_by_name_from_root("NextPlotScreen")
|
||||
.unwrap();
|
||||
(game.new_game_after_plot, _) = ctx
|
||||
.user_interface
|
||||
.find_by_name_from_root("NewGamePlotScreen")
|
||||
.unwrap();
|
||||
(game.exit, _) = ctx.user_interface.find_by_name_from_root("Exit").unwrap();
|
||||
}
|
||||
Err(e) => Log::err(format!("Unable to load main menu! Reason: {:?}", e)),
|
||||
|
|
@ -104,6 +118,9 @@ impl Game {
|
|||
level_node: Handle::NONE,
|
||||
scene: Handle::NONE,
|
||||
new_game: Handle::NONE,
|
||||
new_game_with_plot: Handle::NONE,
|
||||
new_game_after_plot: Handle::NONE,
|
||||
next: Handle::NONE,
|
||||
exit: Handle::NONE,
|
||||
level: START_LEVEL,
|
||||
need_change_level: false,
|
||||
|
|
@ -116,7 +133,7 @@ impl Game {
|
|||
|
||||
pub fn next_level(&mut self, change_level_time: f32) {
|
||||
self.need_change_level = true;
|
||||
self.change_level_time= change_level_time;
|
||||
self.change_level_time = change_level_time;
|
||||
}
|
||||
|
||||
pub fn show_menu(&mut self, show_menu_time: f32) {
|
||||
|
|
@ -130,8 +147,10 @@ impl Game {
|
|||
}
|
||||
|
||||
impl Plugin for Game {
|
||||
|
||||
fn register(&self, #[allow(unused_variables)] context: fyrox::plugin::PluginRegistrationContext) {
|
||||
fn register(
|
||||
&self,
|
||||
#[allow(unused_variables)] context: fyrox::plugin::PluginRegistrationContext,
|
||||
) {
|
||||
let script_constructors = &context.serialization_context.script_constructors;
|
||||
script_constructors.add::<Swordman>("Enemy");
|
||||
script_constructors.add::<Player>("Player");
|
||||
|
|
@ -147,16 +166,16 @@ impl Plugin for Game {
|
|||
}
|
||||
|
||||
fn update(&mut self, context: &mut PluginContext) {
|
||||
if self.need_change_level && self.change_level_time < context.elapsed_time {
|
||||
if self.need_change_level && self.change_level_time < context.elapsed_time {
|
||||
self.need_change_level = false;
|
||||
self.level += 1;
|
||||
context.async_scene_loader.request("data/scene.rgs");
|
||||
}
|
||||
|
||||
|
||||
//println!("{} {} ", context.elapsed_time, self.show_menu_time);
|
||||
if self.need_show_menu && self.show_menu_time < context.elapsed_time {
|
||||
self.need_show_menu = false;
|
||||
self.show_menu_time = 0.0;
|
||||
self.show_menu_time = 0.0;
|
||||
context
|
||||
.user_interface
|
||||
.send_message(WidgetMessage::visibility(
|
||||
|
|
@ -170,14 +189,14 @@ impl Plugin for Game {
|
|||
|
||||
if self.need_show_end {
|
||||
context
|
||||
.user_interface
|
||||
.send_message(WidgetMessage::visibility(
|
||||
context
|
||||
.user_interface
|
||||
.find_handle_by_name_from_root("EndScreen"),
|
||||
MessageDirection::ToWidget,
|
||||
true,
|
||||
));
|
||||
.user_interface
|
||||
.send_message(WidgetMessage::visibility(
|
||||
context
|
||||
.user_interface
|
||||
.find_handle_by_name_from_root("EndScreen"),
|
||||
MessageDirection::ToWidget,
|
||||
true,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -228,7 +247,13 @@ impl Plugin for Game {
|
|||
|
||||
fn on_ui_message(&mut self, ctx: &mut PluginContext, message: &UiMessage) {
|
||||
if let Some(ButtonMessage::Click) = message.data() {
|
||||
if message.destination() == self.new_game {
|
||||
if message.destination() == self.new_game || message.destination() == self.new_game_after_plot {
|
||||
ctx.user_interface.send_message(WidgetMessage::visibility(
|
||||
ctx.user_interface
|
||||
.find_handle_by_name_from_root("Start2Screen"),
|
||||
MessageDirection::ToWidget,
|
||||
false,
|
||||
));
|
||||
ctx.user_interface.send_message(WidgetMessage::visibility(
|
||||
ctx.user_interface
|
||||
.find_handle_by_name_from_root("MenuScreen"),
|
||||
|
|
@ -236,6 +261,32 @@ impl Plugin for Game {
|
|||
false,
|
||||
));
|
||||
ctx.async_scene_loader.request("data/scene.rgs");
|
||||
} else if message.destination() == self.new_game_with_plot {
|
||||
ctx.user_interface.send_message(WidgetMessage::visibility(
|
||||
ctx.user_interface
|
||||
.find_handle_by_name_from_root("MenuScreen"),
|
||||
MessageDirection::ToWidget,
|
||||
false,
|
||||
));
|
||||
ctx.user_interface.send_message(WidgetMessage::visibility(
|
||||
ctx.user_interface
|
||||
.find_handle_by_name_from_root("StartScreen"),
|
||||
MessageDirection::ToWidget,
|
||||
true,
|
||||
));
|
||||
} else if message.destination() == self.next {
|
||||
ctx.user_interface.send_message(WidgetMessage::visibility(
|
||||
ctx.user_interface
|
||||
.find_handle_by_name_from_root("StartScreen"),
|
||||
MessageDirection::ToWidget,
|
||||
false,
|
||||
));
|
||||
ctx.user_interface.send_message(WidgetMessage::visibility(
|
||||
ctx.user_interface
|
||||
.find_handle_by_name_from_root("Start2Screen"),
|
||||
MessageDirection::ToWidget,
|
||||
true,
|
||||
));
|
||||
} else if message.destination() == self.exit {
|
||||
if let Some(window_target) = ctx.window_target {
|
||||
window_target.exit();
|
||||
|
|
@ -285,17 +336,22 @@ impl Plugin for Game {
|
|||
ArcherSpawn::new().spawn_enemy(graph, resource_manager, -25.0);
|
||||
}
|
||||
let ui_ctx = &mut context.user_interface.build_ctx();
|
||||
let font_to_level = resource_manager.request::<Font>("data/cd2f1-36d91_sunday.ttf".to_owned());
|
||||
let font_to_level =
|
||||
resource_manager.request::<Font>("data/cd2f1-36d91_sunday.ttf".to_owned());
|
||||
self.level_node = GridBuilder::new(
|
||||
WidgetBuilder::new().with_child(
|
||||
TextBuilder::new(WidgetBuilder::new().with_foreground(Brush::Solid(Color::opaque(192, 34, 9))))
|
||||
WidgetBuilder::new()
|
||||
.with_child(
|
||||
TextBuilder::new(
|
||||
WidgetBuilder::new()
|
||||
.with_foreground(Brush::Solid(Color::opaque(192, 34, 9))),
|
||||
)
|
||||
.with_text(format!("Уровень: {}", self.level))
|
||||
.with_font_size(20.0)
|
||||
.with_font(font_to_level)
|
||||
.with_shadow_brush(Brush::Solid(Color::RED))
|
||||
.build(ui_ctx),
|
||||
)
|
||||
.with_margin(Thickness::top_left(10.0))
|
||||
)
|
||||
.with_margin(Thickness::top_left(10.0)),
|
||||
)
|
||||
.add_row(Row::stretch())
|
||||
.add_column(Column::auto())
|
||||
|
|
|
|||
1820
settings.ron
1820
settings.ron
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue