當前位置: 首頁>>代碼示例>>C#>>正文


C# Lua.LoadCLRPackage方法代碼示例

本文整理匯總了C#中NLua.Lua.LoadCLRPackage方法的典型用法代碼示例。如果您正苦於以下問題:C# Lua.LoadCLRPackage方法的具體用法?C# Lua.LoadCLRPackage怎麽用?C# Lua.LoadCLRPackage使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在NLua.Lua的用法示例。


在下文中一共展示了Lua.LoadCLRPackage方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: InitEditorState

        private static void InitEditorState(Lua state)
        {
            state.LoadCLRPackage();

            string resName = "WorldSmith.Scripts.WorldsmithImports.lua";

            Assembly asm = Assembly.GetExecutingAssembly();
            using (System.IO.Stream s = asm.GetManifestResourceStream(resName))
            using (System.IO.StreamReader reader = new System.IO.StreamReader(s))
            {
                string data = reader.ReadToEnd();

                state.DoString(data, resName);               
            }

            state["Units"] = DotaData.AllUnits;          
            state["Heroes"] = DotaData.AllHeroes;          
            state["Abilities"] = DotaData.AllAbilities;           
            state["Items"] = DotaData.DefaultItems;
            state["Events"] = DotaData.Events;

            //Bind the DataClass enum
            state.DoString("DataClass = {}");
            state["DataClass.Default"] = DotaDataObject.DataObjectInfo.ObjectDataClass.Default;
            state["DataClass.Override"] = DotaDataObject.DataObjectInfo.ObjectDataClass.Override;
            state["DataClass.Custom"] = DotaDataObject.DataObjectInfo.ObjectDataClass.Custom;


        }
開發者ID:Oplkill,項目名稱:WorldSmith,代碼行數:29,代碼來源:LuaHelper.cs

示例2: Init

        public void Init()
        {
            if (IsInitialized)
                throw new InvalidOperationException("Already Initialized!");

            if (_state != null) _state.Dispose();
            
            _state = new Lua();
            _state.LoadCLRPackage();

            _state.DoString(@"luanet.load_assembly('WGestures.Core');
                              luanet.load_assembly('WindowsInput');
                              luanet.load_assembly('WGestures.Common');

                              GestureModifier=luanet.import_type('WGestures.Core.GestureModifier');  
                              VK=luanet.import_type('WindowsInput.Native.VirtualKeyCode');
                              Native=luanet.import_type('WGestures.Common.OsSpecific.Windows.Native');
                            ", "_init");

            _state["Input"] = Sim.Simulator;
            _state.RegisterFunction("ReportStatus", this, typeof(ScriptCommand).GetMethod("OnReportStatus"));

            if(InitScript != null)
            {
                DoString(InitScript, "Init");
            }
            
            IsInitialized = true;
        }
開發者ID:huipengly,項目名稱:WGestures,代碼行數:29,代碼來源:ScriptCommand.cs

示例3: Start

	void Start()
	{
		lua = new NLua.Lua();
		lua.LoadCLRPackage();
		var method = typeof(Debug).GetMethod("Log", new Type[] { typeof(object) });
		lua.RegisterFunction("print", method);
	}
開發者ID:wuzhangwuzhang,項目名稱:BWM,代碼行數:7,代碼來源:LuaTest.cs

示例4: Awakening

        public bool Awakening()
        {
            spaar.ModLoader.Game.OnSimulationToggle += GameOnOnSimulationToggle;
            spaar.ModLoader.Game.OnLevelWon += GameOnOnLevelWon;
            env = new NLua.Lua();
            env.LoadCLRPackage();
            env["this"] = this; // Give the script access to the gameobject.
            env["transform"] = transform;
            env["gameObject"] = gameObject;
            env["enabled"] = enabled;
            env["useAPI"] = new Action(UseAPI);
            env["disableAPI"] = new Action(DisableAPI);

            if (Settings.useAPI)
            {
                Besiege.SetUp();
                env["besiege"] = Besiege._besiege;
            }
            try
            {
                env.DoString(source);
            }
            catch (NLua.Exceptions.LuaException e)
            {
                Debug.LogError(FormatException(e), context: gameObject);
                return false;
            }
            Call("Awake");
            return true;
        }
開發者ID:L3tum,項目名稱:BesiegeScriptingMod,代碼行數:30,代碼來源:LuaBehaviour.cs

示例5: TestBinaryLoadFile

		public void TestBinaryLoadFile ()
		{
			using (Lua lua = new Lua ()) {
				lua.LoadCLRPackage ();
				if (IntPtr.Size == 4)
					lua.DoFile ("test_32.luac");
				else
					lua.DoFile ("test_64.luac");

				int width = (int)(double)lua ["width"];
				int height = (int)(double)lua ["height"];
				string message = (string)lua ["message"];
				int color_g	= (int)(double)lua ["color.g"];
				LuaFunction func = (LuaFunction)lua ["func"];
				object[] res = func.Call (12, 34);
				int x = (int)(double)res [0];
				int y = (int)(double)res [1];
				//function func(x,y)
				//	return x,x+y
				//end

				Assert.AreEqual (100, width);
				Assert.AreEqual (200, height);
				Assert.AreEqual ("Hello World!", message);
				Assert.AreEqual (20, color_g);
				Assert.AreEqual (12, x);
				Assert.AreEqual (46, y);
			}
		}
開發者ID:mMellowz,項目名稱:revcore,代碼行數:29,代碼來源:LoadFileTests.cs

示例6: ScriptComponent

        public ScriptComponent()
        {
            Family = ComponentFamily.Script;

            lua = new Lua();
            lua.LoadCLRPackage();
        }
開發者ID:MSylvia,項目名稱:space-station-14,代碼行數:7,代碼來源:Script.cs

示例7: Start

        void Start()
        {
			LuaState = new Lua();
			LuaState.LoadUnityExpand();
			LuaState.LoadImportExpand();
			LuaState.LoadCLRPackage("Using");

			LuaState.CallLunaFunction("lunatest.lua", "Start", this.gameObject);
			LuaState.CheckStack();
        }
開發者ID:SD-J,項目名稱:UnityLua,代碼行數:10,代碼來源:LunaExample.cs

示例8: Main

		static void Main (string [] args)
		{
			using (var l = new Lua ()) {
				l.LoadCLRPackage ();
				l.DoString (" import ('ConsoleTest') ");
				l.DoString (@"
						Program.Method (1)
				");
			}
		}
開發者ID:radiaku,項目名稱:NLua,代碼行數:10,代碼來源:Program.cs

示例9: Start

		void Start()
		{
			LuaState = new Lua();
			LuaState.LoadCLRPackage();
			LuaState.LoadUnityExpand();

			var ret = LuaState.DoString(@"return require 'requiretest'");
			TestLib = ret[0] as LuaTable;

			var startCallback = TestLib["Start"] as LuaFunction;
			startCallback.Call(this.gameObject);
		}
開發者ID:SD-J,項目名稱:UnityLua,代碼行數:12,代碼來源:RequireExample.cs

示例10: Awake

    void Awake() {
		env = new Lua();
		env.LoadCLRPackage();
		
		env["this"] = this; // Give the script access to the gameobject.
		env["transform"] = transform;
        env["cube"] = cube;
        env["btnObj"] = btnObj;
        env["Sphere"] = Sphere;
        StartCoroutine(loadLua());
               
	}
開發者ID:hanbim520,項目名稱:UFLua,代碼行數:12,代碼來源:ExampleBehaviour.cs

示例11: Main

		static void Main (string [] args)
		{
			using (var l = new Lua ()) {
				l.LoadCLRPackage ();
				l.DoString (" import ('ConsoleTest', 'NLuaTest.Mock') ");
				l.DoString (@"
						e1 = Entity()
						e2 = Entity ('Another world')
						e3 = Entity (10)
				");
			}
		}
開發者ID:zhangf911,項目名稱:NLua,代碼行數:12,代碼來源:Program.cs

示例12: TestCLRPackage

		public void TestCLRPackage ()
		{
			using (Lua lua = new Lua ()) {
				lua.LoadCLRPackage ();

				lua.DoString ("import ('NLuaTest', 'NLuaTest.Mock') ");
				lua.DoString ("test = TestClass()");
				lua.DoString ("test:setVal(3)");
				object[] res = lua.DoString ("return test");
				TestClass test = (TestClass)res [0];
				Assert.AreEqual (3, test.testval);
			}
		}
開發者ID:BlackNecro,項目名稱:NLua,代碼行數:13,代碼來源:NLuaTests.cs

示例13: TestUseNSUrl

		public void TestUseNSUrl ()
		{
			using (Lua lua = new Lua ()) {
				lua.LoadCLRPackage ();

				lua.DoString ("import ('monotouch', 'MonoTouch.Foundation') ");
				lua.DoString ("testURL = NSUrl('http://nlua.org/?query=param')");
				lua.DoString ("host = testURL.Host");

				object res = lua["host"];
				string host = (string)res;
				Assert.AreEqual ("nlua.org", host);
			}
		}
開發者ID:BlackNecro,項目名稱:NLua,代碼行數:14,代碼來源:NLuaTests.cs

示例14: runLua

 public static void runLua(String code)
 {
     try
     {
         Lua vm = new Lua();
         vm.InstallRunGNatives();
         if (Static.isCLR) vm.LoadCLRPackage();
         vm.DoString(code);
     }
     catch (Exception e)
     {
         log.error("Erro: " + RunGEngine.decipherCatch(e));
         Static.fine = false;
     }
 }
開發者ID:GSharpDevs,項目名稱:RunG,代碼行數:15,代碼來源:RunGEngine.cs

示例15: executeCommand

 /// <summary>
 /// Try to execute a Lua command given in a string
 /// </summary>
 /// <param name="luaCommand"></param>
 public static bool executeCommand(string luaCommand)
 {
     Lua lua = new Lua();
     lua.LoadCLRPackage();
     lua.DoString(@" import ('TextRPG', 'TextRPG')
        import ('System') ");
     try {
         lua.DoString(luaCommand);
         return true;
     }
     catch (Exception e)
     {
         return false;
     }
 }
開發者ID:Gokimster,項目名稱:Dissertation,代碼行數:19,代碼來源:LuaManager.cs


注:本文中的NLua.Lua.LoadCLRPackage方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。