ksys/act: Finish Query

This commit is contained in:
Léo Lam
2021-06-21 14:53:52 +02:00
parent 952a40d472
commit 4f2f4ede4f
3 changed files with 42 additions and 7 deletions
+33
View File
@@ -1,4 +1,5 @@
#include "KingSystem/ActorSystem/actAiQuery.h"
#include <evfl/Param.h>
#include "KingSystem/ActorSystem/actActor.h"
#include "KingSystem/ActorSystem/actActorParam.h"
#include "KingSystem/ActorSystem/actAiClassDef.h"
@@ -70,6 +71,38 @@ bool Query::getDynamicParam(bool** value, const sead::SafeString& param) const {
return ret != nullptr;
}
bool Query::loadString(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
ore::StringView value;
if (!accessor.FindString(&value, param.cstr()))
return false;
return mParamPack.setString(value.data(), param);
}
bool Query::loadInt(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
int value;
if (!accessor.FindInt(&value, param.cstr()))
return false;
return mParamPack.setVariable(param, AIDefParamType::Int, value);
}
bool Query::loadFloat(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
float value;
if (!accessor.FindFloat(&value, param.cstr()))
return false;
return mParamPack.setVariable(param, AIDefParamType::Float, value);
}
bool Query::loadBool(const evfl::ParamAccessor& accessor, const sead::SafeString& param) {
bool value;
if (!accessor.FindBool(&value, param.cstr()))
return false;
return mParamPack.setVariable(param, AIDefParamType::Bool, value);
}
bool Query::getAITreeVariable(sead::SafeString** value, const sead::SafeString& param) const {
return mActor->getRootAi()->getAITreeVariable(value, param);
}