void Update() { // Lua側にイベント名を渡して、処理する関数を呼び出す ArrayList list = new ArrayList(); list.Add(Time.deltaTime); LuaManager.FunctionData data = new LuaManager.FunctionData(); data.returnValueNum = 0; data.functionName = "UpdateFromUnity"; data.argList = list; ArrayList returnList = LuaManager.Instance.Call(UnityUtility.Instance.scriptName, data); }
// ※本来は、これ、アセットバンドル化した物を読み込んでやることだからね! private IEnumerator ResourceLoad(LoaderData loaderData) { #if UNITY_IPHONE //string path = Application.streamingAssetsPath + "/" + "Utility.lua"; string path = loaderData.LoadPath; StreamReader sr = new StreamReader(path, System.Text.Encoding.GetEncoding("utf-8")); // 内容をすべて読み込む string text = sr.ReadToEnd(); // 閉じる sr.Close(); string toPath = loaderData.SavePath; File.WriteAllText(toPath, text, System.Text.Encoding.GetEncoding("utf-8")); yield return(null); #else //string path = Application.streamingAssetsPath + "/" + "Utility.lua"; string path = loaderData.LoadPath; Debug.Log("-----Resources load-----"); WWW www = new WWW(path); while (!www.isDone) { yield return(null); } //string toPath = Application.persistentDataPath + "/LuaUtility.lua"; string toPath = loaderData.SavePath; File.WriteAllBytes(toPath, www.bytes); #endif LoadDataStackList.RemoveAt(0); IsLoading = false; loaderData.CallbackName = loaderData.CallbackName; loaderData.CallbackFunction = loaderData.CallbackFunction; if (loaderData.CallbackName != "") { string functionName = loaderData.CallbackName; LuaManager.FunctionData data = new LuaManager.FunctionData(); data.returnValueNum = 0; data.functionName = functionName; ArrayList list = new ArrayList(); data.argList = list; ArrayList returnList = LuaManager.Instance.Call(UnityUtility.Instance.scriptName, data); } if (loaderData.CallbackFunction != null) { loaderData.CallbackFunction(); } }
void testLuaManager() { TextAsset file = Resources.Load <TextAsset>("function_lua"); LuaManager.FunctionData data = new LuaManager.FunctionData(); data.returnValueNum = 4; data.functionName = "calc"; ArrayList list = new ArrayList(); list.Add(50.0f); list.Add(150.0f); data.argList = list; ArrayList returnList = gLuaManager.Call(file, data); }
public void OnClickButton() { string hierarchyName = gameObject.name; // Lua側にイベント名を渡して、処理する関数を呼び出す LuaManager.FunctionData data = new LuaManager.FunctionData(); data.returnValueNum = 0; data.functionName = "EventClickButtonFromUnity"; ArrayList list = new ArrayList(); list.Add(hierarchyName); data.argList = list; ArrayList returnList = LuaManager.Instance.Call(UnityUtility.Instance.scriptName, data); }
void OnMouseUp() { //取得したscreenPointの値を変数に格納 float x = Input.mousePosition.x; float y = Input.mousePosition.y; // Lua側にイベント名を渡して、処理する関数を呼び出す ArrayList list = new ArrayList(); LuaManager.FunctionData data = new LuaManager.FunctionData(); data.returnValueNum = 0; data.functionName = "OnMouseUpFromUnity"; list.Add(x); list.Add(y); data.argList = list; ArrayList returnList = LuaManager.Instance.Call(UnityUtility.Instance.scriptName, data); }
// Update is called once per frame void Update() { // 通常攻撃 if (Input.GetMouseButtonDown(0)) { LuaManager.FunctionData data = new LuaManager.FunctionData(); data.returnValueNum = 1; data.functionName = "CalcNormalAttackDamage"; ArrayList list = new ArrayList(); // int値うまくつかえないから、とりあえずFloatで代用 list.Add(100f); list.Add(10f); list.Add(1f); list.Add(100f); list.Add(10f); list.Add(1f); data.argList = list; ArrayList returnList = LuaManager.Instance.Call("LuaCheckConditions", data); double damage = (double)(returnList[0]); } // スペシャル攻撃 if (Input.GetMouseButtonDown(1)) { LuaManager.FunctionData data = new LuaManager.FunctionData(); data.returnValueNum = 2; data.functionName = "CalcSpecialAttackDamage"; ArrayList list = new ArrayList(); list.Add(100f); list.Add(10f); list.Add(1f); list.Add(100f); list.Add(10f); list.Add(1f); data.argList = list; ArrayList returnList = LuaManager.Instance.Call("LuaCheckConditions", data); double damage = (double)(returnList[0]); double mydamage = (double)(returnList[1]); } }