#!/bin/bash

# Validate the arguments.
[ $# -le 2 ] || exit 2

T=$(mktemp -d)
on_exit() {
	rm -rf $T
}
trap -- on_exit EXIT

# Configure the environment variables.
pushd $(dirname $0)
D=$(pwd)
popd
TARGET_DIRECTORY="$D/../external/UnityApp1/Assets/Plugins/iOS"
[ -d "$TARGET_DIRECTORY" ] || mkdir -p "$TARGET_DIRECTORY"
SOURCE_FILE_PATH="$1"
SOURCE_FILE_NAME="$(basename $1)"

# Determine what to do.
if [ $# -eq 1 ]; then
	# Copy the .NET DLL and MDB files to the Unity project's Plugins directory.
	cp "$SOURCE_FILE_PATH" "$TARGET_DIRECTORY/$SOURCE_FILE_NAME"
	cp "$SOURCE_FILE_PATH.mdb" "$TARGET_DIRECTORY/$SOURCE_FILE_NAME.mdb"
elif [ "$2" = "iOS" ]; then
	# Create the iOS-specific library file in the Plugins/iOS directory.
	rm -f "$TARGET_DIRECTORY/$SOURCE_FILE_NAME"
	cp \
		"$SOURCE_FILE_PATH" \
		"$D/external/core/$CONFIGURATION-iphoneos/libcore.a" \
		"$D/external/chat/$CONFIGURATION-iphoneos/libchat.a" \
		"$D/external/broadcast/$CONFIGURATION-iphoneos/libbroadcast.a" \
		"$D/external/$CONFIGURATION-iphoneos/libtwitchsdk.a" \
		$T || exit 1
	pushd $T
	"$D/combine-static-libraries" "$TARGET_DIRECTORY/$SOURCE_FILE_NAME" || exit 1
	popd

	# Fake the outputs of the other platforms.
	ANDROID_DIRECTORY="$TARGET_DIRECTORY/../Android"
	[ -d "$ANDROID_DIRECTORY" ] || mkdir -p "$ANDROID_DIRECTORY"
	touch "$ANDROID_DIRECTORY/TwigWebview.jar"
	touch "$ANDROID_DIRECTORY/Unity.dll"
	X64_DIRECTORY="$TARGET_DIRECTORY/../x86_64"
	[ -d "$X64_DIRECTORY" ] || mkdir -p "$X64_DIRECTORY"
	touch "$X64_DIRECTORY/Unity.dll"
	touch "$X64_DIRECTORY/UnityWin32.dll"
else
	echo "unknown target"
	exit 1
fi
