Singularity/Assets/Scripts/FileDragAndDrop.cs

67 lines
1.6 KiB
C#
Raw Normal View History

2024-05-06 14:45:45 -04:00
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;
}
}