/// <summary>
        /// 글로벌 필드의 배열에 있는 문자열을 경로로 삼아 각각 스크립트 파일 실행, 결과 테이블을 얻어와 dictionary에 넣는다.
        /// </summary>
        /// <param name="globalName"></param>
        /// <param name="tableList"></param>
        ScriptTableList LoadScriptTableArray(string globalName)
        {
            var tableList	= new ScriptTableList();

            foreach(var entry in m_engine.Globals.Get(globalName).Table.Values)
            {
                tableList.AddScriptTable(new ScriptTable(m_engine.DoFile(entry.String).Table));
            }
            return tableList;
        }
        /// <summary>
        /// 초기화
        /// </summary>
        public void Initialize()
        {
            try
            {
                m_engine		= new Script();						// 엔진 인스턴스 초기화
                m_engine.Options.DebugPrint	= (s) =>				// lua의 print 아웃풋 설정
                    {
                        Debug.Log("[LUA Print] " + s);
                    };

                m_engine.DoFile(c_entryScript);						// 시작 스크립트 실행

                // Lua 테이블 가져오기
                m_tablePlayer			= LoadSingleScriptTable(c_field_playerScript);
                m_tableEmperor			= LoadSingleScriptTable(c_field_emperorScript);
                m_tableIndivdualList	= LoadScriptTableArray(c_field_individualScripts);
                m_tableFactionList		= LoadScriptTableArray(c_field_factionScripts);

                m_tableActivityList		= LoadScriptTableArray(c_field_activityScripts);
                m_tableItemList			= LoadScriptTableArray(c_field_itemScripts);
                m_tableEventList		= LoadScriptTableArray(c_field_eventScripts);

                m_gameTable				= DynValue.NewTable(m_engine).Table;	// 게임 오브젝트 테이블
                m_engine.Globals["Game"]	= m_gameTable;
            }

            catch(ScriptRuntimeException ex)
            {
                HandleScriptError(ex);
            }
        }