Пример #1
0
 public void PreLoaderLua()
 {
     if (LuaCallCSharpMacro.UNITY_EDITOR() == false)//只要不是deitor环境,都需要解压luadata
     {
         //先检查是否有下载的unpack lua,优先找下载的unpackdata
         string unPackluaDataFilePath = Path.Combine(PathManager.GetRootDataPath, PathManager.download_unpackLuaName);
         if (FileManager.FileExist(unPackluaDataFilePath))
         {
             YQPackageManagerEX.Instance.LoadLuaData(unPackluaDataFilePath);
         }
         else
         {
             string path = Path.Combine(PathManager.unpackPath, PathManager.unpackLuaName);
             YQPackageManagerEX.Instance.LoadLuaDataFromResource(FileManager.RemoveFileExtension(path));
         }
     }
     if (luaEnv != null)
     {
         luaEnv.AddLoader(PreLoaderLua);
         LoadScript(preLoadMainLua);
     }
     else
     {
         UnityEngine.Debug.LogError("PreLoaderLua null!!!");
     }
 }
Пример #2
0
 void InitGameObject()
 {
     gameObject.AddComponent <AppInit>();
     gameObject.AddComponent <MessageCenter>();
     gameObject.AddComponent <XLuaManager>();
     gameObject.AddComponent <UnityHelpCenter>();
     gameObject.AddComponent <NativeCenter>();
     gameObject.AddComponent <togetherzy.AssetBundle.SoundManager>();
     if (LuaCallCSharpMacro.IS_NEED_LOSD_USER_INFO() == false)
     {
         gameObject.AddComponent <FPSInfo>();
     }
 }
Пример #3
0
 public void GetInitInfo()
 {
     if (LuaCallCSharpMacro.IS_NEED_LOSD_USER_INFO())
     {
         if (LuaCallCSharpMacro.UNITY_IOS())
         {
             NativeCenter.InvokeIosNativeMethod("getInitInfo");
         }
         else if (LuaCallCSharpMacro.UNITY_ANDROID())
         {
             NativeCenter.InvokeAndroidNativeMethod("getInitInfo");
         }
     }
 }
Пример #4
0
 private void Start()
 {
     if (LuaCallCSharpMacro.IS_NEED_LOSD_USER_INFO() == false)                                   //不走userinfo
     {
         if (LuaCallCSharpMacro.RUN_IN_DOWNLOAD_RES() || LuaCallCSharpMacro.DOWNLOAD_TEMP_RES()) //去下载资源
         {
             XLuaManager.Instance.StartShowLoginView();
         }
         else
         {
             StartGame();
         }
     }
 }
Пример #5
0
    public void LoadCustomLua()
    {
        HasGameStart = false;

        if (LuaCallCSharpMacro.RUN_IN_DOWNLOAD_RES() == false && LuaCallCSharpMacro.DOWNLOAD_TEMP_RES() == false)//不走下载
        {
            YQPackageManagerEX.Instance.LoadLuaDataFromResource(FileManager.RemoveFileExtension(PathManager.needPackLuaName));
        }

        if (luaEnv != null)
        {
            luaEnv.AddLoader(CustomLoader);
        }
        else
        {
            UnityEngine.Debug.LogError("LoadCustomLua null!!!");
        }
    }
Пример #6
0
 public static byte[] PreLoaderLua(ref string filepath)
 {
     if (LuaCallCSharpMacro.UNITY_EDITOR())//只有开发环境才走本地
     {
         string scriptPath = string.Empty;
         filepath = filepath.Replace(".", "/") + ".lua";
         string path = Application.dataPath + "/Resources/" + PathManager.common_lua_scripts_Path;
         scriptPath = Path.Combine(path, filepath);
         FileCatchData data = FileManager.ReadAllBytes(scriptPath);
         if (data == null || data.state == false)
         {
             path       = Application.dataPath + "/Resources/" + PathManager.app_lua_scripts_Path;
             scriptPath = Path.Combine(path, filepath);
             data       = FileManager.ReadAllBytes(scriptPath);
         }
         return((byte[])data.data);
     }
     else
     {
         return(YQPackageManagerEX.Instance.GetLuaDataByName(filepath));
     }
 }
Пример #7
0
    private const int STREAM_MUSIC = 3;                             // 媒体音量 --unity 用到的


    public static float GetAndroidAudioInfo()
    {
        if (LuaCallCSharpMacro.UNITY_ANDROID())
        {
            if (JavaObject == null)
            {
                AndroidJavaClass javaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
                JavaObject = javaClass.GetStatic <AndroidJavaObject>("currentActivity");
            }
            if (audioManager == null && JavaObject != null)
            {
                audioManager = JavaObject.Call <AndroidJavaObject>("getSystemService", new AndroidJavaObject("java.lang.String", "audio"));
            }

            if (audioManager != null)
            {
                int musicl_value     = audioManager.Call <int>(currentVolume, STREAM_MUSIC);
                int max_musicl_value = audioManager.Call <int>(maxVolume, STREAM_MUSIC);
                return(100 * (float)musicl_value / (float)max_musicl_value);
            }
        }
        return(0);
    }
Пример #8
0
 public static void InvokeAndroidNativeMethod(string methodName, string param)
 {
     AsyncTask.runInUIThread(() =>
     {
         if (LuaCallCSharpMacro.UNITY_ANDROID())
         {
             if (JavaObject == null)
             {
                 AndroidJavaClass javaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
                 JavaObject = javaClass.GetStatic <AndroidJavaObject>("currentActivity");
             }
             if (string.IsNullOrEmpty(param))
             {
                 JavaObject.Call("invokeAndroidMethod", methodName);
             }
             else
             {
                 Debug.Log("xxx InvokeAndroidNativeMethod  param=" + param);
                 JavaObject.Call("invokeAndroidMethod", methodName, param);
             }
         }
     });
 }