MCPcopy Create free account
hub / github.com/9chu/LuaSTGPlus / RemoveResource

Method RemoveResource

LuaSTGPlus/LuaWrapper.cpp:1030–1078  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1028 return 2;
1029 }
1030 static int RemoveResource(lua_State* L)LNOEXCEPT
1031 {
1032 ResourcePoolType t;
1033 const char* s = luaL_checkstring(L, 1);
1034 if (strcmp(s, "global") == 0)
1035 t = ResourcePoolType::Global;
1036 else if (strcmp(s, "stage") == 0)
1037 t = ResourcePoolType::Stage;
1038 else if (strcmp(s, "none") != 0)
1039 t = ResourcePoolType::None;
1040 else
1041 return luaL_error(L, "invalid argument #1 for 'RemoveResource', requires 'stage', 'global' or 'none'.");
1042
1043 if (lua_gettop(L) == 1)
1044 {
1045 switch (t)
1046 {
1047 case ResourcePoolType::Stage:
1048 LRES.GetResourcePool(ResourcePoolType::Stage)->Clear();
1049 LINFO("关卡资源池已清空");
1050 break;
1051 case ResourcePoolType::Global:
1052 LRES.GetResourcePool(ResourcePoolType::Global)->Clear();
1053 LINFO("全局资源池已清空");
1054 break;
1055 default:
1056 break;
1057 }
1058 }
1059 else
1060 {
1061 ResourceType tResourceType = static_cast<ResourceType>(luaL_checkint(L, 2));
1062 const char* tResourceName = luaL_checkstring(L, 3);
1063
1064 switch (t)
1065 {
1066 case ResourcePoolType::Stage:
1067 LRES.GetResourcePool(ResourcePoolType::Stage)->RemoveResource(tResourceType, tResourceName);
1068 break;
1069 case ResourcePoolType::Global:
1070 LRES.GetResourcePool(ResourcePoolType::Global)->RemoveResource(tResourceType, tResourceName);
1071 break;
1072 default:
1073 break;
1074 }
1075 }
1076
1077 return 0;
1078 }
1079 static int CheckRes(lua_State* L)LNOEXCEPT
1080 {
1081 ResourceType tResourceType = static_cast<ResourceType>(luaL_checkint(L, 1));

Callers

nothing calls this directly

Calls 2

GetResourcePoolMethod · 0.80
ClearMethod · 0.45

Tested by

no test coverage detected