summaryrefslogtreecommitdiff
path: root/scripts/m6c-run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/m6c-run.sh')
-rwxr-xr-xscripts/m6c-run.sh29
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