Repository navigation
Expand file tree
/
Copy pathGovernorManager.cpp
More file actions
64 lines (52 loc) · 2.57 KB
/
Copy pathGovernorManager.cpp
File metadata and controls
64 lines (52 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "GovernorManager.h"
#include "PlayerGovernors.h"
#include "Player.h"
#include "Runtime.h"
namespace GovernorManager {
int lChangeTurnsToEstablishDelay(hks::lua_State* L) {
int playerId = hks::checkplayerid(L, 1);
int governorHash = hks::checkinteger(L, 2);
int amount = hks::checkinteger(L, 3);
bool updateUi = hks::toboolean(L, 4);
if (updateUi) {
PlayerGovernors::Cache::ChangeTurnsToEstablishDelay(PlayerGovernors::Cache::EditGovernors(Player::Cache::GetPlayer(playerId)), governorHash, amount);
}
PlayerGovernors::ChangeTurnsToEstablishDelay(PlayerGovernors::Edit(playerId), governorHash, amount);
return 0;
}
int lSetTurnsToEstablishDelay(hks::lua_State* L) {
int playerId = hks::checkplayerid(L, 1);
int governorHash = hks::checkinteger(L, 2);
int amount = hks::checkinteger(L, 3);
bool updateUi = hks::toboolean(L, 4);
if (updateUi) {
PlayerGovernors::Cache::ChangeTurnsToEstablishDelay(PlayerGovernors::Cache::EditGovernors(Player::Cache::GetPlayer(playerId)), governorHash, amount);
}
PlayerGovernors::SetTurnsToEstablishDelay(PlayerGovernors::Edit(playerId), governorHash, amount);
return 0;
}
int lGetTurnsToEstablishDelay(hks::lua_State* L) {
int playerId = hks::checkplayerid(L, 1);
int governorHash = hks::checkinteger(L, 2);
bool ui = hks::toboolean(L, 3);
if (!ui) {
PlayerGovernors::Governors* governors = PlayerGovernors::Edit(playerId);
hks::pushinteger(L, PlayerGovernors::GetTurnsToEstablishDelay(governors, governorHash));
}
else {
Player::Cache::Instance* cachePlayer = Player::Cache::GetPlayer(playerId);
PlayerGovernors::Cache::Governors* cacheGovernors = PlayerGovernors::Cache::EditGovernors(cachePlayer);
hks::pushinteger(L, PlayerGovernors::Cache::GetTurnsToEstablish(cacheGovernors, governorHash));
}
return 1;
}
int Register(hks::lua_State* L) {
std::cout << "Registering GovernorManager!\n";
hks::createtable(L, 0, 3);
PushLuaMethod(L, lChangeTurnsToEstablishDelay, "lChangeTurnsToEstablishDelay", -2, "ChangeTurnsToEstablishDelay");
PushLuaMethod(L, lGetTurnsToEstablishDelay, "lGetTurnsToEstablishDelay", -2, "GetTurnsToEstablishDelay");
PushLuaMethod(L, lSetTurnsToEstablishDelay, "lSetTurnsToEstablishDelay", -2, "SetTurnsToEstablishDelay");
hks::setfield(L, hks::LUA_GLOBAL, "GovernorManager");
return 0;
}
}