67 lines
1.6 KiB
C#
67 lines
1.6 KiB
C#
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using System.Linq;
|
||
|
using B83.Win32;
|
||
|
|
||
|
public class FileDragAndDrop : MonoBehaviour
|
||
|
{
|
||
|
[SerializeField] private BackgroundImageHandler BIH;
|
||
|
[SerializeField] private DownloadFileChecker DFC;
|
||
|
|
||
|
void OnEnable () {
|
||
|
UnityDragAndDropHook.InstallHook();
|
||
|
UnityDragAndDropHook.OnDroppedFiles += OnFiles;
|
||
|
}
|
||
|
|
||
|
void OnDisable() {
|
||
|
UnityDragAndDropHook.UninstallHook();
|
||
|
}
|
||
|
|
||
|
void OnFiles(List<string> aFiles, POINT aPos) {
|
||
|
string FullPath = aFiles.Aggregate((a, b) => a + "\n\t" + b);
|
||
|
Debug.Log(FullPath);
|
||
|
string[] TempFullPath = FullPath.Split ("\\");
|
||
|
string TempFileName = TempFullPath[^1].Trim();
|
||
|
|
||
|
if (TempFileName.Contains(".sing")) {
|
||
|
// Import said mod. basically just move file, and use the "AddMod" function
|
||
|
} else if (ImageCheck(TempFileName)) {
|
||
|
BIH.ImportImageDragNDrop(FullPath);
|
||
|
} else if (ArchiveCheck(TempFileName)) {
|
||
|
DFC.GetFileInfo(FullPath);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private bool ImageCheck(string A) {
|
||
|
string B = A.ToLower();
|
||
|
if (B.Contains(".jpeg")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".jpg")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".png")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".bmp")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".tiff")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".TGA")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".psd")) {
|
||
|
return true;
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
private bool ArchiveCheck(string A) {
|
||
|
string B = A.ToLower();
|
||
|
if (B.Contains(".zip")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".rar")) {
|
||
|
return true;
|
||
|
} else if (B.Contains(".7z")) {
|
||
|
return true;
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
}
|