Revert "Reduces some overhead from creating AngelScript array for Pokemon.GetTypes()"
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This reverts commit cec9f090
, as it doesn't account for multiple different script engines
This commit is contained in:
parent
cec9f0907f
commit
e04ab6497a
|
@ -53,25 +53,20 @@ void RegisterPokemonClass::RegisterLearnedAttack(asIScriptEngine* engine) {
|
||||||
|
|
||||||
ENUM__SIZE_WRAPPER(Pkmn_GenderWrapper, PkmnLib::Battling::Pokemon, GetGender)
|
ENUM__SIZE_WRAPPER(Pkmn_GenderWrapper, PkmnLib::Battling::Pokemon, GetGender)
|
||||||
|
|
||||||
|
CScriptArray* GetTypes(const PkmnLib::Battling::Pokemon* obj) {
|
||||||
static asITypeInfo* _uint8TypeInfo = nullptr;
|
|
||||||
static CScriptArray* GetTypes(const PkmnLib::Battling::Pokemon* obj) {
|
|
||||||
if (_uint8TypeInfo == nullptr){
|
|
||||||
asIScriptContext* ctx = asGetActiveContext();
|
asIScriptContext* ctx = asGetActiveContext();
|
||||||
if (!ctx) {
|
if (ctx) {
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
asIScriptEngine* engine = ctx->GetEngine();
|
asIScriptEngine* engine = ctx->GetEngine();
|
||||||
_uint8TypeInfo = engine->GetTypeInfoByDecl("array<uint8>");
|
asITypeInfo* t = engine->GetTypeInfoByDecl("array<uint8>");
|
||||||
}
|
|
||||||
|
|
||||||
auto a = obj->GetTypes();
|
auto a = obj->GetTypes();
|
||||||
CScriptArray* arr = CScriptArray::Create(_uint8TypeInfo, a.size());
|
CScriptArray* arr = CScriptArray::Create(t, a.size());
|
||||||
for (size_t i = 0; i < a.size(); i++){
|
for (size_t i = 0; i < a.size(); i++){
|
||||||
arr->SetValue(i, &a[i]);
|
arr->SetValue(i, &a[i]);
|
||||||
}
|
}
|
||||||
return arr;
|
return arr;
|
||||||
}
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void RegisterPokemonClass::RegisterPokemonType(asIScriptEngine* engine) {
|
void RegisterPokemonClass::RegisterPokemonType(asIScriptEngine* engine) {
|
||||||
[[maybe_unused]] int r = engine->RegisterObjectType("Pokemon", 0, asOBJ_REF | asOBJ_NOCOUNT);
|
[[maybe_unused]] int r = engine->RegisterObjectType("Pokemon", 0, asOBJ_REF | asOBJ_NOCOUNT);
|
||||||
|
|
Loading…
Reference in New Issue