-
Notifications
You must be signed in to change notification settings - Fork 90
Handle Battle, Lobby, Party, and Matchmaking status reconnections #711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 27 commits
bd18fab
713e673
9718d08
8833b28
125bcc4
48209e7
dfd85d2
f6f206d
bb1b838
103833d
7e30a44
2298db9
b7df4fe
3249891
bf7caab
22f869f
e251920
828b6ce
5d9e156
aac9dad
1a43acf
2d261f2
a9302a6
c5cc107
81de6ae
3bf4b94
bdceffa
a233f52
2370875
d149931
1ed7289
f0dce7f
0a1d607
1ac480e
3733af3
3f08558
0dfa43f
2f3fc49
ee46603
da45da2
a84cad0
9316e82
c55c6ec
b03664c
ddf6cbf
1e399cd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Hectate You created that video yourself from scratch?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I created it, but not fully from scratch. I just double checked and Apache 2.0 might be the correct license. Environment map for reflection is CC0 from https://openhdri.org/ so that is set. For the model, I extruded from the “sword-cross” icon from the MDI set (thus Apache 2.0) and animated and rendered it myself. I don’t believe the file will survive long-term because we don’t know that it will match the final UI, but I do want it to be correct. A read of Apache 2.0 seems to indicate this is a “Derivative Work”.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, so I did my Apache 2.0 research, and as I understand it so far the CC0 for the video file is suitable. Since I am not redistributing the icon file itself, it is not considered a Derivative Work. This is the same as if I had used an Apache 2.0-licensed font for a video or image. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| SPDX-FileCopyrightText: 2026 The BAR Lobby Authors | ||
|
|
||
| SPDX-License-Identifier: CC0-1.0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| <!-- | ||
| SPDX-FileCopyrightText: 2026 The BAR Lobby Authors | ||
|
|
||
| SPDX-License-Identifier: MIT | ||
| --> | ||
|
|
||
| <template> | ||
| <Modal v-model="isOpen" :title="t('lobby.components.battle.rejoinBattleModal.title')"> | ||
| <div class="container"> | ||
| <p>{{ t("lobby.components.battle.rejoinBattleModal.description1") }}</p> | ||
| <p>{{ t("lobby.components.battle.rejoinBattleModal.description2") }}</p> | ||
| <div class="flex-row flex-center padding-top-lg gap-xl"> | ||
| <Button class="green fullwidth" @click="onConfirm">{{ | ||
| t("lobby.components.battle.rejoinBattleModal.rejoinButton") | ||
| }}</Button> | ||
| <Button class="red fullwidth" @click="onCancel">{{ t("lobby.components.battle.rejoinBattleModal.ignoreButton") }}</Button> | ||
| </div> | ||
| </div> | ||
| </Modal> | ||
| </template> | ||
|
|
||
| <script lang="ts" setup> | ||
| import { computed } from "vue"; | ||
| import Modal from "@renderer/components/common/Modal.vue"; | ||
| import Button from "@renderer/components/controls/Button.vue"; | ||
| import { tachyon, tachyonStore } from "@renderer/store/tachyon.store"; | ||
| import { useTypedI18n } from "@renderer/i18n"; | ||
|
|
||
| const { t } = useTypedI18n(); | ||
|
|
||
| const props = withDefaults( | ||
| defineProps<{ | ||
| modelValue?: boolean; | ||
| }>(), | ||
| { modelValue: false } | ||
| ); | ||
|
|
||
| const emit = defineEmits<{ (e: "update:modelValue", v: boolean): void }>(); | ||
| const isOpen = computed({ | ||
| get: () => props.modelValue, | ||
| set: (v: boolean) => emit("update:modelValue", v), | ||
| }); | ||
|
|
||
| function onConfirm() { | ||
|
Hectate marked this conversation as resolved.
|
||
| console.log("Rejoining battle..."); | ||
| if (tachyonStore.springConnectionDetails) { | ||
| tachyon.launchMultiplayerBattle(tachyonStore.springConnectionDetails); | ||
| } | ||
| isOpen.value = false; | ||
| } | ||
| function onCancel() { | ||
| console.log("Ignoring rejoin battle prompt."); | ||
| isOpen.value = false; | ||
| } | ||
| </script> | ||
|
|
||
| <style lang="scss" scoped></style> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| <!-- | ||
| SPDX-FileCopyrightText: 2026 The BAR Lobby Authors | ||
|
|
||
| SPDX-License-Identifier: MIT | ||
| --> | ||
|
|
||
| <template> | ||
| <video :src="video" autoplay muted loop></video> | ||
| </template> | ||
|
|
||
| <script lang="ts" setup> | ||
| import { miscVideos } from "@renderer/assets/assetFiles"; | ||
|
|
||
| const video = miscVideos["./videos/misc/active_battle.mkv"]; | ||
| </script> | ||
|
|
||
| <style lang="scss" scoped> | ||
| video { | ||
| max-width: 100%; | ||
| max-height: 200px; | ||
| height: auto; | ||
| object-fit: fill; | ||
| } | ||
| </style> |
Uh oh!
There was an error while loading. Please reload this page.