Ejemplo n.º 1
0
    static string BeforeBuild()
    {
        GameConstConfig config = new GameConstConfig();

        config.DevelopMode = false;
        GameConstJsonGenerator.GenerateByGameConsConfig(config);

        LuaBinding.Binding();

        string exportPath = "";

        foreach (var arg in System.Environment.GetCommandLineArgs())
        {
            if (arg.StartsWith("path="))
            {
                exportPath = arg.Split("="[0])[1];
                break;
            }
        }
        if (exportPath == "")
        {
            Debug.LogError("<color=red>Build Error : export path is null</color>");
            return("");
        }
        return(exportPath);
    }
    public void Start()
    {
        //Init LuaBinding class that demonstrates communication
        LuaBinding binding = new LuaBinding();

        //Init instance of Lua virtual machine (Note: Can only init ONCE)
        luaVirtualMachine = new Lua();
        //Tell Lua about the LuaBinding object to allow Lua to call C# functions
        luaVirtualMachine["luabinding"] = binding;

        //test luabinding test
        LuaBindingTest bindingTest = LuaBindingTest.SharedInstance();
        bindingTest.name = "name1";
        luaVirtualMachine["LuaBindingTest"] = bindingTest;
        //luaVirtualMachine[""] = ;

        //Debug.LogError("LuaManager: " + Application.persistentDataPath);

        //Run the code contained within the file
        #if UNITY_ANDROID
        luaVirtualMachine.DoFile("/sdcard/Download/"+LuaFileToLoad);
        #else
        luaVirtualMachine.DoFile(Application.streamingAssetsPath+"/"+LuaFileToLoad);
        #endif
        //Trigger binding in c# to call the bound Lua function

        binding.MessageToLua();
        TestStaticFunction();
    }
Ejemplo n.º 3
0
    public void Start()
    {
        //Init LuaBinding class that demonstrates communication
        LuaBinding binding = new LuaBinding();

        //Init instance of Lua virtual machine (Note: Can only init ONCE)
        luaVirtualMachine = new Lua();
        //Tell Lua about the LuaBinding object to allow Lua to call C# functions
        luaVirtualMachine["luabinding"] = binding;

        //test luabinding test
        LuaBindingTest bindingTest = LuaBindingTest.SharedInstance();

        bindingTest.name = "name1";
        luaVirtualMachine["LuaBindingTest"] = bindingTest;
        //luaVirtualMachine[""] = ;

        //Debug.LogError("LuaManager: " + Application.persistentDataPath);

        //Run the code contained within the file
#if UNITY_ANDROID
        luaVirtualMachine.DoFile("/sdcard/Download/" + LuaFileToLoad);
#else
        luaVirtualMachine.DoFile(Application.streamingAssetsPath + "/" + LuaFileToLoad);
#endif
        //Trigger binding in c# to call the bound Lua function

        binding.MessageToLua();
        TestStaticFunction();
    }
Ejemplo n.º 4
0
        private void OnEnable()
        {
            binding = target as LuaBinding;
            var luaPathProp = serializedObject.FindProperty("LuaFile");

            if (string.IsNullOrEmpty(luaPathProp.stringValue) || !File.Exists(Application.dataPath + "/Resources/Lua/" + luaPathProp.stringValue + ".lua"))
            {
                return;
            }

            descriptor = LuaClassEditorFactory.GetDescriptorWithFilePath(luaPathProp.stringValue);
        }
Ejemplo n.º 5
0
    public void Start()
    {
        //Init LuaBinding class that demonstrates communication
        LuaBinding binding = new LuaBinding();

        //Init instance of Lua virtual machine (Note: Can only init ONCE)
        luaVirtualMachine = new Lua();
        //Tell Lua about the LuaBinding object to allow Lua to call C# functions
        luaVirtualMachine["luabinding"] = binding;
        //Run the code contained within the file
        luaVirtualMachine.DoFile(Application.streamingAssetsPath + "/" + LuaFileToLoad);
        //Trigger binding in c# to call the bound Lua function
        binding.MessageToLua();
    }
    public void Start()
    {
        //Init LuaBinding class that demonstrates communication
        LuaBinding binding = new LuaBinding();

        //Init instance of Lua virtual machine (Note: Can only init ONCE)
        luaVirtualMachine = new Lua();
        //Tell Lua about the LuaBinding object to allow Lua to call C# functions
        luaVirtualMachine["luabinding"] = binding;
        //Run the code contained within the file
        luaVirtualMachine.DoFile(Application.streamingAssetsPath+"/"+LuaFileToLoad);
        //Trigger binding in c# to call the bound Lua function
        binding.MessageToLua();
    }
Ejemplo n.º 7
0
        void InitLua()
        {
            //Init LuaBinding class that demonstrates communication
            LuaBinding   binding = new LuaBinding();
            DebugBinding debug   = new DebugBinding();

            //Init instance of Lua virtual machine (Note: Can only init ONCE)
            luaVM = new Lua();
            luaVM.DoFile(Application.streamingAssetsPath + Path.DirectorySeparatorChar + "vm.lua");
            //Tell Lua about the LuaBinding object to allow Lua to call C# functions
            luaVM["luabinding"] = binding;
            luaVM["debug"]      = debug;

            //Run the code contained within the file
            luaVM.DoFile(Application.streamingAssetsPath + "/" + "luademo.lua");

            //Trigger binding in c# to call the bound Lua function
            binding.MessageToLua();
        }
Ejemplo n.º 8
0
    public void OnGUI()
    {
        //GUI.DrawTexture(this.mWelcomeScreenImageRect, this.mWelcomeScreenImage);
        GUI.Label(this.mWelcomeIntroRect, "欢迎使用ulua,它基于CSTOLUA,将C#类注册进Lua。入门步骤如下:");
        GUI.DrawTexture(this.mSamplesImageRect, this.mSamplesImage);
        GUI.Label(this.mSamplesHeaderRect, "新手入门 - 生成Wrap文件(必须)");
        GUI.Label(this.mSamplesDescriptionRect, "单击Lua菜单里面Gen Lua Wrap File子菜单.");
        GUI.DrawTexture(this.mDocImageRect, this.mDocImage);
        GUI.Label(this.mDocHeaderRect, "新手入门 - 下载演示框架DEMO SimpleFramework");
        GUI.Label(this.mDocDescriptionRect, "单击链接下载:https://github.com/jarjin/");
        GUI.DrawTexture(this.mVideoImageRect, this.mVideoImage);
        GUI.Label(this.mVideoHeaderRect, "新手入门 - 改完注册到Lua的C#类,需清除文件缓存,重新生成");
        GUI.Label(this.mVideoDescriptionRect, "单击Lua菜单里面Clear LuaBinder File + Wrap Files子菜单.");
        GUI.DrawTexture(this.mForumImageRect, this.mForumImage);
        GUI.Label(this.mForumHeaderRect, "新手入门 - Lua需要统一的UTF-8文件编码");
        GUI.Label(this.mForumDescriptionRect, "单击Lua菜单里面Encode LuaFile with UTF-8子菜单.");
        GUI.DrawTexture(this.mContactImageRect, this.mContactImage);
        GUI.Label(this.mContactHeaderRect, " 加入技术支持社群");
        GUI.Label(this.mContactDescriptionRect, "QQ群:434341400 或者 QQ群:62978170");
        GUI.Label(this.mVersionRect, version);

        flag = GUI.Toggle(this.mToggleButtonRect, flag, "开始时候显示对话框");
        if (flag)
        {
            PlayerPrefs.SetInt("ShowWelcomeScreen", 1);
        }
        else
        {
            PlayerPrefs.SetInt("ShowWelcomeScreen", 0);
        }
        EditorGUIUtility.AddCursorRect(this.mSamplesImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mSamplesHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mSamplesDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mDocImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mDocHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mDocDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mVideoImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mVideoHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mVideoDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mForumImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mForumHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mForumDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mContactImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mContactHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mContactDescriptionRect, MouseCursor.Link);
        if (Event.current.type == EventType.MouseUp)
        {
            Vector2 mousePosition = Event.current.mousePosition;
            if ((this.mSamplesImageRect.Contains(mousePosition) || this.mSamplesHeaderRect.Contains(mousePosition)) || this.mSamplesDescriptionRect.Contains(mousePosition))
            {
                LuaBinding.Binding();
            }
            else if ((this.mDocImageRect.Contains(mousePosition) || this.mDocHeaderRect.Contains(mousePosition)) || this.mDocDescriptionRect.Contains(mousePosition))
            {
                Application.OpenURL("https://github.com/jarjin/");
            }
            else if ((this.mVideoImageRect.Contains(mousePosition) || this.mVideoHeaderRect.Contains(mousePosition)) || this.mVideoDescriptionRect.Contains(mousePosition))
            {
                LuaBinding.ClearLuaBinder();
            }
            else if ((this.mForumImageRect.Contains(mousePosition) || this.mForumHeaderRect.Contains(mousePosition)) || this.mForumDescriptionRect.Contains(mousePosition))
            {
                LuaBinding.EncodeLuaFile();
            }
            else if ((this.mContactImageRect.Contains(mousePosition) || this.mContactHeaderRect.Contains(mousePosition)) || this.mContactDescriptionRect.Contains(mousePosition))
            {
                Application.OpenURL("http://shang.qq.com/wpa/qunwpa?idkey=20a9db3bac183720c13a13420c7c805ff4a2810c532db916e6f5e08ea6bc3a8f");
            }
        }
    }
Ejemplo n.º 9
0
    public void OnGUI()
    {
        //GUI.DrawTexture(this.mWelcomeScreenImageRect, this.mWelcomeScreenImage);
        GUI.Label(this.mWelcomeIntroRect, "欢迎使用SimpleFramework,它是个基于uLua/CSTOLUA,\n将C#类注册进Lua,并且附带了AssetBundle管理的演示框架。入门步骤如下:");
        GUI.DrawTexture(this.mSamplesImageRect, this.mSamplesImage);
        GUI.Label(this.mSamplesHeaderRect, "新手入门 - 生成Wrap文件(必须)");
        GUI.Label(this.mSamplesDescriptionRect, "单击Lua菜单里面Gen Lua Wrap File子菜单.");
        GUI.DrawTexture(this.mDocImageRect, this.mDocImage);
        GUI.Label(this.mDocHeaderRect, "新手入门 - 根据不同平台生成AssetBundle资源(必须)");
        GUI.Label(this.mDocDescriptionRect, "单击Game菜单里面Build XXX Resources子菜单.");
        GUI.DrawTexture(this.mVideoImageRect, this.mVideoImage);
        GUI.Label(this.mVideoHeaderRect, "新手入门 - 改完注册到Lua的C#类,需清除文件缓存,重新生成");
        GUI.Label(this.mVideoDescriptionRect, "单击Lua菜单里面Clear LuaBinder File + Wrap Files子菜单.");
        GUI.DrawTexture(this.mForumImageRect, this.mForumImage);
        GUI.Label(this.mForumHeaderRect, "新手入门 - Lua需要统一的UTF-8文件编码");
        GUI.Label(this.mForumDescriptionRect, "单击Lua菜单里面Encode LuaFile with UTF-8子菜单.");
        GUI.DrawTexture(this.mContactImageRect, this.mContactImage);
        GUI.Label(this.mContactHeaderRect, " 加入技术支持社群");
        GUI.Label(this.mContactDescriptionRect, "QQ群:469941220 或者 QQ群:62978170");
        GUI.Label(this.mVersionRect, version);

        flag = GUI.Toggle(this.mToggleButtonRect, flag, "开始时候显示对话框");
        if (flag)
        {
            PlayerPrefs.SetInt("ShowWelcomeScreen", 1);
        }
        else
        {
            PlayerPrefs.SetInt("ShowWelcomeScreen", 0);
        }
        EditorGUIUtility.AddCursorRect(this.mSamplesImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mSamplesHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mSamplesDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mDocImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mDocHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mDocDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mVideoImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mVideoHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mVideoDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mForumImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mForumHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mForumDescriptionRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mContactImageRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mContactHeaderRect, MouseCursor.Link);
        EditorGUIUtility.AddCursorRect(this.mContactDescriptionRect, MouseCursor.Link);
        if (Event.current.type == EventType.MouseUp)
        {
            Vector2 mousePosition = Event.current.mousePosition;
            if ((this.mSamplesImageRect.Contains(mousePosition) || this.mSamplesHeaderRect.Contains(mousePosition)) || this.mSamplesDescriptionRect.Contains(mousePosition))
            {
                LuaBinding.Binding();
            }
            else if ((this.mDocImageRect.Contains(mousePosition) || this.mDocHeaderRect.Contains(mousePosition)) || this.mDocDescriptionRect.Contains(mousePosition))
            {
                if (Application.platform == RuntimePlatform.WindowsEditor)
                {
                    Packager.BuildWindowsResource();
                }
                if (Application.platform == RuntimePlatform.OSXEditor)
                {
                    //Packager.BuildiPhoneResource();
                }
            }
            else if ((this.mVideoImageRect.Contains(mousePosition) || this.mVideoHeaderRect.Contains(mousePosition)) || this.mVideoDescriptionRect.Contains(mousePosition))
            {
                LuaBinding.ClearLuaBinder();
            }
            else if ((this.mForumImageRect.Contains(mousePosition) || this.mForumHeaderRect.Contains(mousePosition)) || this.mForumDescriptionRect.Contains(mousePosition))
            {
                LuaBinding.EncodeLuaFile();
            }
            else if ((this.mContactImageRect.Contains(mousePosition) || this.mContactHeaderRect.Contains(mousePosition)) || this.mContactDescriptionRect.Contains(mousePosition))
            {
                Application.OpenURL("http://shang.qq.com/wpa/qunwpa?idkey=20a9db3bac183720c13a13420c7c805ff4a2810c532db916e6f5e08ea6bc3a8f");
            }
        }
    }
Ejemplo n.º 10
0
 /// <summary>
 /// Sets values corresponding to this particular room.
 /// </summary>
 /// <param name='name'>
 /// The name of this room.
 /// </param>
 /// <param name='description'>
 /// The description of this room.
 /// </param>
 /// <param name='items'>
 /// Any items in this room.
 /// </param>
 /// <param name='neighborRooms'>
 /// All neighboring rooms.
 /// </param>
 protected void SetRoom(string name, string description, string[] items, Dictionary<Direction, string> neighborRooms)
 {
     this.name = name;
     this.description = description;
     this.neighborRooms = neighborRooms;
     this.items = new List<Item> ();
     for (int i = 0; i < items.Length; i++)
     {
         this.items.Add (new Item (items [i]));
     }
     roomBinding = new LuaBinding (name);
     AddObserver (roomBinding);
     allRooms.Add (this.name.ToLower (), this);
 }
Ejemplo n.º 11
0
 public static void RegisterBinding(string name, LuaBinding binding)
 {
     lua [name] = binding;
     registeredBindings.Add (name);
     CheckBindings ();
 }
Ejemplo n.º 12
0
 public static bool QueueFunction(LuaBinding binding, string funcName, object[] param)
 {
     if (registeredBindings.Contains (binding.name))
     {
         return true;
     }
     // This is a bit messy, but basically this keeps track of all functions
     QueuedFunction queuedFunc = new QueuedFunction ();
     queuedFunc.binding = binding;
     queuedFunc.funcName = funcName;
     queuedFunc.param = param;
     queuedFuncs.Add (queuedFunc);
     return false;
 }
Ejemplo n.º 13
0
 private void Awake()
 {
     m_binding            = GetComponent <LuaBinding>();
     m_provideValueMethod = m_binding.CachedClass.GetLuaMethod <GetLuaValue>("ProvideCurrentValue");
 }