﻿using System.IO;
using JLGames.RocketDriver.CSharp.Utils;
using JLGames.RocketDriver.Actions.Utils;
using UnityEngine;

namespace JLGames.RocketDriver.Actions.Loaderx
{
    public static class LoaderDefine
    {
#if UNITY_EDITOR_OSX
        public static readonly string AssetBundleCachePath = 
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.dataPath, "../Caches/Bundles"));
        
        public static readonly string PlatformName = "OSX";
            
#elif UNITY_EDITOR_WIN
        public static readonly string AssetBundleCachePath =
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.dataPath, "../Caches/Bundles"));

        public static readonly string PlatformName = "Win64";

#elif UNITY_STANDALONE_OSX
        public static readonly string AssetBundleCachePath = 
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.dataPath, "../Caches/Bundles"));
        
        public static readonly string PlatformName = "OSX";
        
#elif UNITY_STANDALONE_WIN
        public static readonly string AssetBundleCachePath = 
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.dataPath, "../Caches/Bundles"));
        
        public static readonly string PlatformName = "Win64";
        
#elif UNITY_ANDROID
        public static readonly string AssetBundleCachePath =
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.persistentDataPath, "Caches/Bundles"));
        
        public static readonly string PlatformName = "Android";
        
#elif UNITY_IOS
        public static readonly string AssetBundleCachePath = 
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.persistentDataPath, "Caches/Bundles"));
        
        public static readonly string PlatformName = "iOS";

#elif UNITY_WEBGL
        public static readonly string AssetBundleCachePath = 
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.dataPath, "Caches/Bundles"));
        
        public static readonly string PlatformName = "Webgl";

#else
        public static readonly string AssetBundleCachePath = 
            Path.GetFullPath(UnityPathUtil.CombineUnityPath(Application.dataPath, "Caches/Bundles"));
        
        public static readonly string PlatformName = "Other";
#endif
    }
}