private void register_common_libs() { LuaThread.LoadLibs(_luaState); LuaSystemLib.Load(_luaState); // <-- @todo この書式に統一したい LuaGameObject.RegisterClass(_luaState); LuaComponentBehaviour.RegisterClass(_luaState); LuaComponentTransform.RegisterClass(_luaState); LuaComponentRectTransform.RegisterClass(_luaState); LuaComponentUI.RegisterClass(_luaState); LuaMathf.LoadLibs(_luaState); LuaUtilLib.Load(_luaState); }
// @class Resources // @desc GameObjectをロードします // @decl GameObject load_game_object(prefabname) // @param prefabname プレハブのパス // @return GameObject // @note これで取得した GameObject は transform 等を編集することは出来ません。 // @note また GameObject.is_prefab が真になっています。 // @sample local g = Resources.load_game_object("HOGE") // @sample print(g.is_prefab) -- <-- true // @sample local newg = GameObject.instantiate(g) // @sample print(newg.is_prefab) -- <-- false // @see GameObject.instantiate private static int L_load_game_object(ILuaState lua) { lua.L_CheckType(1, LuaType.LUA_TSTRING); GameObject obj = Resources.Load <GameObject>(lua.ToString(1)); if (obj == null) { lua.PushNil(); } else { LuaGameObject.PushNewAsPrefab(lua, obj); } return(1); }
// @desc Transform.Find() // @decl GameObject find(self, name) // @param name 名前 or パス // @result 見つかったGameObject private static int L_find(ILuaState lua) { check_identifier(lua, 1, klassName); Transform trs = get_internal <Transform>(lua, 1); Transform child = trs.Find(lua.ToString(2)); if (child != null) { LuaGameObject.PushNew(lua, child.gameObject); } else { lua.PushNil(); } return(1); }