fixed #398
This commit is contained in:
parent
8db1501523
commit
c0ed854f98
@ -12,8 +12,7 @@ namespace cheat::feature
|
||||
}
|
||||
|
||||
PaimonFollow::PaimonFollow() : Feature(),
|
||||
NFEX(f_Enabled, "Paimon Follow", "PaimonFollow", "Visuals", false, false),
|
||||
toBeUpdate(), nextUpdate(0)
|
||||
NFEX(f_Enabled, "Paimon Follow", "PaimonFollow", "Visuals", false, false)
|
||||
{
|
||||
events::GameUpdateEvent += MY_METHOD_HANDLER(PaimonFollow::OnGameUpdate);
|
||||
}
|
||||
@ -48,31 +47,32 @@ namespace cheat::feature
|
||||
|
||||
void PaimonFollow::OnGameUpdate()
|
||||
{
|
||||
if (!f_Enabled)
|
||||
return;
|
||||
UPDATE_DELAY(100);
|
||||
|
||||
auto currentTime = util::GetCurrentTimeMillisec();
|
||||
if (currentTime < nextUpdate)
|
||||
return;
|
||||
|
||||
if (GameObject::Paimon == nullptr) {
|
||||
GameObject::Paimon = app::GameObject_Find(string_to_il2cppi("/EntityRoot/OtherGadgetRoot/NPC_Guide_Paimon(Clone)"), nullptr);
|
||||
}
|
||||
|
||||
if (GameObject::ProfileLayer == nullptr) {
|
||||
if (f_Enabled)
|
||||
{
|
||||
GameObject::Paimon = app::GameObject_Find(string_to_il2cppi("/EntityRoot/OtherGadgetRoot/NPC_Guide_Paimon(Clone)"), nullptr);
|
||||
if (GameObject::Paimon == nullptr)
|
||||
return;
|
||||
|
||||
GameObject::ProfileLayer = app::GameObject_Find(string_to_il2cppi("/Canvas/Pages/PlayerProfilePage"), nullptr);
|
||||
}
|
||||
|
||||
if (GameObject::Paimon != nullptr && GameObject::ProfileLayer != nullptr) {
|
||||
auto ProfileOpen = app::GameObject_get_active(GameObject::ProfileLayer, nullptr);
|
||||
if (GameObject::ProfileLayer == nullptr)
|
||||
return;
|
||||
|
||||
if (ProfileOpen) {
|
||||
app::GameObject_set_active(GameObject::Paimon, false, nullptr);
|
||||
}
|
||||
else {
|
||||
app::GameObject_set_active(GameObject::Paimon, true, nullptr);
|
||||
if (GameObject::Paimon->fields._.m_CachedPtr != nullptr && GameObject::ProfileLayer->fields._.m_CachedPtr != nullptr)
|
||||
{
|
||||
auto ProfileOpen = app::GameObject_get_active(GameObject::ProfileLayer, nullptr);
|
||||
|
||||
if (ProfileOpen)
|
||||
app::GameObject_set_active(GameObject::Paimon, false, nullptr);
|
||||
else
|
||||
app::GameObject_set_active(GameObject::Paimon, true, nullptr);
|
||||
}
|
||||
}
|
||||
nextUpdate = currentTime + (int)f_DelayUpdate;
|
||||
else
|
||||
{
|
||||
GameObject::Paimon == nullptr;
|
||||
GameObject::ProfileLayer == nullptr;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
#pragma once
|
||||
#include <cheat-base/cheat/Feature.h>
|
||||
#include <cheat-base/config/config.h>
|
||||
#include <cheat-base/thread-safe.h>
|
||||
|
||||
namespace cheat::feature
|
||||
{
|
||||
@ -16,9 +15,6 @@ namespace cheat::feature
|
||||
virtual bool NeedStatusDraw() const override;
|
||||
void DrawStatus() override;
|
||||
private:
|
||||
SafeQueue<uint32_t> toBeUpdate;
|
||||
SafeValue<int64_t> nextUpdate;
|
||||
int f_DelayUpdate = 100;
|
||||
|
||||
void OnGameUpdate();
|
||||
PaimonFollow();
|
||||
|
Loading…
Reference in New Issue
Block a user