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 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; } }