diff options
Diffstat (limited to 'scripts/m6c-run.sh')
| -rwxr-xr-x | scripts/m6c-run.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/m6c-run.sh b/scripts/m6c-run.sh new file mode 100755 index 0000000..5b73c6f --- /dev/null +++ b/scripts/m6c-run.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +APP_DIR="$SCRIPT_DIR/app" + +if [[ ! -d "$APP_DIR" ]]; then + printf 'M6c package app directory not found: %s\n' "$APP_DIR" >&2 + exit 2 +fi + +if [[ -z "${LV_SAVE_PATH:-}" ]]; then + export LV_SAVE_PATH="$SCRIPT_DIR/living-village.save" +elif [[ "$LV_SAVE_PATH" != /* ]]; then + export LV_SAVE_PATH="$SCRIPT_DIR/$LV_SAVE_PATH" +fi + +cd "$SCRIPT_DIR" + +if [[ -x "$APP_DIR/LivingVillage.Desktop" ]]; then + exec "$APP_DIR/LivingVillage.Desktop" "$@" +fi + +if [[ -f "$APP_DIR/LivingVillage.Desktop.dll" ]] && command -v dotnet >/dev/null 2>&1; then + exec dotnet "$APP_DIR/LivingVillage.Desktop.dll" "$@" +fi + +printf 'Living Village executable not found or framework-dependent dotnet is unavailable.\n' >&2 +exit 127 |
