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!!!"); } }
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>(); } }
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"); } } }
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(); } } }
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!!!"); } }
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)); } }
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); }
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); } } }); }