#include "BankInteractServer.h"
#include "GameMessages.h"

void BankInteractServer::OnUse(Entity* self, Entity* user) 
{
    AMFArrayValue args;
    AMFStringValue* bank = new AMFStringValue();
    bank->SetStringValue("bank");
    args.InsertValue("state", bank);

    GameMessages::SendUIMessageServerToSingleClient(user, user->GetSystemAddress(), "pushGameState", &args);

    delete bank;
}

void BankInteractServer::OnFireEventServerSide(Entity *self, Entity *sender, std::string args, int32_t param1,
                                               int32_t param2, int32_t param3)
{
    if (args == "ToggleBank")
    {
        AMFArrayValue args;
        AMFFalseValue* amfFalse = new AMFFalseValue();
        args.InsertValue("visible", amfFalse);

        GameMessages::SendUIMessageServerToSingleClient(sender, sender->GetSystemAddress(), "ToggleBank", &args);

        delete amfFalse;

        GameMessages::SendNotifyClientObject(self->GetObjectID(), u"CloseBank", 0, 0, LWOOBJID_EMPTY, "", sender->GetSystemAddress());
    }
}