From 441b59d262efaabc4739434ff08409ba18ae80e9 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 15 Jul 2020 15:25:55 +0200 Subject: [PATCH] try taxifahrer & add new Inputdesign(noch nicht ready) --- .../assets/css/inputhelper/style.css | 164 +++++++++++++----- .../assets/html/inputhelper/index.html | 36 ++-- .../assets/js/inputhelper/application.js | 73 ++++++++ ReallifeGamemode.Client/inputhelper/index.ts | 7 +- .../Managers/JobManager.cs | 2 + 5 files changed, 229 insertions(+), 53 deletions(-) create mode 100644 ReallifeGamemode.Client/assets/js/inputhelper/application.js diff --git a/ReallifeGamemode.Client/assets/css/inputhelper/style.css b/ReallifeGamemode.Client/assets/css/inputhelper/style.css index ee42a4fc..9076f439 100644 --- a/ReallifeGamemode.Client/assets/css/inputhelper/style.css +++ b/ReallifeGamemode.Client/assets/css/inputhelper/style.css @@ -1,49 +1,131 @@ -* { - box-sizing: border-box; - margin: 0; - padding: 0; +html { + -webkit-box-sizing: border-box; + box-sizing: border-box; } -#black { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - width: 100%; - height: 100%; - z-index: -1; - background-color: rgba(0, 0, 0, .3); +*, *::before, *::after { + -webkit-box-sizing: inherit; + box-sizing: inherit; } -.input-main { - display: block; - width: 70%; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - - background-color: rgba(0, 0, 0, .8); - padding: 10px; +body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + height: 100vh; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + margin: 0 auto; + padding: 1em .5em; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + font-weight: 400; + color: #FFF; + } -.input-main h1 { - color: white; - font-size: 24px; - font-family: "Arial"; - font-weight: lighter; - margin-bottom: 5px; +main { + height: auto; + position: relative; + min-width: 50ch; + max-width: 35vw; + padding: 1em; + border-radius: .25em; + font-size: 1em; + line-height: 1.25; + background-color: rgba(0, 0, 0, 0.5); + } -.input-main input { - width: 100%; - background-color: black; - outline: 0; - border: grey 1px solid; - color: white; - padding: 5px; - font-size: 20px; - font-family: "Arial"; - font-weight: lighter; -} + main a#close { + position: absolute; + right: 1em; + top: 1em; + height: 1em; + width: 1em; + opacity: 0.25; + + } + + main a#close:hover { + opacity: 1; + } + + main a#close:before, main a#close:after { + content: ' '; + position: absolute; + left: .5em; + height: 1em; + width: 2px; + background-color: #FFF; + border-radius: 1px; + } + + main a#close:before { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + } + + main a#close:after { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + } + + main h1, main p { + margin: 0; + } + + main h1 { + font-size: 1.5em; + line-height: 1; + margin-bottom: .125em; + padding-right: 1em; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + + main p { + margin-bottom: 1em; + line-height: 1.125; + } + + main .form { + margin-top: .25em; + } + + main .form input { + width: 100%; + padding: .5em; + font-family: "Roboto Mono"; + font-weight: 500; + font-size: 1em; + border: none; + border-radius: 5px; + background-color: rgba(0, 0, 0, 0.125); + color: inherit; + } + + main .form input:focus { + outline-width: 0; + } + + + + + + + + + + + + + diff --git a/ReallifeGamemode.Client/assets/html/inputhelper/index.html b/ReallifeGamemode.Client/assets/html/inputhelper/index.html index 3c517211..f3247c4b 100644 --- a/ReallifeGamemode.Client/assets/html/inputhelper/index.html +++ b/ReallifeGamemode.Client/assets/html/inputhelper/index.html @@ -1,16 +1,30 @@ - + + + + Eingabe | Life of German + + + + + -
-
-

- -
- - + + + + \ No newline at end of file diff --git a/ReallifeGamemode.Client/assets/js/inputhelper/application.js b/ReallifeGamemode.Client/assets/js/inputhelper/application.js new file mode 100644 index 00000000..de9f956b --- /dev/null +++ b/ReallifeGamemode.Client/assets/js/inputhelper/application.js @@ -0,0 +1,73 @@ +let content = document.getElementById('content'); + +let heading = document.getElementById('heading'); +let description = document.getElementById('description'); + +let input = document.getElementById('input'); +let close = document.getElementById('close'); + +function setInputFieldType(value) { + if (input.type == value) return; + + var field = document.createElement('input'); + field.type = value; + field.id = input.id; + field.name = input.name; + input.parentNode.replaceChild(field, input); + + input = field; + input.focus(); + + return field; +} + +function setText(heading, description) { + setHeading(heading); + setDescription(description); +} + +function setHeading(value) { + heading.innerText = value; +} + +function setDescription(value) { + if (value.length <= 5) { + description.remove(); + return false; + } + + description.innerText = value; +} + +function removeDescription() { + document.removeChild(description); +} + +function getInput() { + return input.value.length != 0 ? input.value : null; +} + +function closeWindow() { + // TODO: Fenster schließen + console.log('Fenster geschlossen!'); +} + +setInputFieldType('text'); +setText("Überschrift", "Lorem ipsum dolor sit amet consectetur adipisicing elit. Maiores laboriosam atque ut voluptates molestiae ab autem? Est consectetur voluptatem quia, commodi sint a omnis consequuntur. Tempora dolores ullam natus in?"); + +/* Enter wird im Input-Feld gedrückt */ +input.onkeyup = e => { + let code = e.keyCode ? e.keyCode : e.which; + if (code === 13) { + // TODO: Wert entgegennehmen + closeWindow(); + } +} + +/* ESC wird gedrückt */ +document.onkeyup = e => { + let code = e.keyCode ? e.keyCode : e.which; + if (code === 27) { closeWindow(); } +} + +close.onclick = e => { closeWindow(); } diff --git a/ReallifeGamemode.Client/inputhelper/index.ts b/ReallifeGamemode.Client/inputhelper/index.ts index b8dcb6b2..8ef6d4b0 100644 --- a/ReallifeGamemode.Client/inputhelper/index.ts +++ b/ReallifeGamemode.Client/inputhelper/index.ts @@ -23,13 +23,16 @@ export default class InputHelper { this.getValue = this.getValue.bind(this); this.value = undefined; + const disableInput = [157, 158, 159, 32, 33, 34, 35]; - mp.events.add('render', this.disableControls); + mp.events.add("render", () => { + mp.game.controls.disableAllControlActions(0); + }); } private disableControls() { for (var x = 0; x < 358; x++) { - mp.game.controls.disableControlAction(32, x, true); + mp.game.controls.disableControlAction(1, x, true); } } diff --git a/ReallifeGamemode.Server/Managers/JobManager.cs b/ReallifeGamemode.Server/Managers/JobManager.cs index 9db24431..cd207f9e 100644 --- a/ReallifeGamemode.Server/Managers/JobManager.cs +++ b/ReallifeGamemode.Server/Managers/JobManager.cs @@ -573,6 +573,8 @@ namespace ReallifeGamemode.Server.Managers driver.ResetData("Passager"); driver.ResetData("hasPassager"); driver.SetData("FareKm", 0); + driver.TriggerEvent("CLIENT:canelFare"); + driver.TriggerEvent("CLIENT:StartFare"); foreach (Player occupant in veh.Occupants) {