using Google.Apis.Drive.v3.Data; namespace TriflesGames.SDKManagement.Editor.SDKFiles { public static class SDKFileFactory { public static SDKFile Create(File driveFile, SDKInfo info) { var id = driveFile.Id; var name = driveFile.Name; var driveVersion = driveFile.Version ?? default; var localVersion = info.DownloadedSDKs.Find(s => s.Id == driveFile.Id)?.Version ?? default; var fileName = driveFile.Name.ToLower().Replace(".unitypackage", ""); switch (fileName) { case "elephant": return new ElephantSDKFile(id, name, driveVersion, localVersion); case "gameanalytics": return new GameAnalyticsSDKFile(id, name, driveVersion, localVersion); } return new SDKFile(id, name, driveVersion, localVersion); } } }