본문 바로가기
  • fishing...
  • eating...
MISCELLANEOUSNESS

C#] C#에서 Lua로 데이터 전달하기.

by 회색뿔 2010. 7. 25.


C#과 LUA의 연동 방법은 아래 글을 참고 하시면 되겠습니다.^^




linkage.cs
데이터의 전달은 다음과 같이 하시면 되겠습니다.
LuaState[ "{[변수명]}" ] = [전달할 대이터];

이렇게 스크립트에서 사용할 Data를 전해 주고 DoFile을 이용하여 Script를 실행하면 스크립트안에서 내용을 Data를 확일 할 수 있습니다.

        public void dataLinkage()
        {
            try
            {
                LuaState["num"] = QuestList;
                LuaState.DoFile("linkage.lua");
            }
            catch (Exception e)
            {
            }
            finally
            {
            }
        }

linkage.lua
luanet.load_assembly( "[네임 스페이스]" )
luanet.import_type 사용하고자하는 datatype을 import 시키고 이 구조체(클래스)정보를 저장합니다. (이 예제에서는 사용하고 있지 않습니다.)
luanet.load_assembly("WndLuaTest")
luanet.load_assembly("AladdinData.AI")
Quest = luanet.import_type("AladdinData.AI.Quest")

for indx = 0, num.count, 1 do
	num[indx].QuestName = indx;
	num[indx].QuestDescription = "Linkage Test";
end

다음은 연동 실행 전과 실 행 후의 내용이다. 위의 lua script의 내용을 보며 왜 결과가 저렇게 바뀌었는지 알 수 있습니다.




'MISCELLANEOUSNESS' 카테고리의 다른 글

File I/O Example.  (0) 2010.08.09
스타 크래프트2 - 기다림은 끝났다.  (2) 2010.07.15
C# - ERROR] BadImageFormatException  (0) 2010.07.10